feat(ui): ship workflow visualization replay workspace

This commit is contained in:
master
2026-03-07 23:25:13 +02:00
parent e11c0a6b59
commit c568e09a1d
26 changed files with 2891 additions and 93 deletions

View File

@@ -0,0 +1,59 @@
# Workflow Visualization Replay UI
## Module
Web
## Status
VERIFIED
## Description
Shipped the canonical `Releases > Runs` graph and replay workspace with stable summary, graph, timeline, critical-path, replay, and evidence tabs. Operators can drill into failed steps, deep-link a step drawer with `step=<id>`, move into `Evidence > Verify & Replay`, and return to the same run context without depending on the dead `workflow-visualization` branch.
## Implementation Details
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/workflow-visualization/`
- **Primary components**:
- `run-graph-replay-page` (`src/Web/StellaOps.Web/src/app/features/workflow-visualization/run-graph-replay-page.component.ts`)
- `workflow-visualizer` (`src/Web/StellaOps.Web/src/app/features/workflow-visualization/components/workflow-visualizer/workflow-visualizer.component.ts`)
- `time-travel-controls` (`src/Web/StellaOps.Web/src/app/features/workflow-visualization/components/time-travel-controls/time-travel-controls.component.ts`)
- `step-detail-panel` (`src/Web/StellaOps.Web/src/app/features/workflow-visualization/components/step-detail-panel/step-detail-panel.component.ts`)
- **Canonical routes**:
- `/releases/runs/:runId/summary`
- `/releases/runs/:runId/graph`
- `/releases/runs/:runId/timeline`
- `/releases/runs/:runId/critical-path`
- `/releases/runs/:runId/replay`
- `/releases/runs/:runId/evidence`
- **Legacy aliases**:
- `/workflow-visualization/:runId`
- `/workflow-visualization/:runId/:tab`
- **Query state**:
- `step=<stepId>`
- `returnTo=<encoded route>`
- **Secondary entry points**:
- `Releases > Activity`
- release detail replay actions
- `Evidence > Verify & Replay`
- workflow editor `Preview DAG` mode
## E2E Test Plan
- **Setup**:
- [ ] Log in with a user that can access `Releases`, `Evidence`, and workflow administration.
- [ ] Navigate to `/releases/runs/<runId>/graph`.
- [ ] Ensure run detail, timeline, replay, and workflow graph fixtures or seeded data exist.
- **Core verification**:
- [ ] Verify `Summary`, `Graph`, `Timeline`, `Critical Path`, `Replay`, and `Evidence` tabs render in one mounted run shell.
- [ ] Verify graph and timeline step selection open the step drawer and preserve `step=<id>` in the URL.
- [ ] Verify replay and evidence actions preserve run context and hand off correctly to `Evidence > Verify & Replay`.
- **Legacy verification**:
- [ ] Verify `workflow-visualization/*` aliases redirect into `/releases/runs/:runId/*`.
- [ ] Verify authoring preview renders the graph-only workflow editor mode without runtime replay loading.
- [ ] Verify redirect and deep-link behavior tolerate additional context query params.
## Verification
- Run:
- `npx ng test --watch=false --include src/tests/release-control/release-control-routes.spec.ts --include src/tests/releases/release-detail.live-refresh.spec.ts --include src/tests/evidence/replay-controls-reachability-handoff.spec.ts --include src/tests/release_orchestrator/visual-workflow-editor.behavior.spec.ts --include src/tests/workflow_visualization/run-graph-replay-page.behavior.spec.ts`
- `npx playwright test tests/e2e/workflow-visualization-replay.spec.ts --workers=1`
- Tier 0 (source): pass
- Tier 1 (build/tests): pass
- Tier 2 (behavior): pass
- Verified on (UTC): 2026-03-07T21:24:11.4848681Z

View File

@@ -1,129 +0,0 @@
# Sprint 20260307-028 - Workflow Visualization Replay
## Topic & Scope
- Restore workflow graphing, timeline, critical-path, and replay UX as a run-detail capability under `Releases > Runs`, with a secondary entry point from `Evidence > Verify & Replay`.
- Ship fully usable runtime graphing, timeline, critical-path, replay, and evidence views from the active run-detail experience.
- Complete the missing functionality end to end so operators can inspect run structure, drill into steps, replay evidence, and use legacy links without falling back to dead routes.
- Working directory: `src/Web/StellaOps.Web/src/app/features/workflow-visualization`.
- Allowed coordination edits: `src/Web/StellaOps.Web/src/app/routes/releases.routes.ts`, `src/Web/StellaOps.Web/src/app/routes/evidence.routes.ts`, `src/Web/StellaOps.Web/src/app/features/release-orchestrator/`, `docs/modules/ui/workflow-visualization-replay`, and `docs/modules/ui/TASKS.md`.
- Expected evidence: working run-detail tabs, working step drawer and replay flows, evidence-side entry points, working legacy redirects, tests, and updated docs.
## Dependencies & Concurrency
- Depends on:
- `docs/modules/ui/workflow-visualization-replay/README.md`
- `docs/modules/release-orchestrator/ui/overview.md`
- `docs/modules/release-orchestrator/workflow/evidence-based-release-gates.md`
- `src/Web/StellaOps.Web/src/app/routes/releases.routes.ts`
- `src/Web/StellaOps.Web/src/app/routes/evidence.routes.ts`
- `src/Web/StellaOps.Web/src/app/features/workflow-visualization/workflow-visualization.routes.ts`
- `src/Web/StellaOps.Web/src/app/features/workflow-visualization/components/workflow-visualizer/workflow-visualizer.component.ts`
- Safe parallelism:
- tab and route contract work should freeze before FE implementation begins
- graph/timeline and replay/evidence work can proceed in parallel after the contract is stable
- workflow-editor preview work can proceed in parallel with runtime integration once reuse boundaries are frozen
## Documentation Prerequisites
- `docs/modules/ui/workflow-visualization-replay/README.md`
- `docs/modules/ui/contextual-actions-patterns/README.md`
- `docs/modules/ui/restoration-topics/workflow-visualization-and-replay.md`
- `docs/modules/ui/component-preservation-map/RESTORATION_PRIORITIES.md`
## Delivery Tracker
### FE-WV-001 - Wire run-detail tabs into Releases and Evidence
Status: TODO
Dependency: none
Owners: Product Manager, FE Architect
Task description:
- Implement the run-detail tab family under `Releases > Runs` and the shared replay entry point from `Evidence > Verify & Replay`.
- Ensure operators can reach the graph and replay experience from the active shells.
Completion criteria:
- [ ] Canonical run-detail tabs are active in the router.
- [ ] Runtime graph and replay routes are mounted and reachable.
- [ ] Evidence-side entry points open the working runtime context.
### FE-WV-002 - Ship the Graph, Timeline, and Critical Path tabs
Status: TODO
Dependency: FE-WV-001
Owners: Developer, FE Architect
Task description:
- Implement the runtime graph, timeline, and critical-path experiences with filters, node status, and drill-in behavior.
- Ensure these tabs are usable for real run diagnosis, not just visual placeholders.
Completion criteria:
- [ ] Graph, timeline, and critical-path tabs render with working filters and node metadata.
- [ ] Operators can diagnose run state from the shipped tabs.
- [ ] Step selection opens the working detail drawer.
### FE-WV-003 - Ship Replay and Evidence integration
Status: TODO
Dependency: FE-WV-001
Owners: Developer, Product Manager
Task description:
- Implement the `Replay` tab with replay status, input hashes, drift comparison, and evidence links.
- Integrate the existing evidence replay controls and proof replay surfaces into the active run-detail shell.
Completion criteria:
- [ ] Replay tab works from the active run-detail shell.
- [ ] Existing evidence replay controls are usable from the new tab model.
- [ ] Evidence and Replay tabs both expose their intended workflows in the shipped UI.
### FE-WV-004 - Ship step-detail drill-in and deep-link behavior
Status: TODO
Dependency: FE-WV-002
Owners: Developer, FE Architect
Task description:
- Implement the step-detail drawer, its fields, actions, and `step=<id>` deep-link behavior.
- Ensure failed-step drill-ins work from graph and timeline views without losing run context.
Completion criteria:
- [ ] Step-detail drawer works from graph and timeline tabs.
- [ ] `step=<id>` deep-link behavior is usable and shareable.
- [ ] Any required full-route escalation is implemented only where necessary.
### FE-WV-005 - Implement bounded workflow-editor preview reuse
Status: TODO
Dependency: FE-WV-001
Owners: FE Architect, Developer
Task description:
- Implement the graph-only preview mode workflow editor can reuse without importing runtime replay semantics.
- Keep authoring preview clearly separate from live run telemetry and troubleshooting.
Completion criteria:
- [ ] Workflow editor can render the bounded preview mode.
- [ ] Runtime-only behaviors are excluded from preview.
- [ ] Shared and runtime-only graph components are separated in the shipped implementation.
### FE-WV-006 - Verify, redirect, and document the shipped capability
Status: TODO
Dependency: FE-WV-003
Owners: QA, Documentation author
Task description:
- Add Playwright scenarios for run-detail tabs, step drawer behavior, evidence entry points, and legacy alias redirects.
- Update release and evidence docs so workflow visualization and replay ship as a usable capability, not just a merge target.
Completion criteria:
- [ ] Verification covers graph, timeline, replay, and evidence tabs.
- [ ] Step deep links and alias redirects are included in testing.
- [ ] Docs reflect the shipped run-detail and replay capability.
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-07 | Sprint created to ship workflow graphing and replay as a run-detail capability under Releases, with evidence-side entry points and a bounded authoring preview reuse model. | Project Manager |
## Decisions & Risks
- Decision: runtime workflow visualization is owned by `Releases > Runs`, not by a standalone product.
- Decision: `Evidence > Verify & Replay` becomes a secondary entry point into the same replay model.
- Risk: runtime and authoring semantics may get mixed in one component tree and confuse operators.
- Mitigation: freeze a strict preview versus runtime boundary before implementation begins.
- Risk: replay controls already living in evidence routes may diverge from the run-detail experience.
- Mitigation: require one shared route and tab model for replay semantics.
- Delivery rule: this sprint is only complete when release operators can use the mounted graph, timeline, replay, and evidence flows without depending on the dead workflow-visualization branch.
- Reference design note: `docs/modules/ui/workflow-visualization-replay/README.md`.
## Next Checkpoints
- 2026-03-08: confirm runtime ownership, tab model, and evidence entry-point rules.
- 2026-03-09: freeze graph/timeline/replay slices and step-drawer contract.
- 2026-03-10: finalize authoring preview boundary, alias migration, and QA contract.

View File

@@ -9,7 +9,6 @@
- `docs/implplan/SPRINT_20260307_009_DOCS_ui_component_preservation_map.md`
- `docs/implplan/SPRINT_20260307_022_FE_policy_vex_release_decisioning_studio.md`
- `docs/implplan/SPRINT_20260307_023_DOCS_ui_restoration_topic_shapes.md`
- `docs/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- `docs/implplan/SPRINT_20260307_029_FE_contextual_actions_and_stray_surfaces.md`
## Delivery Tasks
@@ -92,12 +91,12 @@
- [DONE] FE-TX-004 Audit bundles page and create-flow slice
- [DONE] FE-TX-005 Supporting component merge matrix for Triage explainability
- [DONE] FE-TX-006 QA, rollout, and docs sync for Triage explainability
- [TODO] FE-WV-001 Freeze run-detail tab and route contract for workflow visualization
- [TODO] FE-WV-002 Graph, timeline, and critical-path slice
- [TODO] FE-WV-003 Replay and evidence integration slice
- [TODO] FE-WV-004 Step-detail drawer and deep-link behavior
- [TODO] FE-WV-005 Workflow-editor preview reuse boundary
- [TODO] FE-WV-006 QA, rollout, alias migration, and docs sync for workflow visualization
- [DONE] FE-WV-001 Freeze run-detail tab and route contract for workflow visualization
- [DONE] FE-WV-002 Graph, timeline, and critical-path slice
- [DONE] FE-WV-003 Replay and evidence integration slice
- [DONE] FE-WV-004 Step-detail drawer and deep-link behavior
- [DONE] FE-WV-005 Workflow-editor preview reuse boundary
- [DONE] FE-WV-006 QA, rollout, alias migration, and docs sync for workflow visualization
- [TODO] FE-CA-001 Freeze contextual placement decision matrix and route-state contract
- [TODO] FE-CA-002 Shared contextual drawer host
- [TODO] FE-CA-003 Split list-detail and right-rail primitives

View File

@@ -93,7 +93,8 @@ The order is by confidence that the capability should exist in the final Stella
- `/releases/runs`, `/evidence`, and release-context views
- Notes:
- Detailed UX dossier: `docs/modules/ui/workflow-visualization-replay/README.md`
- Implementation sprint: `docs/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- Implementation sprint: `docs-archived/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- Shipped verification note: `docs/features/checked/web/workflow-visualization-replay-ui.md`
## Tier 2 - Surface Existing Capability Instead Of Rebuilding

View File

@@ -13,7 +13,6 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
- `SPRINT_20260307_009_DOCS_ui_component_preservation_map.md` - per-component preservation dossiers for unused and weakly surfaced console UI components.
- `SPRINT_20260307_022_FE_policy_vex_release_decisioning_studio.md` - canonical Decisioning Studio shell to unify policy, simulation, VEX decisioning, and release-context gate explanation.
- `SPRINT_20260307_023_DOCS_ui_restoration_topic_shapes.md` - documentation prerequisite for shell/menu/tab placements; not a product-delivery sprint by itself.
- `SPRINT_20260307_028_FE_workflow_visualization_replay.md` - ship run-detail graph, timeline, replay, and evidence tabs plus bounded workflow-editor preview reuse.
- `SPRINT_20260307_029_FE_contextual_actions_and_stray_surfaces.md` - ship the shared tabs, drawers, right rails, split views, and contextual detail primitives adopted by the restoration features.
## Latest evidence
@@ -27,6 +26,7 @@ Provide a living plan for UI deliverables, dependencies, and evidence.
- `docs/features/checked/web/identity-watchlist-management-ui.md` - shipped verification note for the Trust & Signing watchlist shell and its Mission Control / Notifications handoffs.
- `docs/features/checked/web/operations-consolidation-ui.md` - shipped verification note for the canonical Operations shell, overview grouping, and legacy alias cutover.
- `docs/features/checked/web/triage-explainability-workspace-ui.md` - shipped verification note for the canonical triage artifact workspace, explainability rail, audit bundles, and security alias cutover.
- `docs/features/checked/web/workflow-visualization-replay-ui.md` - shipped verification note for the canonical run-detail graph, timeline, replay, evidence tabs, and workflow-editor preview reuse boundary.
- `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/triage-explainability-workspace/README.md` - detailed artifact workspace and audit-bundle UX dossier.

View File

@@ -31,7 +31,7 @@ It answers four questions for each topic:
- `docs/implplan/SPRINT_20260307_025_FE_reachability_witnessing_merge.md`
- `docs/implplan/SPRINT_20260307_026_FE_platform_ops_consolidation.md`
- `docs/implplan/SPRINT_20260307_027_FE_triage_explainability_workspace.md`
- `docs/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- `docs-archived/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md` - shipped workflow visualization and replay restoration
- `docs/implplan/SPRINT_20260307_029_FE_contextual_actions_and_stray_surfaces.md`
## Placement Matrix

View File

@@ -96,7 +96,8 @@ The graph/timeline/critical-path experiences should be facets of the same run de
## Detailed UX And Sprint
- Detailed UX dossier: `../workflow-visualization-replay/README.md`
- Implementation sprint: `../../../implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- Implementation sprint: `../../../docs-archived/implplan/SPRINT_20260307_028_FE_workflow_visualization_replay.md`
- Shipped verification note: `../../../features/checked/web/workflow-visualization-replay-ui.md`
## Corroborating Inputs

View File

@@ -10,6 +10,15 @@ Restore workflow graphing, time-travel, and replay as a run-detail capability un
This capability should help operators understand what happened in a release run, why a run failed or slowed, and how evidence or replay confirms the outcome.
## Shipped Outcome
- The canonical runtime workspace now ships under `/releases/runs/:runId/{summary|graph|timeline|critical-path|replay|evidence}`.
- `Releases > Activity` and release detail flows deep-link into the mounted run workspace instead of the dead prototype route family.
- `Evidence > Verify & Replay` can open the same run context, and replay controls can return operators into the canonical run workspace.
- Legacy `workflow-visualization/:runId/*` URLs now redirect into the canonical run workspace.
- Workflow editor preview reuse is bounded to graph preview mode and does not load runtime replay semantics.
- Verification evidence is captured in `docs/features/checked/web/workflow-visualization-replay-ui.md`.
## Why This Is The Right Shape
- The abandoned visualizer models runtime concepts such as graph state, auto-refresh, step detail, critical path, and time travel.