7.7 KiB
7.7 KiB
1. Migration Baseline and Contract Freeze
- 1.1 Refresh migration baseline snapshots for drawer visibility (admin/non-admin), route availability, and critical query contracts.
- 1.2 Build and commit a route parity matrix for all shell-target pages (
/wip-overview,/wip-detail,/hold-overview,/hold-detail,/hold-history,/resource,/resource-history,/qc-gate,/job-query,/excel-query,/query-tool,/tmtt-defect). - 1.3 Freeze migration contract doc: route id, render mode (
native|wrapper), required query keys, owner, rollback strategy. - 1.4 Add contract validation for missing route definitions, duplicated mappings, and invalid render mode declarations.
- 1.5 Capture pre-migration baseline evidence for each target page: table schema/sort/pagination, chart series/legend/tooltip, filter combinations, matrix selection states.
2. Shell Route-View Architecture Hardening
- 2.1 Replace
PageBridgeView-only routing with explicit shell render-mode registry (nativecomponent host,wrapperhost). - 2.2 Implement deterministic dynamic route registration from backend drawer payload + local render-mode registry.
- 2.3 Add unknown/hidden route fallback behavior (safe redirect + non-intrusive user notice).
- 2.4 Ensure breadcrumb/title metadata resolves from route contracts for both native and wrapper modes.
- 2.5 Add integration tests for router registration, fallback routing, and render-mode resolution.
3. Drawer Governance and Admin Entry Consistency
- 3.1 Align drawer ordering and page ordering logic between backend navigation payload and shell rendering.
- 3.2 Enforce deterministic filtering for
admin_onlydrawers/pages in shell UI and router guards. - 3.3 Ensure admin entry points (
/admin/pages, login/logout links) are visible and reachable under expected auth states. - 3.4 Add contract tests for drawer parity against baseline snapshots (admin and non-admin).
- 3.5 Add diagnostics/logging for drawer-route mismatch events and invalid navigation payloads.
4. Health Check Summary/Detail UX Completion
- 4.1 Refactor shell health widget to summary-first header presentation (status dot + concise text only).
- 4.2 Keep detailed health diagnostics behind explicit interaction (click/toggle panel or modal).
- 4.3 Ensure detail panel supports close-on-outside-click, keyboard escape, and stable focus behavior.
- 4.4 Refine
/health/frontend-shellcontract to separate summary fields from detailed diagnostics payload. - 4.5 Add tests for healthy/degraded/unhealthy summary transitions and endpoint failure fallback behavior.
5. Native Route-View Integration Wave A (Already-Rewritten Pages)
- 5.1 Integrate
/wip-overviewas native shell route-view and verify filter/query URL sync behavior. - 5.2 Integrate
/wip-detailas native shell route-view and verify detail/list back-navigation query continuity. - 5.3 Integrate
/hold-overviewand/hold-detailas native shell route-views with reason/type query parity. - 5.4 Integrate
/hold-historyas native shell route-view with date/record-type filter parity. - 5.5 Integrate
/resourceand/resource-historyas native shell route-views with summary/detail/export parity. - 5.6 Integrate
/qc-gateas native shell route-view with chart-table linked interactions preserved. - 5.7 Add route-level smoke tests for Wave A pages in shell context (render, query, refresh, navigation).
- 5.8 Add chart lifecycle checks for Wave A (route enter/re-enter, resize, tooltip, linked-highlight stability).
6. Wrapper Stabilization Wave B (Before Rewrite)
- 6.1 Keep wrapper-mode operability for
/job-querywith query/search/export smoke coverage. - 6.2 Keep wrapper-mode operability for
/excel-querywith upload/detect/query/export smoke coverage. - 6.3 Keep wrapper-mode operability for
/query-toolwith resolve/history/association workflows. - 6.4 Keep wrapper-mode operability for
/tmtt-defectwith range query and CSV export workflow. - 6.5 Instrument wrapper telemetry for load success/error/latency and fallback usage count.
- 6.6 Define per-page rewrite entry criteria and block native cutover when criteria are incomplete.
7. Wrapper-to-Native Rewrite Completion (Full Migration Target)
- 7.1 Rewrite
/tmtt-defectas canonical native shell route-view module using shared UI/composables. - 7.2 Rewrite
/job-queryas native shell route-view module with workflow parity and no wrapper dependency. - 7.3 Rewrite
/excel-queryas native shell route-view module with upload-query-export parity. - 7.4 Rewrite
/query-toolas native shell route-view module with full workflow parity. - 7.5 Replace wrapper mapping with native mapping in shell route registry for all Wave B pages.
- 7.6 Decommission wrapper runtime paths and remove wrapper-only fallback code once parity gates pass.
- 7.7 Validate table/chart/filter/matrix parity for each rewritten Wave B page before marking rewrite complete.
8. Per-Page Rewrite Smoke Acceptance (Mandatory)
- 8.1 Build a smoke checklist artifact per rewritten page (entry path, required query params, key interaction, error path, export path).
- 8.2 Execute and record smoke evidence for Wave A native pages under shell route-view.
- 8.3 Execute and record smoke evidence for Wave B rewritten pages before wrapper decommission.
- 8.4 Block release when any page lacks complete smoke evidence or has unresolved critical failures.
- 8.5 Extend smoke checklist fields to include mandatory table/chart/filter/interaction/matrix checkpoints and expected outcomes.
- 8.6 Add explicit zero-value and empty-state checks for KPI/table/matrix rendering parity.
9. Test and Quality Gate Enforcement
- 9.1 Extend backend tests for
/api/portal/navigationcontract parity (drawer/page ordering, visibility, admin metadata). - 9.2 Extend shell frontend tests for route-mode rendering, health summary/detail behavior, and admin entry visibility.
- 9.3 Add regression tests ensuring no iframe elements are used for shell page content paths.
- 9.4 Add contract tests for route/query compatibility across list-detail workflows.
- 9.5 Add cutover gate tests validating G1-G7 readiness signals and failure-block semantics.
- 9.6 Add table parity tests (column keys/types/order, sorting semantics, pagination continuity).
- 9.7 Add chart parity tests (series key/type, legend toggles, tooltip behavior, chart-table linked scope).
- 9.8 Add matrix interaction tests (selection/highlight persistence, drill behavior, filter-linked state transitions).
- 9.9 Add visual regression snapshots for critical chart/table/matrix states and block on critical diffs.
10. Rollout, Rollback, and Operations
- 10.1 Define phased rollout plan for shell route-view cutover (canary scope, thresholds, hold points).
- 10.2 Rehearse rollback playbook for both full rollback and page-level partial rollback.
- 10.3 Define kill-switch operation for quickly reverting affected pages while keeping shell accessible.
- 10.4 Capture migration observability dashboard/report for route errors, health regressions, and wrapper fallback usage.
11. Cleanup and Closure
- 11.1 Remove obsolete
PageBridgeViewredirect-only logic after all pages are native-integrated. - 11.2 Remove wrapper-specific code, flags, and stale docs after verified decommission.
- 11.3 Update migration docs/spec references to reflect completed no-iframe full migration state.
- 11.4 Run final parity audit and archive-readiness checklist before change closure.
- 11.5 Produce final pre/post parity report summarizing page-by-page outcomes for table/chart/filter/interaction/matrix.