feat(ui): ship execution operations cutover
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user