Files
DashBoard/docs/migration/full-modernization-architecture-blueprint/route_scope_matrix.json
egg 7cb0985b12 feat(modernization): full architecture blueprint with hardening follow-up
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>
2026-02-12 11:26:02 +08:00

114 lines
3.2 KiB
JSON

{
"change": "full-modernization-architecture-blueprint",
"generated_at": "2026-02-12T00:00:00Z",
"phase": "phase-1-shell-and-content-modernization",
"policy": {
"scope_is_frozen": true,
"out_of_scope_tasks_must_be_rejected": true
},
"in_scope": [
{
"route": "/wip-overview",
"category": "report",
"canonical_shell_path": "/portal-shell/wip-overview",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/wip-detail",
"category": "report",
"canonical_shell_path": "/portal-shell/wip-detail",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/hold-overview",
"category": "report",
"canonical_shell_path": "/portal-shell/hold-overview",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/hold-detail",
"category": "report",
"canonical_shell_path": "/portal-shell/hold-detail",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/hold-history",
"category": "report",
"canonical_shell_path": "/portal-shell/hold-history",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/resource",
"category": "report",
"canonical_shell_path": "/portal-shell/resource",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/resource-history",
"category": "report",
"canonical_shell_path": "/portal-shell/resource-history",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/qc-gate",
"category": "report",
"canonical_shell_path": "/portal-shell/qc-gate",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/job-query",
"category": "report",
"canonical_shell_path": "/portal-shell/job-query",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/tmtt-defect",
"category": "report",
"canonical_shell_path": "/portal-shell/tmtt-defect",
"owner": "frontend-mes-reporting",
"visibility_policy": "released_or_admin"
},
{
"route": "/admin/pages",
"category": "admin",
"canonical_shell_path": "/portal-shell/admin/pages",
"owner": "frontend-platform-admin",
"visibility_policy": "admin_only"
},
{
"route": "/admin/performance",
"category": "admin",
"canonical_shell_path": "/portal-shell/admin/performance",
"owner": "frontend-platform-admin",
"visibility_policy": "admin_only"
}
],
"deferred": [
{
"route": "/tables",
"reason": "deferred-to-follow-up-change"
},
{
"route": "/excel-query",
"reason": "deferred-to-follow-up-change"
},
{
"route": "/query-tool",
"reason": "deferred-to-follow-up-change"
},
{
"route": "/mid-section-defect",
"reason": "deferred-to-follow-up-change"
}
]
}