documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF
This commit is contained in:
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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)
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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."
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user