feat(ui): ship evidence capsules cutover
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# Sprint 20260308_011_FE - Evidence Capsules Canonical Cutover
|
||||
|
||||
## Topic & Scope
|
||||
- Restore the usable decision-capsule workflow under the canonical Evidence shell instead of leaving it split between working components and dead legacy paths.
|
||||
- Make `/evidence/capsules` and `/evidence/capsules/:capsuleId` the only operator-facing owner routes for evidence-pack browsing, while preserving stale `/evidence-packs*` bookmarks.
|
||||
- Complete the cross-shell handoffs so AI Runs and release/evidence contexts deep-link into capsules with deterministic return-to behavior and an actionable related-run jump.
|
||||
- Working directory: `src/Web/StellaOps.Web`.
|
||||
- Expected evidence: focused Angular route/component tests, browser verification, updated UI docs, archived sprint.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Builds on the shipped Evidence shell, workflow-visualization run workspace, and contextual route-state utilities already present in `src/Web/StellaOps.Web`.
|
||||
- Safe to implement in parallel with unrelated backend or Router work as long as edits stay inside `src/Web/StellaOps.Web` and scoped UI docs.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/modules/ui/README.md`
|
||||
- `docs/modules/ui/implementation_plan.md`
|
||||
- `docs/modules/ui/component-preservation-map/RESTORATION_PRIORITIES.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-EC-001 - Canonical capsule owner route and alias repair
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: Developer / Implementer
|
||||
Task description:
|
||||
- Preserve the current Evidence shell as the owner of decision capsules and repair the stale route contract that still points live components at `/evidence-packs/:id`.
|
||||
- Add bookmark-safe alias handling for legacy evidence-pack paths so operators and old links land on the canonical capsule detail route without dropping query state.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Live components navigate to `/evidence/capsules` and `/evidence/capsules/:capsuleId`.
|
||||
- [x] Legacy `/evidence-packs` aliases redirect to canonical capsule routes while preserving query params and fragments.
|
||||
- [x] The capsule list/detail flow is discoverable and usable from the live Evidence shell.
|
||||
|
||||
### FE-EC-002 - Cross-shell handoffs and related-run navigation
|
||||
Status: DONE
|
||||
Dependency: FE-EC-001
|
||||
Owners: Developer / Implementer
|
||||
Task description:
|
||||
- Complete the worthwhile behavior from the dropped evidence/proof surfaces by wiring cross-shell entry points into the canonical capsule detail route with deterministic return-to context.
|
||||
- Ensure the capsule viewer can jump to the related owner workflow instead of the stale AI-run-only path, using the active Releases run workspace when the pack represents release evidence.
|
||||
|
||||
Completion criteria:
|
||||
- [x] AI Runs and other current entry points deep-link into canonical capsule detail routes with a valid return-to contract.
|
||||
- [x] Capsule detail provides a usable back action to the originating context or canonical capsule list.
|
||||
- [x] Related-run navigation lands on a live owner route instead of a stale or orphaned path.
|
||||
|
||||
### FE-EC-003 - Verification coverage for the cutover
|
||||
Status: DONE
|
||||
Dependency: FE-EC-002
|
||||
Owners: Developer / Implementer, Test Automation, QA
|
||||
Task description:
|
||||
- Add focused Angular tests for alias handling, canonical route hydration, and the related-run / return-to navigation behavior.
|
||||
- Add browser verification that proves both the live capsule flow and a legacy bookmark cut over correctly.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Targeted Angular tests cover the canonical capsule route contract and navigation behavior.
|
||||
- [x] Browser verification covers at least one live entry point plus one legacy alias.
|
||||
- [x] The scoped test suite passes deterministically.
|
||||
|
||||
### FE-EC-004 - Docs sync, archive, and shipped-feature note
|
||||
Status: DONE
|
||||
Dependency: FE-EC-003
|
||||
Owners: Developer / Implementer, Documentation author
|
||||
Task description:
|
||||
- Document the canonical capsule owner route, alias rules, and cross-shell handoff behavior in the UI module docs.
|
||||
- Record the verified behavior in a checked-feature note, update the task board and implementation plan, then archive the sprint only after the delivery tasks are actually complete.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Module docs describe the canonical capsule workflow and alias contract.
|
||||
- [x] Checked-feature verification note records the actual commands and outcomes.
|
||||
- [x] Sprint is archived with all tasks marked `DONE`.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-08 | Sprint created and moved to DOING for the canonical evidence capsules cutover. | Implementer |
|
||||
| 2026-03-08 | Repaired the canonical Decision Capsule list and detail routes, added bookmark-safe `/evidence-packs*` aliases, and switched live capsule navigation away from the stale pack paths. | Implementer |
|
||||
| 2026-03-08 | Completed cross-shell handoffs from AI Runs and release evidence so capsule detail pages preserve `returnTo` context and open the live owner workspace for related runs. | Implementer |
|
||||
| 2026-03-08 | Verification passed: Angular targeted tests `1` file / `7` tests, Playwright `2` scenarios, and `npm run build` with existing bundle-budget warnings only. | Implementer |
|
||||
|
||||
## Decisions & Risks
|
||||
- This sprint is intentionally bounded to the canonical capsule list/detail flow plus handoffs. Broader proof-chain or evidence-thread restoration should land in separate evidence-domain sprints.
|
||||
- Evidence packs come from more than one product area; related-run navigation must prefer live owner routes and avoid reintroducing dead `/evidence-packs` or orphaned `/ai-runs` paths.
|
||||
- Route alias handling must preserve query params and fragments so release-context and AI-run bookmarks remain deterministic.
|
||||
- Browser verification initially failed because the release-run evidence workspace fixture returned the base run detail object for sibling endpoints like `/approvals` and `/deployments`; the E2E harness was corrected to return the real per-endpoint shapes instead of weakening the assertion surface.
|
||||
- Verification commands:
|
||||
- `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`
|
||||
|
||||
## Next Checkpoints
|
||||
- Canonical route and alias cutover complete with focused tests.
|
||||
- Cross-shell handoffs verified in browser.
|
||||
- Sprint archived and committed locally without unrelated files.
|
||||
Reference in New Issue
Block a user