feat(ui): ship contextual action primitives
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
# Sprint 20260307-029 - Contextual Actions And Stray Surfaces
|
||||
|
||||
## Topic & Scope
|
||||
- Define and implement the shared FE interaction contract for functionality that should become a submenu, tab, segmented queue mode, drawer, or full detail page instead of a new top-level product.
|
||||
- Build the reusable drawer, right-rail, split-view, context-header, and overview-card primitives needed by the restoration sprints.
|
||||
- Adopt those primitives into the shipped restoration features so this sprint delivers working UI infrastructure, not just another contract document.
|
||||
- Working directory: `src/Web/StellaOps.Web/src/app/shared`.
|
||||
- Allowed coordination edits: `src/Web/StellaOps.Web/src/app/layout/`, `src/Web/StellaOps.Web/src/app/routes/`, `docs/modules/ui/contextual-actions-patterns`, `docs/modules/ui/restoration-topics/README.md`, and `docs/modules/ui/TASKS.md`.
|
||||
- Expected evidence: shipped shared UI primitives in `src/Web/**`, adopted patterns in restoration features, route-state helpers, shared tests, and updated docs.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on:
|
||||
- `docs/modules/ui/contextual-actions-patterns/README.md`
|
||||
- `docs/modules/ui/restoration-topics/README.md`
|
||||
- `docs/modules/ui/watchlist-operations/README.md`
|
||||
- `docs/modules/ui/reachability-witnessing/README.md`
|
||||
- `docs/modules/ui/platform-ops-consolidation/README.md`
|
||||
- `docs/modules/ui/triage-explainability-workspace/README.md`
|
||||
- `docs/modules/ui/workflow-visualization-replay/README.md`
|
||||
- Safe parallelism:
|
||||
- the decision matrix and route-state contract should freeze before topic-specific FE implementation starts
|
||||
- shared primitives can be implemented in parallel after the contract is stable
|
||||
- topic sprints can adopt the primitives in parallel once interfaces are frozen
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/modules/ui/contextual-actions-patterns/README.md`
|
||||
- `docs/modules/ui/restoration-topics/README.md`
|
||||
- `docs/modules/ui/architecture.md`
|
||||
- `docs/modules/ui/architecture-rework.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-CA-001 - Implement the shared route-state contract
|
||||
Status: TODO
|
||||
Dependency: none
|
||||
Owners: FE Architect, Product Manager
|
||||
Task description:
|
||||
- Implement the shared route-state helpers for `tab`, `panel`, `drawer`, `returnTo`, `scope`, and `view`.
|
||||
- Make the restoration topics consume one working route-state model instead of each inventing bespoke state handling.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Shared route-state helpers exist in code.
|
||||
- [ ] Restoration topics can consume one route-state contract instead of bespoke state rules.
|
||||
- [ ] The placement hierarchy remains documented as the policy for using the new helpers.
|
||||
|
||||
### FE-CA-002 - Ship the shared contextual drawer host
|
||||
Status: TODO
|
||||
Dependency: FE-CA-001
|
||||
Owners: Developer, FE Architect
|
||||
Task description:
|
||||
- Build the shared drawer host used for edit, inspect, explain, and proof flows.
|
||||
- Standardize size, close behavior, route-state binding, keyboard handling, and history interactions in working code.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Drawer host is available for adoption in the restoration features.
|
||||
- [ ] Route-state open and close behavior works in code.
|
||||
- [ ] Accessibility and keyboard behavior are verified for the shared host.
|
||||
|
||||
### FE-CA-003 - Ship split-view, right-rail, and context-header primitives
|
||||
Status: TODO
|
||||
Dependency: FE-CA-001
|
||||
Owners: Developer, FE Architect
|
||||
Task description:
|
||||
- Build reusable split list/detail, right-rail, and context-header primitives for watchlist, triage, evidence, and reachability surfaces.
|
||||
- Ensure responsive behavior works in the shipped components rather than remaining a note in docs.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Split-view, right-rail, and context-header primitives exist in code.
|
||||
- [ ] Panel-stack behavior is usable in the shipped primitives.
|
||||
- [ ] Responsive fallback behavior works in the adopted surfaces.
|
||||
|
||||
### FE-CA-004 - Ship grouped overview-card and submenu primitives
|
||||
Status: TODO
|
||||
Dependency: FE-CA-001
|
||||
Owners: Product Manager, Developer
|
||||
Task description:
|
||||
- Build the grouped overview-card and submenu primitives used by Operations and narrow setup/admin capabilities.
|
||||
- Standardize one-card-to-one-route and one-submenu-to-one-owner patterns in working components.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Grouped overview-card primitives exist in code.
|
||||
- [ ] Submenu patterns are usable by owner shells.
|
||||
- [ ] Card-to-route and submenu-to-owner behavior is consistent in the shipped implementation.
|
||||
|
||||
### FE-CA-005 - Adopt the shared primitives into the restoration features
|
||||
Status: TODO
|
||||
Dependency: FE-CA-001
|
||||
Owners: FE Architect, Developer
|
||||
Task description:
|
||||
- Adopt the shared route-state, drawer, split-view, right-rail, context-header, and overview-card primitives into the restoration features.
|
||||
- Do not count this sprint complete until the primitives are used by the first shipped feature set rather than sitting unused in `shared`.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] At least the Watchlist, Reachability, and Triage or Workflow surfaces adopt the shared primitives.
|
||||
- [ ] Shared primitives replace bespoke implementations where the new restoration work lands.
|
||||
- [ ] Topic-specific adoption is visible in the shipped feature code.
|
||||
|
||||
### FE-CA-006 - Verify, document, and enforce shared usage
|
||||
Status: TODO
|
||||
Dependency: FE-CA-003
|
||||
Owners: QA, Documentation author
|
||||
Task description:
|
||||
- Add shared verification coverage for drawers, panels, tabs, split views, overview cards, and return-to-context behavior.
|
||||
- Update docs so future restoration work treats these primitives as required building blocks, not optional helpers.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Shared verification covers the adopted primitives.
|
||||
- [ ] Restoration sprints reference and consume the shared primitives.
|
||||
- [ ] Shared docs are updated to reflect the shipped primitive set.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-07 | Sprint created to ship the shared primitives that let restored but narrow functionality become usable submenus, tabs, drawers, right rails, and detail pages instead of spawning new top-level products. | Project Manager |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: contextual placement is a shared FE concern and should not be reinvented per topic.
|
||||
- Decision: stable route-state semantics are required for drawers, panels, and return-to-context behavior.
|
||||
- Risk: individual restoration sprints may drift and invent incompatible panel patterns before the shared contract lands.
|
||||
- Mitigation: freeze the shared contract first and make topic sprints depend on it.
|
||||
- Risk: responsive behavior may differ across list/detail, drawer, and right-rail surfaces.
|
||||
- Mitigation: require responsive fallback rules in the shared primitive contract before implementation begins.
|
||||
- Delivery rule: this sprint is only complete when the shared primitives are implemented and adopted by the restoration features, not when the contract is only documented.
|
||||
- Reference design note: `docs/modules/ui/contextual-actions-patterns/README.md`.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-08: confirm placement hierarchy and route-state contract.
|
||||
- 2026-03-09: freeze drawer, right-rail, split-view, and context-header primitives.
|
||||
- 2026-03-10: finalize adoption map and QA expectations for the restoration sprints.
|
||||
Reference in New Issue
Block a user