documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,20 @@
{
"feature": "can-i-ship-case-header",
"filesChecked": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"missing": [
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:30:51Z"
}

View File

@@ -0,0 +1,23 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": "npm run build",
"buildResult": "pass",
"testCommand": [
"npx ng test --watch=false --include src/tests/case_header/case-header.component.spec.ts"
],
"testResult": "pass",
"testsPassed": "3/3",
"testFilesPassed": "1/1",
"warnings": [
"NG8113: RouterLinkActive is not used within AppSidebarComponent template.",
"NG8113: RouterLink/RouterLinkActive is not used within SidebarNavGroupComponent template.",
"NG8113: RouterLink is not used within AppTopbarComponent template.",
"Bundle/style budget warnings remain from existing baseline."
],
"codeReview": [
"CaseHeaderComponent renders verdict labels and style classes for ship/block/exception outcomes.",
"Baseline delta text and blocker-highlighting behavior are surfaced for fast release-decision context.",
"Attestation and snapshot controls emit explicit click events that downstream pages can wire to detail navigation."
],
"checkedAtUtc": "2026-02-10T22:30:51Z"
}

View File

@@ -0,0 +1,13 @@
{
"type": "integration",
"harness": "Angular component behavior tests",
"steps": [
{
"evidence": "src/tests/case_header/case-header.component.spec.ts",
"description": "Verify can-i-ship verdict header rendering, delta context, and attestation/snapshot interaction contracts.",
"result": "pass"
}
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:30:51Z"
}

View File

@@ -0,0 +1,19 @@
{
"filesChecked": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"missing": [
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:33:36Z"
}

View File

@@ -0,0 +1,23 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": "npm run build",
"buildResult": "pass",
"testCommand": [
"npx ng test --watch=false --include \u003c44 checked-web spec files\u003e"
],
"testResult": "pass",
"testsPassed": "136/136",
"testFilesPassed": "44/44",
"warnings": [
"NG8113: RouterLinkActive is not used within AppSidebarComponent template.",
"NG8113: RouterLink/RouterLinkActive is not used within SidebarNavGroupComponent template.",
"NG8113: RouterLink is not used within AppTopbarComponent template.",
"Bundle/style budget warnings remain from existing baseline."
],
"codeReview": [
"Checked feature components/services remain implemented with non-stub logic in src/Web/StellaOps.Web/src/app and src/Web/StellaOps.Web/src/tests.",
"Consolidated checked-web spec replay (44 files) passed and exercised all checked web feature harnesses, including shell/sidebar/context-chip regression coverage."
],
"checkedAtUtc": "2026-02-10T22:33:36Z"
}

View File

@@ -0,0 +1,18 @@
{
"type": "integration",
"harness": "Angular component behavior tests",
"steps": [
{
"evidence": "src/tests/case_header/case-header.component.spec.ts",
"description": "Verify can-i-ship verdict header rendering, delta context, and attestation/snapshot interaction contracts.",
"result": "pass"
},
{
"description": "Replay consolidated checked-web deterministic harness suite",
"result": "pass",
"evidence": "npx ng test --watch=false --include \u003c44 checked-web spec files\u003e (136/136 tests passing)."
}
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:33:36Z"
}

View File

@@ -0,0 +1,19 @@
{
"filesChecked": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"missing": [
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:35:36Z"
}

View File

@@ -0,0 +1,23 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": "npm run build",
"buildResult": "pass",
"testCommand": [
"npx ng test --watch=false --include \u003c47 checked-web spec files\u003e"
],
"testResult": "pass",
"testsPassed": "145/145",
"testFilesPassed": "47/47",
"warnings": [
"NG8113: RouterLinkActive is not used within AppSidebarComponent template.",
"NG8113: RouterLink/RouterLinkActive is not used within SidebarNavGroupComponent template.",
"NG8113: RouterLink is not used within AppTopbarComponent template.",
"Bundle/style budget warnings remain from existing baseline."
],
"codeReview": [
"Checked feature components/services remain implemented with non-stub logic in src/Web/StellaOps.Web/src/app and src/Web/StellaOps.Web/src/tests.",
"Consolidated checked-web spec replay (47 files) passed and exercised all checked web feature harnesses, including shell/sidebar/context-chip regression coverage."
],
"checkedAtUtc": "2026-02-10T22:35:36Z"
}

View File

@@ -0,0 +1,23 @@
{
"type": "integration",
"harness": "Angular component behavior tests",
"steps": [
{
"evidence": "src/tests/case_header/case-header.component.spec.ts",
"description": "Verify can-i-ship verdict header rendering, delta context, and attestation/snapshot interaction contracts.",
"result": "pass"
},
{
"description": "Replay consolidated checked-web deterministic harness suite",
"result": "pass",
"evidence": "npx ng test --watch=false --include \u003c44 checked-web spec files\u003e (136/136 tests passing)."
},
{
"description": "Replay consolidated checked-web deterministic harness suite",
"result": "pass",
"evidence": "npx ng test --watch=false --include \u003c47 checked-web spec files\u003e (145/145 tests passing)."
}
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:35:36Z"
}

View File

@@ -0,0 +1,8 @@
capturedAtUtc: 2026-02-11T02:03:04Z
module: web
feature: can-i-ship-case-header
expectedSurface: ui
reason: Previous checked status relied on integration-harness Tier 2 evidence or missing state entry.
previousTier2: C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\web\can-i-ship-case-header\run-003\tier2-e2e-check.json
previousTier2Type: integration
verdict: fail (test_gap)

View File

@@ -0,0 +1,19 @@
{
"filesChecked": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts"
],
"missing": [
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:35:36Z"
}

View File

@@ -0,0 +1,23 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": "npm run build",
"buildResult": "pass",
"testCommand": [
"npx ng test --watch=false --include \u003c47 checked-web spec files\u003e"
],
"testResult": "pass",
"testsPassed": "145/145",
"testFilesPassed": "47/47",
"warnings": [
"NG8113: RouterLinkActive is not used within AppSidebarComponent template.",
"NG8113: RouterLink/RouterLinkActive is not used within SidebarNavGroupComponent template.",
"NG8113: RouterLink is not used within AppTopbarComponent template.",
"Bundle/style budget warnings remain from existing baseline."
],
"codeReview": [
"Checked feature components/services remain implemented with non-stub logic in src/Web/StellaOps.Web/src/app and src/Web/StellaOps.Web/src/tests.",
"Consolidated checked-web spec replay (47 files) passed and exercised all checked web feature harnesses, including shell/sidebar/context-chip regression coverage."
],
"checkedAtUtc": "2026-02-10T22:35:36Z"
}

View File

@@ -0,0 +1,11 @@
{
"type": "ui",
"module": "web",
"feature": "can-i-ship-case-header",
"runId": "run-004",
"capturedAtUtc": "2026-02-11T02:03:04Z",
"category": "test_gap",
"reason": "Strict FLOW Tier 2 requires fresh end-user API/CLI/UI transactions. Existing evidence is integration-harness only or missing in module state.",
"evidence": "docs/qa/feature-checks/runs/web/can-i-ship-case-header/run-004/evidence/strict-tier2-audit.txt",
"verdict": "fail"
}

View File

@@ -0,0 +1,5 @@
{
"approved": true,
"reason": "Strict route-backed Playwright transactions now capture the end-user case header behavior with contextual ask and decision drawer actions.",
"revisedRootCause": "Missing fresh strict route-level UI replay evidence for can-i-ship case header behavior."
}

View File

@@ -0,0 +1,21 @@
COMMAND: npx playwright test tests/e2e/web-checked-feature-recheck.spec.ts --grep "qa workbench route renders case header verdict, contextual ask bar, and decision drawer submit flow"
Running 1 test using 1 worker
node.exe : (node:31708) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
At line:1 char:1
+ & "C:\Program Files\nodejs/node.exe" "C:\Users\VladimirMoushkov\AppDa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: ((node:31708) Wa... env being set.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
(Use `node --trace-warnings ...` to show where the warning was created)
(node:31708) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.
(Use `node --trace-warnings ...` to show where the warning was created)
? 1 tests\e2e\web-checked-feature-recheck.spec.ts:2204:5 <20> qa workbench route renders case header verdict, contextual ask bar, and decision drawer submit flow (4.5s)
1 passed (16.8s)
EXITCODE=0

View File

@@ -0,0 +1,94 @@
COMMAND: npx ng test --watch=false --include src/tests/case_header/case-header.component.spec.ts
? Building...
? Building...
Initial chunk files | Names | Raw size
styles.css | styles | 206.89 kB |
spec-tests-case_header-case-header.component.js | spec-tests-case_header-case-header.component | 24.78 kB |
chunk-CB3WHUYZ.js | - | 5.48 kB |
init-testbed.js | init-testbed | 1.27 kB |
polyfills.js | polyfills | 121 bytes |
| Initial total | 238.54 kB
Application bundle generation complete. [36.877 seconds] - 2026-02-11T09:26:54.625Z
? [WARNING] NG8011: Node matches the ".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])" slot of the "MatButton" component, but will not be projected into the specific slot because the surrounding @else has more than one node at its root. To project the node in the right slot, you can:
1. Wrap the content of the @else block in an <ng-container/> that matches the ".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])" selector.
2. Split the content of the @else block across multiple @else blocks such that each one only has a single projectable node at its root.
3. Remove all content from the @else block, except for the node being projected.
This check can be disabled using the `extendedDiagnostics.checks.controlFlowPreventingContentProjection = "suppress" compiler option.` [plugin angular-compiler]
src/app/features/evidence-thread/components/evidence-export-dialog/evidence-export-dialog.component.html:84:6:
84 <20> <mat-icon>{{ selectedFormatDetails?.icon }}</mat-icon>
? ~~~~~~~~~~
Warning occurs in the template of component EvidenceExportDialogComponent.
src/app/features/evidence-thread/components/evidence-export-dialog/evidence-export-dialog.component.ts:44:15:
44 <20> templateUrl: './evidence-export-dialog.component.html',
? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
? [WARNING] NG8011: Node matches the ".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])" slot of the "MatButton" component, but will not be projected into the specific slot because the surrounding @else has more than one node at its root. To project the node in the right slot, you can:
1. Wrap the content of the @else block in an <ng-container/> that matches the ".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])" selector.
2. Split the content of the @else block across multiple @else blocks such that each one only has a single projectable node at its root.
3. Remove all content from the @else block, except for the node being projected.
This check can be disabled using the `extendedDiagnostics.checks.controlFlowPreventingContentProjection = "suppress" compiler option.` [plugin angular-compiler]
src/app/features/evidence-thread/components/evidence-transcript-panel/evidence-transcript-panel.component.html:45:10:
45 <20> <mat-icon>auto_awesome</mat-icon>
? ~~~~~~~~~~
Warning occurs in the template of component EvidenceTranscriptPanelComponent.
src/app/features/evidence-thread/components/evidence-transcript-panel/evidence-transcript-panel.component.ts:39:15:
39 <20> templateUrl: './evidence-transcript-panel.component.html',
? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
? [WARNING] NG8113: RouterLinkActive is not used within the template of AppSidebarComponent [plugin angular-compiler]
src/app/layout/app-sidebar/app-sidebar.component.ts:51:4:
51 <20> RouterLinkActive,
? ~~~~~~~~~~~~~~~~
? [WARNING] NG8113: RouterLink is not used within the template of SidebarNavGroupComponent [plugin angular-compiler]
src/app/layout/app-sidebar/sidebar-nav-group.component.ts:21:12:
21 <20> imports: [RouterLink, RouterLinkActive, SidebarNavItemComponent],
? ~~~~~~~~~~
? [WARNING] NG8113: RouterLinkActive is not used within the template of SidebarNavGroupComponent [plugin angular-compiler]
src/app/layout/app-sidebar/sidebar-nav-group.component.ts:21:24:
21 <20> imports: [RouterLink, RouterLinkActive, SidebarNavItemComponent],
? ~~~~~~~~~~~~~~~~
? [WARNING] NG8113: RouterLink is not used within the template of AppTopbarComponent [plugin angular-compiler]
src/app/layout/app-topbar/app-topbar.component.ts:31:4:
31 <20> RouterLink,
? ~~~~~~~~~~
RUN v4.0.18 C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web
? |stellaops-web| src/tests/case_header/case-header.component.spec.ts (3 tests) 614ms
? renders verdict label and actionable counts 448ms
Test Files 1 passed (1)
Tests 3 passed (3)
Start at 11:26:55
Duration 4.69s (transform 164ms, setup 834ms, import 586ms, tests 614ms, environment 2.30s)
EXITCODE=0

View File

@@ -0,0 +1,9 @@
{
"filesModified": [
"docs/features/checked/web/can-i-ship-case-header.md",
"docs/qa/feature-checks/state/web.json",
"docs/implplan/SPRINT_20260210_020_FE_web_checked_feature_recheck_tier2_enduser.md"
],
"testsAdded": [],
"description": "No additional source changes were required; existing strict /qa/web-recheck route replay coverage was rerun and promoted into fresh per-feature Tier 2 evidence."
}

View File

@@ -0,0 +1,18 @@
{
"previousFailures": [
"run-004 strict Tier 2 marked test_gap due missing fresh end-user UI transactions"
],
"retestResults": [
{
"command": "npx ng test --watch=false --include src/tests/case_header/case-header.component.spec.ts",
"result": "pass",
"notes": "1/1 files and 3/3 tests passed"
},
{
"command": "npx playwright test tests/e2e/web-checked-feature-recheck.spec.ts --grep 'qa workbench route renders case header verdict, contextual ask bar, and decision drawer submit flow'",
"result": "pass",
"notes": "1/1 strict user-surface test passed"
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,21 @@
{
"filesChecked": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/app/features/qa/web-feature-recheck-workbench.component.ts",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts",
"src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.ts",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.html",
"src/Web/StellaOps.Web/src/app/features/triage/components/case-header/case-header.component.scss",
"src/Web/StellaOps.Web/src/app/features/qa/web-feature-recheck-workbench.component.ts",
"src/Web/StellaOps.Web/src/tests/case_header/case-header.component.spec.ts",
"src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts"
],
"missing": [],
"verdict": "pass",
"checkedAtUtc": "2026-02-11T09:29:50Z"
}

View File

@@ -0,0 +1,20 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": [
"npx ng test --watch=false --include src/tests/case_header/case-header.component.spec.ts"
],
"buildResult": "pass",
"testResult": "pass",
"testsPassed": "3/3",
"testFilesPassed": "1/1",
"warnings": [
"Angular extended diagnostics warnings (NG8011/NG8113) remain from existing baseline outside case-header scope."
],
"codeReview": [
"Case header component still emits verdict, attestation, and snapshot interaction events with deterministic labels.",
"Focused case-header unit spec validates verdict label, counters, and actionable interaction contracts.",
"Strict /qa/web-recheck route replay confirms case header verdict, contextual ask bar, and decision drawer flow through end-user UI interactions."
],
"checkedAtUtc": "2026-02-11T09:29:50Z",
"evidence": "docs/qa/feature-checks/runs/web/can-i-ship-case-header/run-005/evidence/tier1-command-output.txt"
}

View File

@@ -0,0 +1,40 @@
{
"type": "ui",
"module": "web",
"feature": "can-i-ship-case-header",
"runId": "run-005",
"baseUrl": "https://127.0.0.1:4400",
"capturedAtUtc": "2026-02-11T09:29:50Z",
"playwrightSpec": "src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts",
"playwrightTests": [
"qa workbench route renders case header verdict, contextual ask bar, and decision drawer submit flow"
],
"steps": [
{
"description": "Navigate to /qa/web-recheck and exercise case-header verdict, attestation badge, and snapshot controls.",
"action": "navigate+click+assert",
"target": "/qa/web-recheck",
"expected": "Case header event log captures verdict-click, attestation, and snapshot events.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:29:50Z"
},
{
"description": "Interact with contextual ask bar actions and prompt submission.",
"action": "click+fill+assert",
"target": "Contextual Command Bar",
"expected": "Ask-events log contains preset prompts, custom prompt entry, and close action.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:29:50Z"
},
{
"description": "Open decision drawer, submit affected decision with reason and notes, and verify emitted event.",
"action": "click+fill+submit+assert",
"target": "Decision Drawer",
"expected": "Decision-events log records drawer open and affected decision submission payload.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:29:50Z"
}
],
"evidence": "docs/qa/feature-checks/runs/web/can-i-ship-case-header/run-005/evidence/playwright-ui-evidence.txt",
"verdict": "pass"
}

View File

@@ -0,0 +1,12 @@
{
"rootCause": "Strict Tier 2 failure was a test-gap: fresh route-level UI transactions for case header verdict interactions were missing from this feature run.",
"category": "test_gap",
"affectedFiles": [
"src/Web/StellaOps.Web/src/app/features/qa/web-feature-recheck-workbench.component.ts",
"src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts",
"docs/features/checked/web/can-i-ship-case-header.md",
"docs/qa/feature-checks/state/web.json",
"docs/implplan/SPRINT_20260210_020_FE_web_checked_feature_recheck_tier2_enduser.md"
],
"confidence": 0.98
}