feat(ui): ship execution operations cutover

This commit is contained in:
master
2026-03-08 09:33:05 +02:00
parent 80257a4538
commit 8b1fe49f35
39 changed files with 3849 additions and 978 deletions

View File

@@ -0,0 +1,105 @@
# Sprint 20260308_004_FE - Execution Operations Cutover
## Topic & Scope
- Complete the `Ops > Operations` execution cluster so `Jobs & Queues`, `JobEngine`, `Scheduler`, `Dead-Letter`, and `Scanner Ops` behave as one usable operator surface instead of a mix of placeholders and stale links.
- Replace remaining stale `/platform-ops/*`, `/ops/scanner`, and other non-canonical execution links with mounted canonical routes while preserving bookmark compatibility where needed.
- Finish the missing workflows inside these execution surfaces so operators can navigate, inspect, export, retry, resolve, and manage quotas without dead links or fake success.
- Working directory: `src/Web/StellaOps.Web/`.
- Expected evidence: targeted Angular tests, Playwright execution-ops flow coverage, checked-feature documentation, and archived sprint notes.
## Dependencies & Concurrency
- Depends on the shipped `Operations` shell, `Offline Operations`, and `Quota / Health / AOC` cutovers already archived in `docs-archived/implplan/`.
- Safe parallelism: backend modules are out of scope; only frontend code, frontend docs, and verification assets are permitted.
## Documentation Prerequisites
- `AGENTS.md`
- `docs/modules/ui/AGENTS.md`
- `src/Web/StellaOps.Web/AGENTS.md`
- `docs/modules/ui/README.md`
- `docs/modules/ui/architecture.md`
- `docs/modules/ui/implementation_plan.md`
- `docs/modules/ui/platform-ops-consolidation/README.md`
- `docs/modules/platform/architecture-overview.md`
## Delivery Tracker
### FE-EXO-001 - Freeze canonical execution route and alias contract
Status: DONE
Dependency: none
Owners: Developer / Implementer
Task description:
- Reconcile the execution surfaces with the current `Ops > Operations` owner shell. Standardize route helpers for `jobs-queues`, `jobengine`, `scheduler`, `dead-letter`, and any surviving `scanner-ops` entry points.
- Preserve known bookmarks and stale entry paths, but remove active navigation and intra-feature links that still point at `platform-ops` or other pre-consolidation locations.
Completion criteria:
- [x] Canonical helpers exist for execution subpages and detail views.
- [x] Legacy `platform-ops` and stale scanner entry points land on mounted canonical pages without losing query state.
- [x] Navigation config no longer points execution surfaces at stale paths.
### FE-EXO-002 - Complete JobEngine and scheduler operator workflows
Status: DONE
Dependency: FE-EXO-001
Owners: Developer / Implementer
Task description:
- Replace remaining placeholder JobEngine pages and stale scheduler links with usable list, detail, quota, and action flows. Use the existing control clients where contracts already exist; where backend parity is missing, ship honest offline-safe exports or summaries rather than fake mutations.
- Keep the `Jobs & Queues` overview as the execution owner surface and ensure it deep-links into the real pages instead of looping back to itself.
Completion criteria:
- [x] `Jobs & Queues` overview links to real JobEngine, scheduler, worker, and dead-letter pages.
- [x] JobEngine dashboard, jobs, detail, and quotas stay within canonical execution routes.
- [x] Scheduler runs, schedules, and worker fleet use canonical links and actionable flows.
- [x] Placeholder-only JobEngine views are replaced with usable operator surfaces.
### FE-EXO-003 - Complete dead-letter and scanner-ops supporting workflows
Status: DONE
Dependency: FE-EXO-001
Owners: Developer / Implementer
Task description:
- Finish the dead-letter batch actions and scanner-ops operational tools so operators can export, inspect, compare, verify, or promote through the UI without console-only placeholders.
- Any missing backend operations must degrade honestly into downloadable plans, route-backed detail views, or explicit local-only actions rather than pretending the server accepted a change.
Completion criteria:
- [x] Dead-letter queue and entry detail actions use canonical job handoffs and real batch behavior.
- [x] Scanner-ops actions no longer rely on `console.log`.
- [x] Supporting exports or summaries are deterministic and usable offline.
- [x] Operator notices accurately describe local-only fallback behavior.
### FE-EXO-004 - Verify cutover, sync docs, and archive
Status: DONE
Dependency: FE-EXO-002, FE-EXO-003
Owners: Developer / Implementer, QA
Task description:
- Add focused tests for the repaired execution routes and workflows, then run targeted Angular and Playwright verification. Record the shipped behavior in checked-feature docs and archive the sprint only when every task is done.
Completion criteria:
- [x] Targeted Angular tests cover redirect contracts and repaired execution workflows.
- [x] Playwright verifies at least one end-to-end journey through the restored execution surfaces.
- [x] UI docs and checked-feature notes reflect the shipped behavior.
- [x] Sprint moved to `docs-archived/implplan/` only after all tasks are marked DONE.
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-08 | Sprint created and moved to DOING for the execution operations cutover. | Codex |
| 2026-03-08 | Repaired canonical execution helpers, stale aliases, and navigation targets for JobEngine, Scheduler, Dead-Letter, and Scanner Ops. | Developer |
| 2026-03-08 | Completed JobEngine, scheduler, dead-letter, and scanner-support workflows with real route-backed or honest local operator actions. | Developer |
| 2026-03-08 | Verified targeted Angular coverage with `npm run test -- --watch=false --include src/tests/platform-ops/platform-ops-routes.spec.ts --include src/tests/scheduler_ops/scheduler-orchestrator-ops-ui.behavior.spec.ts --include src/tests/deadletter/deadletter-queue.component.spec.ts --include src/tests/deadletter/deadletter-entry-detail.component.spec.ts --include src/tests/scanner_ops/scanner-ops-settings-ui.behavior.spec.ts --include src/tests/scanner_ops/scanner-ops-supporting-flows.behavior.spec.ts --include src/tests/jobengine/jobengine-execution-ops.behavior.spec.ts`: 38 tests passed across 7 files. | QA |
| 2026-03-08 | Verified browser cutover flow with `npx playwright test tests/e2e/execution-operations-cutover.spec.ts --workers=1`: 1 scenario passed. | QA |
| 2026-03-08 | Production build passed via `npm run build`; existing bundle budget warnings remain unchanged from the baseline. | QA |
| 2026-03-08 | Synced execution-operations docs, checked-feature evidence, and task-board status for archive. | Documentation author |
## Decisions & Risks
- Risk: some scanner-ops actions have no dedicated backend endpoint. Mitigation: ship honest offline-safe artifacts or route-aware summaries instead of fake API success.
- Risk: JobEngine detail and quota pages still contain placeholder UX. Mitigation: use the existing mock/control clients already registered in the app to deliver usable operator flows now.
- Risk: stale execution entry points exist in both admin navigation and legacy `platform-ops` aliases. Mitigation: fix both route aliases and current nav links in the same sprint.
- Delivery rule: this sprint is only complete when the canonical execution tree is mounted, main actions are usable, and the core operator journeys are verified end to end.
- Reference design note: `docs/modules/ui/execution-operations/README.md`.
- Docs synced:
- `docs/modules/ui/execution-operations/README.md`
- `docs/features/checked/web/execution-operations-ui.md`
- `docs/modules/ui/README.md`
- `docs/modules/ui/implementation_plan.md`
- `docs/modules/ui/TASKS.md`
## Next Checkpoints
- 2026-03-08: archived after implementation, verification, and docs sync completed.