Preserve topology and triage scope in live setup flows
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Sprint 20260310_004 - Setup Topology Live Action Sweep
|
||||
|
||||
## Topic & Scope
|
||||
- Verify the Setup/Topology slice against the rebuilt `https://stella-ops.local` stack with real Playwright interactions, not route-only checks.
|
||||
- Treat scope preservation as part of correctness: topology tabs and operator actions must keep the active tenant/region/environment/time-window context.
|
||||
- Working directory: `src/Web/StellaOps.Web`.
|
||||
- Expected evidence: live Playwright sweep JSON, focused Angular tests, execution log updates, and a scoped commit.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on the rebuilt web bundle and healthy frontdoor stack already running through `devops/compose/docker-compose.stella-ops.yml`.
|
||||
- Safe to run in parallel with backend/search work as long as edits stay inside `src/Web/StellaOps.Web` and this sprint file.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/qa/feature-checks/FLOW.md`
|
||||
- `docs/modules/platform/architecture-overview.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-TOPO-LIVE-001 - Capture live topology action evidence
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: QA, Developer
|
||||
Task description:
|
||||
- Add a dedicated live Playwright script for Setup/Topology that exercises the shell tabs, overview CTAs, environment inventory actions, and environment detail actions on the authenticated frontdoor.
|
||||
- The sweep must fail when routes misnavigate, when runtime errors surface, or when actions drop active scope query parameters that should remain stable across topology flows.
|
||||
|
||||
Completion criteria:
|
||||
- [x] A committed live sweep script exists under `src/Web/StellaOps.Web/scripts/`.
|
||||
- [x] The sweep captures fresh evidence under `src/Web/StellaOps.Web/output/playwright/`.
|
||||
- [x] Any failures are diagnosed to code-level root causes before implementation changes begin.
|
||||
|
||||
### FE-TOPO-LIVE-002 - Repair topology scope-preserving navigation
|
||||
Status: DONE
|
||||
Dependency: FE-TOPO-LIVE-001
|
||||
Owners: Developer
|
||||
Task description:
|
||||
- Apply the existing Stella Ops scope-preserving navigation pattern to the topology shell and topology operator actions so the live context survives shell navigation and drilldowns.
|
||||
- Keep the fix scoped to topology unless a broader shared change is clearly required and low risk.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Topology shell navigation preserves active scope.
|
||||
- [x] Topology CTA/drilldown actions preserve active scope while adding route-specific parameters.
|
||||
- [x] Focused tests cover the changed navigation contracts.
|
||||
|
||||
### FE-TOPO-LIVE-003 - Reverify live topology slice after fixes
|
||||
Status: DONE
|
||||
Dependency: FE-TOPO-LIVE-002
|
||||
Owners: QA
|
||||
Task description:
|
||||
- Rebuild the web bundle if needed, sync it into the live stack, rerun the exact topology sweep, and confirm the slice is clean.
|
||||
|
||||
Completion criteria:
|
||||
- [x] The topology sweep passes with zero failed actions.
|
||||
- [x] The topology sweep reports zero runtime issues.
|
||||
- [x] Execution Log records the before/after evidence and the commit hash.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-10 | Sprint created for the next live QA/developer iteration on Setup/Topology after the clean canonical frontdoor, policy, releases, notifications, and mission-control sweeps. | QA |
|
||||
| 2026-03-10 | First authenticated live topology sweep failed 25 actions with 0 runtime issues. Every failure traced to scope loss across topology shell tabs, CTA/drilldown links, or environment detail operator actions; two tab failures were harness selector collisions on partial `Security` and `Evidence` matches. | QA |
|
||||
| 2026-03-10 | Root cause analysis found two product defects: Topology links were not consistently using scope-preserving navigation, and `SecurityFindingsPageComponent.reloadFromFilters()` rewrote `/security/triage` without merge semantics, stripping the incoming topology scope. | Developer |
|
||||
| 2026-03-10 | Added focused navigation regressions for topology and security findings. Focused Angular run passed `6/6` assertions across `2` spec files. | Test Automation |
|
||||
| 2026-03-10 | Rebuilt the web bundle, synced `dist/stellaops-web/browser` into `compose_console-dist`, and reran the same live topology sweep. Final evidence is clean with `0` failed actions and `0` runtime issues in `src/Web/StellaOps.Web/output/playwright/live-setup-topology-action-sweep.json`. Commit hash pending local commit. | QA |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: treat scope preservation as a correctness requirement in topology because the active platform context changes the data surface on every page and drilldown.
|
||||
- Risk: `TabbedNavComponent` is shared across multiple shells. If topology needs scope-preserving shell tabs, prefer an opt-in contract instead of a silent repo-wide behavior change.
|
||||
- Decision: `TabItem` now supports opt-in `queryParamsHandling`, and Topology explicitly sets `merge` on its shell tabs. This preserves scope without changing every other shared tabbed navigation surface.
|
||||
- Decision: fixing the destination rewrite in `/security/triage` is mandatory. Accepting a scoped entry link is not sufficient if the landing page immediately discards the topology context.
|
||||
|
||||
## Next Checkpoints
|
||||
- Capture the first failing topology live sweep.
|
||||
- Repair the navigation contracts and re-run the same sweep before committing.
|
||||
Reference in New Issue
Block a user