docs(platform): archive release health evidence adapter sprint
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# Sprint 20260307-013 - Platform Release Health Multi-Scope Evidence Adapter
|
||||
|
||||
## Topic & Scope
|
||||
- Repair the Pack22 release-health contract so multi-region context is preserved across Platform read models instead of being collapsed to the first selected region.
|
||||
- Add the missing `/api/v2/evidence/packs` adapter required by shared topology and mission-control environment surfaces.
|
||||
- Align the Web release-health/topology environment surfaces with multi-region environment scope so headers and evidence summaries no longer degrade into `unknown-region` or silent `404 -> empty` behavior.
|
||||
- Working directory: `src/Platform/StellaOps.Platform.WebService`.
|
||||
- Expected evidence: focused Platform endpoint tests, focused Web unit tests, live Playwright verification on `https://stella-ops.local`, and updated docs.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on `SPRINT_20260307_012_FE_mission_control_release_health_environment_resolution` for the initial route/query-context repair in the shared release-health component.
|
||||
- Safe parallelism: Platform contract work may update the consuming Web release-health/topology files and the global context interceptor, but must not touch unrelated UI/navigation/settings work already in progress from other agents.
|
||||
- This iteration is scoped to release-health/topology/evidence contract correctness only; broader evidence UX and cross-module correlation filters remain separate follow-up work.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `src/Platform/AGENTS.md`
|
||||
- `src/Web/StellaOps.Web/AGENTS.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
- `docs/modules/ui/v2-rewire/S00_endpoint_contract_ledger_v2_pack22.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### PLAT-RH-001 - Reproduce multi-scope release-health contract failures
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: QA
|
||||
Task description:
|
||||
- Replay `/mission-control/release-health` with live Playwright after the route fallback fix and capture the real backend request set.
|
||||
- Confirm whether the route still narrows context incorrectly or calls missing evidence contracts.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Live Playwright captures the actual request/response set for release-health.
|
||||
- [x] Root cause is reduced to concrete contract defects instead of generic empty-state rendering.
|
||||
|
||||
### PLAT-RH-002 - Preserve multi-select scope through Platform read models
|
||||
Status: DONE
|
||||
Dependency: PLAT-RH-001
|
||||
Owners: Developer
|
||||
Task description:
|
||||
- Update the global Web context propagation and Platform release read models so multi-region/multi-environment scope remains a real filter set instead of collapsing to the first selected value.
|
||||
- Add targeted backend tests that prove comma-delimited scope filters are honored deterministically.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Multi-region scope no longer collapses to `region=<first-selected>` semantics for release-health traffic.
|
||||
- [x] Release read-model endpoints honor comma-delimited region/environment filters.
|
||||
- [x] Targeted backend tests prove deterministic multi-scope behavior.
|
||||
|
||||
### PLAT-RH-003 - Add the Pack22 evidence packs adapter for release-health/topology
|
||||
Status: DONE
|
||||
Dependency: PLAT-RH-001
|
||||
Owners: Developer
|
||||
Task description:
|
||||
- Implement `/api/v2/evidence/packs` in Platform as the Pack22 read-model adapter required by shared topology and mission-control environment views.
|
||||
- Return deterministic list payloads derived from release evidence posture instead of allowing the UI to hit a nonexistent route.
|
||||
|
||||
Completion criteria:
|
||||
- [x] `/api/v2/evidence/packs` returns `200` on the live stack.
|
||||
- [x] Shared topology/release-health consumers can load decision capsule summaries without silent `404` fallback.
|
||||
- [x] Targeted backend tests cover deterministic list behavior and policy wiring.
|
||||
|
||||
### PLAT-RH-004 - Rebind shared environment surfaces to multi-scope summaries
|
||||
Status: DONE
|
||||
Dependency: PLAT-RH-002
|
||||
Owners: Developer
|
||||
Task description:
|
||||
- Update the shared environment posture/detail UI so multi-region environment scope renders an accurate label instead of `unknown-region`.
|
||||
- Keep the route query fallback from Sprint 012 while making the shared presentation reflect the resolved scope and live evidence contract.
|
||||
|
||||
Completion criteria:
|
||||
- [x] `/mission-control/release-health` shows a resolved environment label and multi-region summary.
|
||||
- [x] Shared topology environment surfaces stop showing `unknown-region` for valid multi-scope selections.
|
||||
- [x] Focused Web tests cover multi-region scope presentation and context propagation.
|
||||
|
||||
### PLAT-RH-005 - Replay the live release-health flow end to end
|
||||
Status: DONE
|
||||
Dependency: PLAT-RH-003
|
||||
Owners: QA
|
||||
Task description:
|
||||
- Rebuild only the touched Platform/Web artifacts, redeploy them, and replay the release-health route plus its action links with live Playwright.
|
||||
- Confirm the page loads real data contracts and no longer masks missing evidence or narrowed region scope.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Live Playwright shows a resolved environment/region summary without `unknown-region`.
|
||||
- [x] Live Playwright captures `200` responses for the release-health evidence/read-model requests.
|
||||
- [x] Release-health action links remain reachable after the contract fixes.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-07 | Sprint created after live Playwright on `/mission-control/release-health` showed two deeper contract defects: global context narrowed multi-region scope to `region=apac`, and the shared component called missing `/api/v2/evidence/packs` routes while rendering false empty summaries. | QA |
|
||||
| 2026-03-07 | Updated the global context HTTP interceptor and Platform release read models to preserve comma-delimited region/environment scope sets end to end; focused Angular specs passed and focused Platform endpoint tests passed through the Platform test executable (`Total: 8, Errors: 0, Failed: 0, Skipped: 0`). | Developer |
|
||||
| 2026-03-07 | Added the Platform `/api/v2/evidence/packs` adapter, rebuilt the scoped Platform container and Web bundle, and replayed `/mission-control/release-health` plus shared topology environment actions with live Playwright. Post-auth route checks were clean, Pack22 requests returned `200`, and the shared action links stayed reachable without degraded state. | QA |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: treat the release-health failure as a shared Pack22 contract problem, not a one-off FE route bug, because the same evidence/scope defects impact shared topology environment surfaces.
|
||||
- Decision: keep the iteration scoped to Platform read models plus the directly affected Web consumers, rather than broadening into general evidence UX work.
|
||||
- Decision: implement `/api/v2/evidence/packs` as a deterministic Platform read-model adapter derived from release run evidence posture so Pack22 surfaces consume a canonical Console backend contract instead of probing nonexistent evidence routes.
|
||||
- Risk: the signed-out shell still emits unauthenticated `/api/v2/context/*` and `/api/v1/doctor/scheduler/trends/categories/*` bootstrap requests before auth is established; that is a separate live defect for the next QA/developer iteration.
|
||||
- Risk: other pages may still assume single-region scope in ad hoc component code; continue Playwright sweeps after this iteration lands.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-07: start the next live-auth/bootstrap iteration on the signed-out shell `401` requests discovered during the topology sweep.
|
||||
Reference in New Issue
Block a user