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>
25 lines
664 B
JSON
25 lines
664 B
JSON
{
|
|
"change": "full-modernization-architecture-blueprint",
|
|
"canonical_policy": {
|
|
"applies_when": "PORTAL_SPA_ENABLED=true",
|
|
"report_routes": "redirect direct route entry to /portal-shell/<route>",
|
|
"admin_routes": "shell target redirects to backend /admin/* while backend keeps auth authority"
|
|
},
|
|
"direct_entry_compatibility": {
|
|
"query_semantics_must_be_preserved": true,
|
|
"redirect_status_code": 302
|
|
},
|
|
"in_scope_report_routes": [
|
|
"/wip-overview",
|
|
"/wip-detail",
|
|
"/hold-overview",
|
|
"/hold-detail",
|
|
"/hold-history",
|
|
"/resource",
|
|
"/resource-history",
|
|
"/qc-gate",
|
|
"/job-query",
|
|
"/tmtt-defect"
|
|
]
|
|
}
|