# Execution Operations UI ## Module Web ## Status VERIFIED ## Description Shipped the execution-operations cutover so `Ops > Operations` now owns usable JobEngine, Scheduler, and Dead-Letter flows, while the companion `Scanner Ops` pages no longer stop at placeholder console actions. The work repaired stale jobengine or scheduler aliases, completed the missing operator workflows, and kept execution drill-ins on mounted canonical routes. ## Implementation Details - **Feature directories**: - `src/Web/StellaOps.Web/src/app/features/jobengine/` - `src/Web.StellaOps.Web/src/app/features/scheduler-ops/` - `src/Web.StellaOps.Web/src/app/features/deadletter/` - `src/Web.StellaOps.Web/src/app/features/scanner-ops/` - `src/Web.StellaOps.Web/src/app/features/platform/ops/` - `src/Web.StellaOps.Web/src/app/core/api/jobengine-jobs.client.ts` - **Primary routes**: - `/ops/operations/jobs-queues` - `/ops/operations/jobengine` - `/ops/operations/jobengine/jobs` - `/ops/operations/jobengine/jobs/:jobId` - `/ops/operations/jobengine/jobs/:jobId/dag` - `/ops/operations/jobengine/quotas` - `/ops/operations/dead-letter` - `/ops/operations/dead-letter/queue` - `/ops/operations/dead-letter/entry/:entryId` - `/ops/operations/scheduler/runs` - `/ops/operations/scheduler/runs/:runId/stream` - `/ops/operations/scheduler/schedules` - `/ops/operations/scheduler/workers` - `/ops/scanner-ops` - `/ops/scanner-ops/offline-kits` - `/ops/scanner-ops/baselines` - `/ops/scanner-ops/analyzers` - `/ops/scanner-ops/performance` - **Legacy aliases**: - `/ops/jobengine/*` - `/ops/scheduler/*` - `/ops/scanner` - `/ops/scanner/:page` - `/platform-ops/*` - `/platform/ops/*` - **Notable repaired behaviors**: - JobEngine job detail and DAG drill-in stay on canonical routes - JobEngine quota actions export usable snapshots instead of placeholder buttons - dead-letter batch replay and resolve call the real client methods and hand back to canonical job detail - scheduler runs can open a route-backed live-stream view - scanner offline-kit, baseline, analyzer, and performance tools perform honest local workflows instead of `console.log` ## E2E Test Plan - **Setup**: - [x] Use the local Angular test server from Playwright `webServer` via `npm run serve:test`. - [x] Use a test session with Ops and orchestration scopes. - **Core verification**: - [x] Verify canonical JobEngine list and detail navigation. - [x] Verify dead-letter queue replay remains usable on the canonical queue page. - [x] Verify scheduler runs can open the new run-stream page. - [x] Verify scanner-support actions surface honest completion notices. - **Cutover verification**: - [x] Verify Angular tests cover alias inventory and the repaired execution workflows. - [x] Verify the production build still completes after the execution cutover. ## Verification - Run: - `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` - `npx playwright test tests/e2e/execution-operations-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: `7` files, `38` tests. - Playwright passed: `1` scenario. - Production build passed; existing initial bundle and setup-wizard style budget warnings remain unchanged from the baseline. - Verified on (UTC): 2026-03-08T07:26:09.3020863Z