80 lines
3.8 KiB
Markdown
80 lines
3.8 KiB
Markdown
# 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
|
|
|