Promote /tables, /excel-query, /query-tool, /mid-section-defect from deferred to full shell-governed in-scope routes with canonical redirects, content contracts, governance artifacts, and updated CI gates. Unify all page header gradients to #667eea → #764ba2 and h1 font-size to 24px for visual consistency across all dashboard pages. Remove Native Route-View dev annotations from job-query, excel-query, and query-tool headers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
83 lines
5.4 KiB
Markdown
83 lines
5.4 KiB
Markdown
# page-content-modernization-safety Specification
|
|
|
|
## Purpose
|
|
TBD - created by archiving change full-modernization-architecture-blueprint. Update Purpose after archive.
|
|
## Requirements
|
|
### Requirement: In-scope page-content modernization SHALL be contract-first
|
|
Before chart/filter/page interaction refactors are cut over, each in-scope route SHALL define a contract baseline that captures data and interaction semantics.
|
|
|
|
#### Scenario: Route contract baseline defined
|
|
- **WHEN** an in-scope route is selected for chart/filter modernization
|
|
- **THEN** the route SHALL define filter input semantics, query payload expectations, and chart data-shape contracts
|
|
- **THEN** the route SHALL define critical state expectations for loading, empty, error, and success interactions
|
|
|
|
#### Scenario: Deferred-route contract baseline defined
|
|
- **WHEN** `/tables`, `/excel-query`, `/query-tool`, or `/mid-section-defect` enters modernization
|
|
- **THEN** a route-level baseline SHALL capture filter input semantics, query payload shape, and critical state expectations
|
|
|
|
### Requirement: Cutover SHALL require parity evidence against baseline behavior
|
|
In-scope chart/filter modernization cutover SHALL require parity evidence against baseline fixtures and critical interaction flows.
|
|
|
|
#### Scenario: Parity gate before default switch
|
|
- **WHEN** a route is proposed for defaulting to a modernized chart/filter implementation
|
|
- **THEN** golden fixture parity checks SHALL pass for defined critical states
|
|
- **THEN** interaction parity checks SHALL pass for filter apply/reset and chart selection/drill behaviors
|
|
|
|
### Requirement: Route-level content cutover SHALL be reversible
|
|
Modernized chart/filter content rollouts SHALL use reversible controls that allow immediate rollback without reverting unrelated shell architecture work.
|
|
|
|
#### Scenario: Controlled rollout and rollback
|
|
- **WHEN** a modernized route is enabled for users
|
|
- **THEN** the route SHALL be controlled by route-scoped feature flag or equivalent switch
|
|
- **THEN** rollback procedure SHALL be documented and executable within one release cycle
|
|
|
|
### Requirement: Page-content modernization progression SHALL require manual route acceptance
|
|
In-scope chart/filter/page-content migration SHALL progress one route at a time with explicit manual acceptance records.
|
|
|
|
#### Scenario: Route-by-route manual acceptance gate
|
|
- **WHEN** an in-scope route completes modernization implementation and parity checks
|
|
- **THEN** that route SHALL be manually accepted using a defined checklist covering filter flows, chart interactions, empty/error behavior, and visual correctness
|
|
- **THEN** the next route SHALL NOT begin cutover until manual acceptance for the current route is signed off
|
|
|
|
### Requirement: Deferred-route implementation SHALL require pre-change confirmation
|
|
Each deferred route SHALL complete a route-scoped pre-change confirmation before implementation begins.
|
|
|
|
#### Scenario: Route enters implementation queue
|
|
- **WHEN** a deferred route is selected for modernization implementation
|
|
- **THEN** a pre-change confirmation record SHALL exist before any route code changes proceed
|
|
- **THEN** the record SHALL include current route status snapshot, baseline contract references, known-bug baseline reference, and rollback flag plan
|
|
|
|
### Requirement: Deferred-route modernization scope SHALL NOT be limited to already-released routes
|
|
Deferred modernization scope SHALL follow the deferred route matrix, even if those routes are currently marked `dev`.
|
|
|
|
#### Scenario: Route status is dev in page registry
|
|
- **WHEN** `/tables`, `/excel-query`, `/query-tool`, or `/mid-section-defect` is currently `dev`
|
|
- **THEN** the route SHALL remain eligible for modernization in this follow-up change
|
|
- **THEN** already-`released` in-scope routes outside deferred scope SHALL not be reopened by this change unless explicitly required for shared governance wiring
|
|
|
|
### Requirement: Known legacy bugs in migrated scope SHALL NOT be carried into modernized routes
|
|
Modernized route acceptance SHALL include explicit revalidation of known legacy defects in migrated scope, and reproduced defects SHALL block sign-off.
|
|
|
|
#### Scenario: Route-level legacy bug baseline and replay
|
|
- **WHEN** an in-scope route enters chart/filter/page-content modernization
|
|
- **THEN** a route-level known-bug baseline (within migrated scope) SHALL be recorded before implementation
|
|
- **THEN** manual acceptance SHALL replay those known-bug checks on the modernized route
|
|
|
|
#### Scenario: Deferred-route bug replay gate
|
|
- **WHEN** deferred-route manual acceptance executes
|
|
- **THEN** known-bug replay checks SHALL run
|
|
- **THEN** reproduced known bugs SHALL fail route sign-off and block legacy retirement
|
|
|
|
#### Scenario: Legacy bug carry-over is blocked
|
|
- **WHEN** manual acceptance finds that a known legacy bug is still reproducible in the modernized route
|
|
- **THEN** route sign-off SHALL fail
|
|
- **THEN** route cutover completion and legacy code retirement SHALL be blocked until the bug is fixed
|
|
|
|
### Requirement: Legacy content path retirement SHALL require parity and manual acceptance
|
|
Legacy chart/filter implementations SHALL be removed only after parity checks and manual acceptance criteria are satisfied.
|
|
|
|
#### Scenario: Legacy removal approval
|
|
- **WHEN** legacy chart/filter code is planned for removal on an in-scope route
|
|
- **THEN** the route SHALL provide parity pass evidence and manual acceptance sign-off records
|
|
- **THEN** unresolved parity failures or manual acceptance defects SHALL block legacy removal
|