Implement phased modernization infrastructure for transitioning from multi-page legacy routing to SPA portal-shell architecture, plus post-delivery hardening fixes for policy loading, fallback consistency, and governance drift detection. Key changes: - Add route contract enrichment with scope/visibility/compatibility policies - Canonical 302 redirects from legacy direct-entry to /portal-shell/ routes - Asset readiness enforcement and runtime fallback retirement for in-scope routes - Shared feature-flag helpers (env > config > default) replacing duplicated _to_bool - Defensive copy for lru_cached policy payloads preventing mutation corruption - Unified retired-fallback response helper across app and blueprint routes - Frontend/backend route-contract cross-validation in governance gates - Shell CSS token fallback values for routes rendered outside shell scope - Local-safe .env.example defaults with production recommendation comments - Legacy contract fallback warning logging and single-hop redirect optimization Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
1.2 KiB
JSON
31 lines
1.2 KiB
JSON
{
|
|
"change": "full-modernization-architecture-blueprint",
|
|
"generated_at": "2026-02-12T00:00:00Z",
|
|
"in_scope_routes": {
|
|
"/wip-overview": {"global_selectors": [], "status": "clean"},
|
|
"/wip-detail": {"global_selectors": [], "status": "clean"},
|
|
"/hold-overview": {"global_selectors": [], "status": "clean"},
|
|
"/hold-detail": {"global_selectors": [], "status": "clean"},
|
|
"/hold-history": {"global_selectors": [], "status": "clean"},
|
|
"/resource": {"global_selectors": [], "status": "clean"},
|
|
"/resource-history": {"global_selectors": [], "status": "clean"},
|
|
"/qc-gate": {"global_selectors": [], "status": "clean-after-refactor"},
|
|
"/job-query": {"global_selectors": [], "status": "clean"},
|
|
"/tmtt-defect": {"global_selectors": [], "status": "clean"},
|
|
"/admin/pages": {
|
|
"global_selectors": ["body"],
|
|
"status": "exception-registered",
|
|
"exception_id": "style-admin-pages-inline-css"
|
|
},
|
|
"/admin/performance": {
|
|
"global_selectors": ["body"],
|
|
"status": "exception-registered",
|
|
"exception_id": "style-admin-performance-inline-css"
|
|
}
|
|
},
|
|
"shared_layers": {
|
|
"frontend/src/styles/tailwind.css": [":root", "body"],
|
|
"frontend/src/portal-shell/style.css": [":root", "body"]
|
|
}
|
|
}
|