Segment-bound doctor and scheduler frontdoor chunks
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Sprint 20260310-021 - Router Frontdoor Segment Bound Scheduler Doctor Chunks
|
||||
|
||||
## Topic & Scope
|
||||
- Repair the remaining live frontdoor regressions where newly-added `/doctor` and `/scheduler` compatibility prefixes capture Angular lazy chunks instead of only owning the actual URL segment.
|
||||
- Revalidate the scratch stack with Playwright after the gateway config change so canonical route coverage can move past router dispatch defects.
|
||||
- Working directory: `src/Router`.
|
||||
- Allowed coordination edits: `devops/compose/router-gateway-local.json`, `docs/modules/router/architecture.md`, `devops/compose/README.md`, `docs/implplan/SPRINT_20260310_021_Router_frontdoor_segment_bound_scheduler_doctor_chunks.md`.
|
||||
- Expected evidence: focused router tests, live chunk/backend probes, and a rerun of the canonical Playwright sweep.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on `SPRINT_20260310_020_Router_frontdoor_route_boundary_and_service_prefix_repair.md`, which introduced the shell compatibility prefixes that exposed the lazy-chunk collision.
|
||||
- Safe parallelism: stay inside router config/tests/docs while the frontend route layer remains untouched.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `AGENTS.md`
|
||||
- `src/Router/AGENTS.md`
|
||||
- `src/Router/StellaOps.Gateway.WebService/AGENTS.md`
|
||||
- `src/Router/__Tests/StellaOps.Gateway.WebService.Tests/AGENTS.md`
|
||||
- `docs/modules/router/architecture.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### ROUTER-SEGMENT-001 - Segment-bound doctor and scheduler frontdoor prefixes
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: Developer, QA
|
||||
Task description:
|
||||
- Change the frontdoor `/doctor` and `/scheduler` regexes so they match only the route segment and no longer own static chunk filenames such as `doctor.routes-*.js` and `scheduler-ops.routes-*.js`.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Gateway config uses segment-bound regexes for both prefixes.
|
||||
- [x] Focused route-table tests lock the exact regexes.
|
||||
- [x] Resolver tests prove static chunks still resolve to SPA/static files.
|
||||
|
||||
### ROUTER-SEGMENT-002 - Reverify the live scratch frontdoor and Playwright sweep
|
||||
Status: DONE
|
||||
Dependency: ROUTER-SEGMENT-001
|
||||
Owners: QA
|
||||
Task description:
|
||||
- Restart `router-gateway`, verify the affected chunk URLs and API prefixes live, and rerun the canonical Playwright route sweep on `https://stella-ops.local`.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Live chunk requests for doctor and scheduler return frontend assets instead of `503`.
|
||||
- [x] Live backend requests through `/doctor/*` and `/scheduler/*` still reach the authenticated services.
|
||||
- [x] Canonical Playwright sweep no longer fails on `/ops/operations/doctor` or `/ops/operations/scheduler`.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-10 | Sprint created after the canonical Playwright sweep isolated two remaining failures. Root cause: the new `/doctor` and `/scheduler` frontdoor regexes were broad enough to capture lazy chunk files and return `503` on dynamic imports. | Developer |
|
||||
| 2026-03-10 | Tightened the doctor and scheduler regexes to `(?=/|$)` segment-bound forms, added route-table/resolver/middleware coverage, and reran the focused router test project successfully (`273/273`). | Developer |
|
||||
| 2026-03-10 | Recycled `router-gateway`, confirmed doctor/scheduler API prefixes still return authenticated backend responses, confirmed the previously failing lazy chunk URLs now return `200 text/javascript`, and reran the canonical Playwright sweep cleanly at `111/111` passed. | QA |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: root-prefix compatibility routes must follow the same segment-bound rule as `/policy` whenever the SPA emits chunk names with a shared textual prefix.
|
||||
- Risk: if additional frontdoor root prefixes are added without the boundary rule, similar lazy-chunk outages can reappear. Mitigation: keep resolver tests for static-chunk collisions alongside route-table changes.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-10: rerun the live canonical sweep and confirm whether any non-router failures remain.
|
||||
Reference in New Issue
Block a user