Files
git.stella-ops.org/docs/features/checked/web/a-b-deploy-diff-panel.md

3.5 KiB

A/B Deploy Diff Panel

Module

Web

Status

VERIFIED

Description

Deploy diff UI provides deterministic A/B SBOM comparison with policy-hit context, loading/error states, and inline release action controls.

As of 2026-03-09 the panel is no longer wired to the dead /api/v1/sbom/diff route. The canonical comparison source is SbomService lineage compare, and the surrounding Releases workspace now degrades to an actionable No Comparison Selected state instead of a hard route failure when no digests are present.

Implementation Details

  • Feature directory: src/Web/StellaOps.Web/src/app/features/deploy-diff/
  • Route module: src/Web/StellaOps.Web/src/app/features/deploy-diff/deploy-diff.routes.ts
  • Core files:
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/pages/deploy-diff.page.ts
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/components/deploy-diff-panel/deploy-diff-panel.component.ts
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/services/deploy-diff.service.ts
  • Canonical backend dependency:
    • GET /api/v1/lineage/compare?a=<fromDigest>&b=<toDigest>&tenant=<tenantId>
  • Focused tests:
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/services/deploy-diff.service.spec.ts
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/components/deploy-diff-panel/deploy-diff-panel.component.spec.ts
    • src/Web/StellaOps.Web/src/app/features/deploy-diff/pages/deploy-diff.page.spec.ts

Follow-up Notes

  • Primary Releases shell mounts the canonical workspace at /releases/investigation/deploy-diff.
  • Direct shell navigation without digests is a supported workspace state, not an error path.

Verification

  • Date: 2026-02-10
  • Run artifacts: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-001/
  • Tier results:
    • tier0-source-check.json: pass
    • tier1-build-check.json: pass
    • tier2-e2e-check.json: pass

Recheck (run-003)

  • Date (UTC): 2026-02-10
  • Status: VERIFIED (replayed)
  • Tier 1 evidence: Angular build passed and checked-web suite passed 145/145.
  • Tier 2 evidence: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-003/tier2-e2e-check.json.

Recheck (run-004)

  • Date (UTC): 2026-02-10
  • Status: VERIFIED (replayed)
  • Tier 1 evidence: Angular build passed and checked-web suite passed 145/145 across 47 files.
  • Tier 2 evidence: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-004/tier2-e2e-check.json.

Recheck (run-006)

  • Date (UTC): 2026-02-11T07:13:55Z
  • Status: VERIFIED (strict Tier 2 UI replay)
  • Tier 1 evidence: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-006/tier1-build-check.json
  • Tier 2 evidence: docs/qa/feature-checks/runs/web/a-b-deploy-diff-panel/run-006/tier2-ui-check.json
  • Notes: Playwright now covers positive deploy-diff rendering plus missing-parameter and API-error user paths; route is mounted in the primary shell map.

Recheck (2026-03-09)

  • Status: VERIFIED (lineage compare contract repair)
  • Tier 1 evidence:
    • npx ng test --watch=false --ts-config tsconfig.spec.features.json --include=src/app/features/deploy-diff/services/deploy-diff.service.spec.ts --include=src/app/features/deploy-diff/components/deploy-diff-panel/deploy-diff-panel.component.spec.ts --include=src/app/features/deploy-diff/pages/deploy-diff.page.spec.ts
  • Tier 2 target:
    • live https://stella-ops.local/releases/investigation/deploy-diff
  • Notes:
    • direct route loads an actionable workspace when digests are missing
    • loaded comparisons are normalized from lineage compare into the deploy-diff UI model