save checkpoint: save features

This commit is contained in:
master
2026-02-12 10:27:23 +02:00
parent dca86e1248
commit 5bca406787
8837 changed files with 1796879 additions and 5294 deletions

View File

@@ -0,0 +1,8 @@
capturedAtUtc: 2026-02-11T02:03:04Z
module: web
feature: confidence-breakdown-visualization
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\confidence-breakdown-visualization\run-001\tier2-e2e-check.json
previousTier2Type: integration
verdict: fail (test_gap)

View File

@@ -0,0 +1,20 @@
{
"feature": "confidence-breakdown-visualization",
"filesChecked": [
"src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts"
],
"missing": [
],
"verdict": "pass",
"checkedAtUtc": "2026-02-10T22:43:49Z"
}

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/confidence_breakdown/graphviz-renderer.component.spec.ts --include src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts"
],
"testResult": "pass",
"testsPassed": "4/4",
"testFilesPassed": "2/2",
"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": [
"GraphvizRendererComponent lazily loads @viz-js/viz, renders DOT to SVG, and exposes loading/error UI states when rendering fails.",
"MermaidRendererComponent lazily loads Mermaid, validates diagram syntax, and renders SVG with explicit parse and runtime error handling.",
"Focused visualization tests assert both successful SVG rendering and user-visible error-state behavior for invalid/failed diagram flows."
],
"checkedAtUtc": "2026-02-10T22:43:49Z"
}

View File

@@ -0,0 +1,11 @@
{
"type": "ui",
"module": "web",
"feature": "confidence-breakdown-visualization",
"runId": "run-002",
"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/confidence-breakdown-visualization/run-002/evidence/strict-tier2-audit.txt",
"verdict": "fail"
}

View File

@@ -0,0 +1,5 @@
{
"approved": true,
"reason": "Strict route-backed Playwright transactions now cover confidence visualization renderer visibility with replay interaction.",
"revisedRootCause": "Missing fresh strict route-level UI replay evidence for confidence-breakdown user flows."
}

View File

@@ -0,0 +1,21 @@
COMMAND: npx playwright test tests/e2e/web-checked-feature-recheck.spec.ts --grep "qa workbench route renders cgs badge replay and confidence visualization renderers"
Running 1 test using 1 worker
node.exe : (node:36236) 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:36236) Wa... env being set.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
(Use `node --trace-warnings ...` to show where the warning was created)
(node:36236) 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:2244:5 <20> qa workbench route renders cgs badge replay and confidence visualization renderers (1.6s)
1 passed (3.0s)
EXITCODE=0

View File

@@ -0,0 +1,121 @@
COMMAND: npx ng test --watch=false --include src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts --include src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts
? Building...
? Building...
Initial chunk files | Names | Raw size
styles.css | styles | 206.89 kB |
spec-tests-confidence_breakdown-mermaid-renderer.component.js | spec-tests-confidence_breakdown-mermaid-renderer.component | 13.84 kB |
spec-tests-confidence_breakdown-graphviz-renderer.component.js | spec-tests-confidence_breakdown-graphviz-renderer.component | 13.05 kB |
chunk-MK4ANLGU.js | - | 4.98 kB |
init-testbed.js | init-testbed | 1.27 kB |
polyfills.js | polyfills | 121 bytes |
| Initial total | 240.16 kB
Application bundle generation complete. [25.227 seconds] - 2026-02-11T09:40:11.727Z
? [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
stderr | src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts > GraphvizRendererComponent (confidence_breakdown) > surfaces error state when render throws
GraphViz render error: Error: Render failed
at Object.<anonymous> (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts:50:13)
at Object.Mock [as renderSVGElement] (file:///C:/dev/New%20folder/git.stella-ops.org/src/Web/StellaOps.Web/node_modules/@vitest/spy/dist/index.js:285:34)
at _GraphvizRendererComponent.<anonymous> (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts:172:38)
at Generator.next (<anonymous>)
at C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/chunk-MK4ANLGU.js:78:61
at new ZoneAwarePromise (C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:2701:25)
at __async (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/chunk-MK4ANLGU.js:62:10)
at _GraphvizRendererComponent.renderGraph (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/spec-tests-confidence_breakdown-graphviz-renderer.component.js:78:49)
at _GraphvizRendererComponent.<anonymous> (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts:131:16)
at Generator.next (<anonymous>)
stderr | src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts > MermaidRendererComponent (confidence_breakdown) > shows error state when diagram parse fails
Mermaid render error: Error: Invalid diagram syntax
at _MermaidRendererComponent.<anonymous> (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts:198:15)
at Generator.next (<anonymous>)
at fulfilled (C:/dev/New folder/git.stella-ops.org/src/Web/StellaOps.Web/chunk-MK4ANLGU.js:65:24)
at _ZoneDelegate.invoke (C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:398:28)
at Object.onInvoke (file:///C:/dev/New%20folder/git.stella-ops.org/src/Web/StellaOps.Web/node_modules/@angular/core/fesm2022/_untracked-chunk.mjs:2508:25)
at _ZoneDelegate.invoke (C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:397:34)
at ZoneImpl.run (C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:113:43)
at C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:2537:40
at _ZoneDelegate.invokeTask (C:\dev\New folder\git.stella-ops.org\src\Web\StellaOps.Web\node_modules\zone.js\fesm2015\zone.js:431:33)
at AsyncStackTaggingZoneSpec.onInvokeTask (file:///C:/dev/New%20folder/git.stella-ops.org/src/Web/StellaOps.Web/node_modules/@angular/core/fesm2022/_untracked-chunk.mjs:2358:22)
? |stellaops-web| src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts (4 tests) 146ms
? |stellaops-web| src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts (4 tests) 151ms
Test Files 2 passed (2)
Tests 8 passed (8)
Start at 11:40:12
Duration 2.69s (transform 218ms, setup 1.36s, import 100ms, tests 297ms, environment 2.93s)
EXITCODE=0

View File

@@ -0,0 +1,9 @@
{
"filesModified": [
"docs/features/checked/web/confidence-breakdown-visualization.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 replay coverage was rerun and promoted into fresh per-feature Tier 2 evidence."
}

View File

@@ -0,0 +1,18 @@
{
"previousFailures": [
"run-002 strict Tier 2 marked test_gap due missing fresh end-user UI transactions"
],
"retestResults": [
{
"command": "npx ng test --watch=false --include src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts --include src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts",
"result": "pass",
"notes": "2/2 files and 8/8 tests passed"
},
{
"command": "npx playwright test tests/e2e/web-checked-feature-recheck.spec.ts --grep 'qa workbench route renders cgs badge replay and confidence visualization renderers'",
"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/shared/components/visualization/graphviz-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/features/qa/web-feature-recheck-workbench.component.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts",
"src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts"
],
"found": [
"src/Web/StellaOps.Web/src/app/shared/components/visualization/graphviz-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/shared/components/visualization/mermaid-renderer.component.ts",
"src/Web/StellaOps.Web/src/app/features/qa/web-feature-recheck-workbench.component.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts",
"src/Web/StellaOps.Web/src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts",
"src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts"
],
"missing": [],
"verdict": "pass",
"checkedAtUtc": "2026-02-11T09:40:11Z"
}

View File

@@ -0,0 +1,20 @@
{
"project": "src/Web/StellaOps.Web",
"buildCommand": [
"npx ng test --watch=false --include src/tests/confidence_breakdown/graphviz-renderer.component.spec.ts --include src/tests/confidence_breakdown/mermaid-renderer.component.spec.ts"
],
"buildResult": "pass",
"testResult": "pass",
"testsPassed": "8/8",
"testFilesPassed": "2/2",
"warnings": [
"Angular extended diagnostics warnings (NG8011/NG8113) remain from existing baseline outside confidence-breakdown scope."
],
"codeReview": [
"Graphviz and Mermaid renderer components continue to expose deterministic render/error states for confidence factor visualizations.",
"Focused confidence-breakdown specs validate happy path rendering and expected error/fallback handling without regressions.",
"Strict /qa/web-recheck route replay verifies confidence renderer visibility through end-user interactions."
],
"checkedAtUtc": "2026-02-11T09:40:11Z",
"evidence": "docs/qa/feature-checks/runs/web/confidence-breakdown-visualization/run-003/evidence/tier1-command-output.txt"
}

View File

@@ -0,0 +1,40 @@
{
"type": "ui",
"module": "web",
"feature": "confidence-breakdown-visualization",
"runId": "run-003",
"baseUrl": "https://127.0.0.1:4400",
"capturedAtUtc": "2026-02-11T09:40:11Z",
"playwrightSpec": "src/Web/StellaOps.Web/tests/e2e/web-checked-feature-recheck.spec.ts",
"playwrightTests": [
"qa workbench route renders cgs badge replay and confidence visualization renderers"
],
"steps": [
{
"description": "Navigate to /qa/web-recheck and reach confidence visualization section.",
"action": "navigate+assert",
"target": "/qa/web-recheck",
"expected": "Confidence section is visible with deterministic score and replay controls.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:40:11Z"
},
{
"description": "Trigger replay action and confirm confidence evidence transaction logging.",
"action": "click+assert",
"target": "Replay button",
"expected": "Replay event captures confidence-associated hash transaction.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:40:11Z"
},
{
"description": "Verify Graphviz and Mermaid confidence renderers remain visible.",
"action": "assert",
"target": "Confidence factors graph and flow images",
"expected": "Both visualization renderer surfaces are displayed together.",
"result": "pass",
"stepCapturedAtUtc": "2026-02-11T09:40:11Z"
}
],
"evidence": "docs/qa/feature-checks/runs/web/confidence-breakdown-visualization/run-003/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 confidence visualization renderers 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/confidence-breakdown-visualization.md",
"docs/qa/feature-checks/state/web.json",
"docs/implplan/SPRINT_20260210_020_FE_web_checked_feature_recheck_tier2_enduser.md"
],
"confidence": 0.98
}