feat(ui): ship evidence capsules cutover
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Evidence Capsules Canonical Cutover UI
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Shipped the canonical Decision Capsule flow under `Evidence`, repaired stale `/evidence-packs*` bookmarks, and completed the cross-shell handoffs so AI Runs and release evidence can open capsule detail pages and return to their live owner workspaces without dead ends.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directories**:
|
||||
- `src/Web/StellaOps.Web/src/app/features/evidence-pack/`
|
||||
- `src/Web/StellaOps.Web/src/app/features/ai-runs/`
|
||||
- `src/Web/StellaOps.Web/src/app/features/workflow-visualization/`
|
||||
- **Primary components**:
|
||||
- `evidence-pack-list` (`src/Web/StellaOps.Web/src/app/features/evidence-pack/evidence-pack-list.component.ts`)
|
||||
- `evidence-pack-viewer` (`src/Web/StellaOps.Web/src/app/features/evidence-pack/evidence-pack-viewer.component.ts`)
|
||||
- `ai-run-viewer` (`src/Web/StellaOps.Web/src/app/features/ai-runs/ai-run-viewer.component.ts`)
|
||||
- **Canonical routes**:
|
||||
- `/evidence/capsules`
|
||||
- `/evidence/capsules/:capsuleId`
|
||||
- **Legacy aliases**:
|
||||
- `/evidence-packs`
|
||||
- `/evidence-packs/:capsuleId`
|
||||
- **Secondary entry points**:
|
||||
- `Ops > Operations > AI Runs`
|
||||
- `Releases > Runs > Evidence`
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [x] Start the local Angular test server with `npm run serve:test`.
|
||||
- [x] Use a test session with ops, release, policy, and signer scopes.
|
||||
- **Core verification**:
|
||||
- [x] Verify AI Run detail opens canonical Decision Capsule detail with a usable back action.
|
||||
- [x] Verify Decision Capsule detail opens the live related-run workspace, not a stale route.
|
||||
- **Legacy verification**:
|
||||
- [x] Verify `/evidence-packs/:capsuleId` bookmarks land on `/evidence/capsules/:capsuleId`.
|
||||
- [x] Verify the legacy bookmark can continue into the canonical release evidence workspace.
|
||||
|
||||
## Verification
|
||||
- Run:
|
||||
- `npm run test -- --watch=false --include src/tests/evidence/evidence-capsules-cutover.spec.ts`
|
||||
- `npx playwright test --config playwright.config.ts tests/e2e/evidence-capsules-cutover.spec.ts --workers=1`
|
||||
- `npm run build`
|
||||
- Tier 0 (source): pass
|
||||
- Tier 1 (build/tests): pass
|
||||
- Tier 2 (behavior): pass
|
||||
- Notes:
|
||||
- Angular targeted tests passed: `1` file, `7` tests.
|
||||
- Playwright passed: `2` scenarios.
|
||||
- Production build passed; existing bundle-budget warnings remain unchanged from the baseline.
|
||||
- Verified on (UTC): 2026-03-08T10:37:03Z
|
||||
@@ -115,6 +115,10 @@
|
||||
- [DONE] FE-RP-002 Wire release-context handoff into the canonical promotion wizard
|
||||
- [DONE] FE-RP-003 Verify route cutover and usable promotion request workflow
|
||||
- [DONE] FE-RP-004 Sync docs, archive the sprint, and record the shipped feature
|
||||
- [DONE] FE-EC-001 Repair canonical capsule ownership and preserve `/evidence-packs*` aliases
|
||||
- [DONE] FE-EC-002 Complete cross-shell capsule handoffs and related-run navigation
|
||||
- [DONE] FE-EC-003 Verify route cutover and usable capsule workflow
|
||||
- [DONE] FE-EC-004 Sync docs, archive the sprint, and record the shipped feature
|
||||
- [DONE] FE-PO-001 Freeze Operations overview taxonomy and submenu structure
|
||||
- [DONE] FE-PO-002 Overview page regrouping and blocking-card contract
|
||||
- [DONE] FE-PO-003 Legacy widget absorption matrix for Platform Ops
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# Evidence Capsules Canonical Cutover
|
||||
|
||||
## Purpose
|
||||
- Keep Decision Capsules owned by the live `Evidence` shell instead of splitting them across canonical routes, stale legacy bookmarks, and context-specific dead ends.
|
||||
- Finish the usable workflow, not just the references: list, detail, back-navigation, related-run handoff, and bookmark repair all need to work for operators.
|
||||
|
||||
## Canonical Routes
|
||||
- `/evidence/capsules`
|
||||
- `/evidence/capsules/:capsuleId`
|
||||
|
||||
## Alias Policy
|
||||
- Preserve `/evidence-packs`
|
||||
- Preserve `/evidence-packs/:capsuleId`
|
||||
- Redirect aliases into the canonical `/evidence/capsules*` subtree while preserving query params and fragments.
|
||||
|
||||
## Shell Ownership
|
||||
- `Evidence` remains the only operator-facing owner of Decision Capsule browsing.
|
||||
- The capsule list uses Decision Capsule terminology consistently and opens detail pages inside the canonical Evidence shell.
|
||||
- Capsule detail exposes a back action that prefers the originating context and falls back to the canonical capsule list.
|
||||
|
||||
## Cross-Shell Handoffs
|
||||
- `Ops > Operations > AI Runs` opens canonical capsule detail routes with a deterministic `returnTo` contract.
|
||||
- Capsule detail routes related AI-generated evidence back into `/ops/operations/ai-runs/:runId`.
|
||||
- Capsule detail routes release evidence into `/releases/runs/:runId/evidence`.
|
||||
- Related-run handoffs always preserve a valid return path back to the canonical capsule detail page.
|
||||
|
||||
## Merge Notes From Dropped Surfaces
|
||||
- The stale `/evidence-packs*` surface was not preserved as a second owner route.
|
||||
- The useful behavior from the half-wired pack flow was merged into the canonical Evidence shell:
|
||||
- bookmark-safe alias repair
|
||||
- context-aware back navigation
|
||||
- live owner-route jumps for AI and release contexts
|
||||
|
||||
## Verification
|
||||
- Angular tests cover:
|
||||
- canonical capsule route ownership
|
||||
- legacy alias redirects
|
||||
- list/detail navigation behavior
|
||||
- capsule viewer `returnTo` and related-run handoffs
|
||||
- Playwright covers:
|
||||
- a live AI Runs entry point into capsule detail and back
|
||||
- a legacy `/evidence-packs/:capsuleId` bookmark that cuts over into the live release evidence workspace
|
||||
|
||||
## Related
|
||||
- `docs/features/checked/web/evidence-capsules-canonical-cutover-ui.md`
|
||||
- `docs/modules/ui/component-preservation-map/RESTORATION_PRIORITIES.md`
|
||||
@@ -35,6 +35,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
|
||||
- `docs/features/checked/web/security-operations-leaves-ui.md` - shipped verification note for mission alerts/activity surfacing, unknowns route repair, notifications ownership, and legacy security alias cutover.
|
||||
- `docs/features/checked/web/platform-setup-canonical-route-preservation-ui.md` - shipped verification note for preserved `/ops/platform-setup/*` URLs during the shared setup/topology cutover.
|
||||
- `docs/features/checked/web/release-promotions-cutover-ui.md` - shipped verification note for canonical release promotions routing, alias cutover, release-context wizard handoff, and end-to-end request submission.
|
||||
- `docs/features/checked/web/evidence-capsules-canonical-cutover-ui.md` - shipped verification note for canonical Evidence-owned capsule routes, `/evidence-packs*` bookmark repair, and AI/release context handoffs.
|
||||
- `docs/modules/ui/reachability-witnessing/README.md` - detailed witness and proof UX dossier plus cross-shell deep-link contract.
|
||||
- `docs/modules/ui/platform-ops-consolidation/README.md` - detailed Operations overview taxonomy and legacy absorption plan.
|
||||
- `docs/modules/ui/offline-operations/README.md` - detailed owner-shell contract for Offline Kit, Feeds & Airgap, Evidence handoffs, and stale alias policy.
|
||||
@@ -44,6 +45,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
|
||||
- `docs/modules/ui/security-operations-leaves/README.md` - canonical owner contract for mission alerts/activity, security unknowns, notifications, and stale `/analyze`/`/notify` handoffs.
|
||||
- `docs/modules/ui/platform-setup-canonical-route-preservation/README.md` - preserved route contract for canonical `/ops/platform-setup/*` leaves during the shared setup/topology cutover.
|
||||
- `docs/modules/ui/release-promotions-cutover/README.md` - canonical promotions owner contract, alias rules, and release-context handoff for the Releases shell.
|
||||
- `docs/modules/ui/evidence-capsules-canonical-cutover/README.md` - canonical Evidence owner contract for Decision Capsule list/detail browsing, legacy bookmark aliases, and related-run handoffs.
|
||||
- `docs/modules/ui/triage-explainability-workspace/README.md` - detailed artifact workspace and audit-bundle UX dossier.
|
||||
- `docs/modules/ui/workflow-visualization-replay/README.md` - detailed run-detail graph, timeline, replay, and evidence UX dossier.
|
||||
- `docs/modules/ui/contextual-actions-patterns/README.md` - shared placement contract for stray actions, pages, drawers, and tabs.
|
||||
|
||||
Reference in New Issue
Block a user