# Execution Operations ## Purpose - Complete the execution cluster under the active UI instead of leaving JobEngine, Scheduler, Dead-Letter, and Scanner support flows split across stale aliases or half-wired pages. - Keep operator workflows usable end to end: inspect jobs, open DAG context, manage quotas, replay dead-letter entries, follow scheduler runs, and finish scanner-support actions without console-only placeholders. ## Canonical Owner - Owner shell: `Ops > Operations` - 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` - `/ops/operations/scheduler/runs` - `/ops/operations/scheduler/runs/:runId/stream` - `/ops/operations/scheduler/schedules` - `/ops/operations/scheduler/workers` - Companion execution tools: - `/ops/scanner-ops` - `/ops/scanner-ops/offline-kits` - `/ops/scanner-ops/baselines` - `/ops/scanner-ops/analyzers` - `/ops/scanner-ops/performance` - `/ops/scanner-ops/settings` ## Legacy Alias Policy - Preserve stale bookmarks and older navigation entry points by redirecting: - `/ops/jobengine/*` - `/ops/scheduler/*` - `/ops/scanner` - `/ops/scanner/:page` - `/platform-ops/jobengine/*` - `/platform-ops/scheduler/*` - `/platform-ops/scanner*` - `/platform/ops/jobengine/*` - `/platform/ops/scheduler/*` - `/platform/ops/dead-letter/*` - Redirects must preserve query params and fragments because job, queue, and stream pages use route-backed detail state. ## UX Rules - `Jobs & Queues` is the execution overview, not a dead-end card deck. It must deep-link into JobEngine, Scheduler, Dead-Letter, and related operator pages. - `JobEngine` owns queue health, job detail, DAG context, and quota controls. - `Scheduler` owns run monitoring, schedule management, worker fleet, and run-stream drill-in. - `Dead-Letter` owns queue browse, replay, resolve, export, and handoff back to canonical job detail. - `Scanner Ops` remains scanner-owned, but its supporting actions must be honest and usable because it is part of the same operator journey. ## Shipped In This Cut - Repaired canonical route helpers, navigation targets, and legacy aliases for JobEngine, Scheduler, Dead-Letter, and Scanner Ops entry points. - Replaced placeholder JobEngine dashboards with working summary, list, detail, DAG, and quota flows backed by the existing clients. - Added a route-backed Scheduler Run Stream page and kept scheduler schedules and worker-fleet links inside the canonical execution subtree. - Completed dead-letter batch replay, batch resolve, export, entry-detail replay handoff, and canonical job deep links. - Replaced scanner-support `console.log` actions with honest local verification, export, promote, and refresh flows. ## Preserved Value - Keep: - execution queue visibility and job DAG drill-in - quota operations and export snapshots - dead-letter replay and manual resolution - scheduler run stream visibility - scanner baseline, analyzer, and offline-kit support actions - Why: - these are not abandoned concepts; they are real operator workflows that were left partially unwired after the Operations-shell consolidation ## Related Docs - `docs/modules/ui/platform-ops-consolidation/README.md` - `docs/modules/ui/offline-operations/README.md` - `docs/modules/ui/quota-health-aoc-operations/README.md` - `docs/features/checked/web/execution-operations-ui.md`