feat(modernization): promote deferred routes to in-scope and unify page header styles

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>
This commit is contained in:
egg
2026-02-12 13:20:06 +08:00
parent 0ed69ce326
commit c38b5f646a
67 changed files with 1073 additions and 252 deletions

View File

@@ -15,11 +15,13 @@ Current deferred-route risks:
- Adopt canonical shell routing and explicit compatibility policy.
- Execute contract-first content modernization with parity and rollback controls.
- Enforce mandatory manual acceptance and BUG revalidation before sign-off.
- Enforce mandatory pre-change confirmation before each deferred-route implementation starts.
**Non-Goals**
- Reworking already in-scope phase-1 routes again.
- Changing backend business data semantics beyond compatibility safeguards.
- Bundling unrelated admin/report features into this follow-up.
- Restricting this change to already-`released` routes only (deferred routes are the intended modernization scope even when currently marked `dev`).
## Decisions
@@ -38,6 +40,11 @@ Current deferred-route risks:
- Known bug baseline must be recorded before implementation.
- Reproduced known bugs on modernized path block sign-off and legacy retirement.
### D5. Pre-change confirmation is required per route
- Before changing `/tables`, `/excel-query`, `/query-tool`, or `/mid-section-defect`, maintainers must record route-scoped pre-change confirmation.
- Pre-change confirmation must include: current route status snapshot, scope boundary check, baseline contract/bug references, and planned rollback flag.
- Implementation work for a route is blocked until its pre-change confirmation is recorded.
## Risks / Trade-offs
- Deferred routes may have heavier legacy coupling than phase-1 routes.
@@ -48,10 +55,11 @@ Current deferred-route risks:
1. Freeze deferred-route scope matrix for this follow-up change.
2. Extend shell route contracts and metadata coverage to full completeness.
3. Define route content contracts + golden fixtures + interaction parity checks.
4. Execute per-route migration with feature-flagged cutover and manual acceptance.
5. Retire deferred-route runtime fallback posture after acceptance and readiness gates pass.
6. Update runbook/rollback docs and close handoff linkage.
3. Record pre-change confirmation for the first deferred route to be modernized.
4. Define route content contracts + golden fixtures + interaction parity checks.
5. Execute per-route migration with feature-flagged cutover and manual acceptance.
6. Retire deferred-route runtime fallback posture after acceptance and readiness gates pass.
7. Update runbook/rollback docs and close handoff linkage.
## Rollback Strategy

View File

@@ -14,6 +14,7 @@ Those routes still run on legacy posture (direct-entry-first + fallback continui
- Promote all deferred routes to first-class in-scope shell-governed targets.
- Apply canonical shell routing policy and explicit direct-entry compatibility behavior for each deferred route.
- Modernize deferred route page-content flow (filters/charts/interactions) with contract-first parity gates.
- Require route-by-route pre-change confirmation records before any implementation work starts on each deferred route.
- Apply the same mandatory manual acceptance + BUG revalidation blocking policy used in phase 1.
- Move deferred routes from fallback-era runtime posture to asset-readiness + governed retirement posture.
@@ -31,3 +32,4 @@ Those routes still run on legacy posture (direct-entry-first + fallback continui
- Shell contract and navigation governance in `frontend/src/portal-shell/**`.
- Backend route handlers serving deferred routes and compatibility behavior.
- Quality gate artifacts, runbook updates, and rollout/rollback policy for deferred-route cutover.
- Scope boundary clarification: this follow-up explicitly targets deferred routes (currently `dev` in page status) and does not require routes to already be `released` before modernization.

View File

@@ -7,6 +7,22 @@ Before deferred routes are cut over to modernized implementations, each route SH
- **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: 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: Deferred-route cutover SHALL require parity + manual acceptance
Deferred routes SHALL NOT complete cutover without parity evidence and explicit manual sign-off.
@@ -23,4 +39,3 @@ Known legacy bugs in deferred-route migrated scope SHALL be replayed during acce
- **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

View File

@@ -0,0 +1,41 @@
## 1. Scope and Governance Freeze
- [x] 1.1 Publish frozen in-scope matrix for `/tables`, `/excel-query`, `/query-tool`, `/mid-section-defect`
- [x] 1.2 Define completion criteria, deprecation milestones, and exception registry updates for deferred-route phase
- [x] 1.3 Record explicit upstream linkage to `full-modernization-architecture-blueprint` handoff artifacts
- [x] 1.4 Add deferred-route pre-change confirmation template and required fields (status snapshot, contract baseline refs, known-bug baseline ref, rollback flag plan)
- [x] 1.5 Record scope boundary note that deferred/dev routes are in-scope for this change and released-only restriction does not apply
## 2. Shell Route Contract Completion
- [x] 2.1 Promote deferred routes to in-scope in shell route contracts with complete metadata
- [x] 2.2 Implement governed navigation targets and visibility policy validation for all deferred routes
- [x] 2.3 Add CI-blocking checks for missing deferred-route contract metadata in this phase
## 3. Canonical Routing and Compatibility
- [x] 3.1 Define canonical shell entry behavior for each deferred route
- [x] 3.2 Implement explicit compatibility policy for direct non-canonical entry with query continuity
- [x] 3.3 Add integration tests for canonical redirect and compatibility semantics
## 4. Page-Content Modernization Safety
- [x] 4.0 Before each route implementation starts, record and approve route-scoped pre-change confirmation
- [x] 4.1 Define per-route content contracts (filter semantics, payload, chart/table shape, state transitions)
- [x] 4.2 Build golden fixtures and interaction parity checks for each deferred route
- [x] 4.3 Add route-scoped feature flags and rollback controls for deferred-route cutover
- [x] 4.4 Define and enforce per-route manual acceptance checklist and sign-off records
- [x] 4.5 Record known-bug baselines before implementation and require bug replay during acceptance
- [x] 4.6 Block sign-off and legacy retirement when known bugs reproduce on modernized routes
## 5. Asset Readiness and Fallback Retirement
- [x] 5.1 Extend asset-readiness manifest/checks to deferred routes
- [x] 5.2 Enforce fail-fast release behavior when deferred-route assets are missing
- [x] 5.3 Retire deferred-route runtime fallback posture per governance milestones
## 6. Quality Gates, CI, and Rollout
- [x] 6.1 Extend functional/visual/accessibility/performance gates to deferred routes
- [x] 6.2 Wire CI jobs for route governance, quality gates, and readiness checks for deferred scope
- [x] 6.3 Update rollout runbook, rollback controls, and observability checkpoints for deferred-route cutover

View File

@@ -1,38 +0,0 @@
## 1. Scope and Governance Freeze
- [ ] 1.1 Publish frozen in-scope matrix for `/tables`, `/excel-query`, `/query-tool`, `/mid-section-defect`
- [ ] 1.2 Define completion criteria, deprecation milestones, and exception registry updates for deferred-route phase
- [ ] 1.3 Record explicit upstream linkage to `full-modernization-architecture-blueprint` handoff artifacts
## 2. Shell Route Contract Completion
- [ ] 2.1 Promote deferred routes to in-scope in shell route contracts with complete metadata
- [ ] 2.2 Implement governed navigation targets and visibility policy validation for all deferred routes
- [ ] 2.3 Add CI-blocking checks for missing deferred-route contract metadata in this phase
## 3. Canonical Routing and Compatibility
- [ ] 3.1 Define canonical shell entry behavior for each deferred route
- [ ] 3.2 Implement explicit compatibility policy for direct non-canonical entry with query continuity
- [ ] 3.3 Add integration tests for canonical redirect and compatibility semantics
## 4. Page-Content Modernization Safety
- [ ] 4.1 Define per-route content contracts (filter semantics, payload, chart/table shape, state transitions)
- [ ] 4.2 Build golden fixtures and interaction parity checks for each deferred route
- [ ] 4.3 Add route-scoped feature flags and rollback controls for deferred-route cutover
- [ ] 4.4 Define and enforce per-route manual acceptance checklist and sign-off records
- [ ] 4.5 Record known-bug baselines before implementation and require bug replay during acceptance
- [ ] 4.6 Block sign-off and legacy retirement when known bugs reproduce on modernized routes
## 5. Asset Readiness and Fallback Retirement
- [ ] 5.1 Extend asset-readiness manifest/checks to deferred routes
- [ ] 5.2 Enforce fail-fast release behavior when deferred-route assets are missing
- [ ] 5.3 Retire deferred-route runtime fallback posture per governance milestones
## 6. Quality Gates, CI, and Rollout
- [ ] 6.1 Extend functional/visual/accessibility/performance gates to deferred routes
- [ ] 6.2 Wire CI jobs for route governance, quality gates, and readiness checks for deferred scope
- [ ] 6.3 Update rollout runbook, rollback controls, and observability checkpoints for deferred-route cutover

View File

@@ -19,13 +19,21 @@ Runtime fallback behavior for in-scope modernization routes SHALL be retired und
- **THEN** runtime fallback behavior for that route SHALL be removed or disabled by policy
- **THEN** reliability for that route SHALL be guaranteed by release-time readiness gates
### Requirement: Deferred routes SHALL keep existing fallback posture in this phase
Routes deferred from this modernization phase SHALL retain their existing fallback posture until handled by a follow-up change.
### Requirement: Deferred-route assets SHALL be release-ready before promotion
Deferred follow-up routes SHALL adopt release-time asset-readiness checks and SHALL fail promotion when required assets are missing.
#### Scenario: Deferred fallback continuity
- **WHEN** `/tables`, `/excel-query`, `/query-tool`, or `/mid-section-defect` is evaluated in this phase
- **THEN** fallback retirement SHALL NOT be required for phase completion
- **THEN** fallback retirement decisions for those routes SHALL be addressed in a follow-up modernization change
#### Scenario: Deferred-route readiness validation
- **WHEN** release artifacts are prepared for deferred-route promotion
- **THEN** required assets for `/tables`, `/excel-query`, `/query-tool`, and `/mid-section-defect` SHALL be validated
- **THEN** missing required assets SHALL fail release gating
### Requirement: Deferred-route runtime fallback SHALL be retired by governed policy
Deferred follow-up routes SHALL not remain on runtime fallback posture after readiness, parity, and manual acceptance gates pass.
#### Scenario: Deferred-route fallback retirement
- **WHEN** a deferred route passes readiness, parity, and manual acceptance gates
- **THEN** runtime fallback posture for that route SHALL be retired according to milestone policy
- **THEN** rollback control SHALL remain available via explicit route-level governance switch
### Requirement: Fallback-retirement failure response SHALL be consistent across route hosts
When in-scope runtime fallback retirement is enabled and route assets are unavailable, app-level and blueprint-level route handlers SHALL return a consistent retired-fallback response surface.
@@ -37,4 +45,3 @@ When in-scope runtime fallback retirement is enabled and route assets are unavai
#### Scenario: Blueprint-level in-scope route enters retired fallback state
- **WHEN** an in-scope blueprint-level route cannot serve required dist assets and fallback retirement is enabled
- **THEN** the route SHALL return the same standardized retired-fallback response contract used by app-level routes

View File

@@ -11,6 +11,10 @@ Before chart/filter/page interaction refactors are cut over, each in-scope route
- **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.
@@ -35,6 +39,22 @@ In-scope chart/filter/page-content migration SHALL progress one route at a time
- **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.
@@ -43,6 +63,11 @@ Modernized route acceptance SHALL include explicit revalidation of known legacy
- **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
@@ -55,4 +80,3 @@ Legacy chart/filter implementations SHALL be removed only after parity checks an
- **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

View File

@@ -4,7 +4,7 @@
TBD - created by archiving change full-modernization-architecture-blueprint. Update Purpose after archive.
## Requirements
### Requirement: In-scope routes SHALL be shell-contract governed
All in-scope modernization routes SHALL be represented in shell route contracts, loader registration policy, and navigation visibility governance.
All in-scope modernization routes, including deferred follow-up routes, SHALL be represented in shell route contracts, loader registration policy, and navigation visibility governance with complete metadata.
#### Scenario: In-scope coverage validation
- **WHEN** shell route contract validation is executed
@@ -15,13 +15,10 @@ All in-scope modernization routes SHALL be represented in shell route contracts,
- **WHEN** shell navigation is built for admin users
- **THEN** `/admin/pages` and `/admin/performance` SHALL be represented as governed navigation targets according to visibility/access policy
### Requirement: Out-of-scope routes SHALL not block this phase
Routes explicitly marked as out-of-scope for this modernization phase SHALL be excluded from required shell-coverage gates in this phase.
#### Scenario: Deferred route exclusion
- **WHEN** modernization gates execute for this phase
- **THEN** `/tables`, `/excel-query`, `/query-tool`, and `/mid-section-defect` SHALL be treated as deferred routes
- **THEN** deferred route absence from new shell-governance gates SHALL NOT fail this phase
#### Scenario: Deferred route contract promotion
- **WHEN** follow-up route coverage validation is executed
- **THEN** `/tables`, `/excel-query`, `/query-tool`, and `/mid-section-defect` SHALL have route metadata, owner metadata, and visibility/access policy metadata
- **THEN** missing metadata on those deferred routes SHALL fail route-governance validation
### Requirement: Route coverage governance SHALL be CI-enforced
Route coverage and contract completeness checks for in-scope routes SHALL run as CI gates.
@@ -48,4 +45,3 @@ When contract loading falls back from the primary modernization contract artifac
#### Scenario: Legacy contract fallback path selected
- **WHEN** the primary contract artifact is unavailable and a legacy contract file is loaded
- **THEN** the system SHALL log a warning that includes the selected legacy source path