4.1 KiB
unified-shell-route-coverage Specification
Purpose
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, 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
- THEN every in-scope route SHALL have route metadata, ownership metadata, and visibility policy metadata
- THEN missing in-scope route contracts SHALL fail validation
Scenario: Admin route inclusion
- WHEN shell navigation is built for admin users
- THEN
/admin/pagesand/admin/performanceSHALL be represented as governed navigation targets according to visibility/access policy
Scenario: Deferred route contract promotion
- WHEN follow-up route coverage validation is executed
- THEN
/tables,/excel-query,/query-tool, and/mid-section-defectSHALL 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.
Scenario: CI gate failure on in-scope gap
- WHEN CI detects an in-scope route without required contract metadata
- THEN the modernization gate SHALL fail
- THEN release promotion SHALL be blocked until resolved
Requirement: Frontend and backend route-contract inventories SHALL be cross-validated
Route-governance checks SHALL verify that frontend shell route contracts and backend route contract artifacts describe the same governed route set and scope classes.
Scenario: Cross-source contract parity gate
- WHEN modernization governance checks run in CI
- THEN mismatches between backend route contract JSON and frontend
routeContracts.jsroute inventory SHALL fail the gate
Scenario: Scope classification drift detection
- WHEN a route has inconsistent scope classification between frontend and backend contract sources
- THEN governance checks SHALL report the specific route and conflicting scope values
Requirement: Legacy contract-source fallback SHALL emit operational warning
When contract loading falls back from the primary modernization contract artifact to a legacy artifact path, the service SHALL emit explicit warning telemetry.
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
Requirement: Reject History route SHALL be included in governed shell route inventory
The /reject-history route SHALL be represented in shell route contracts with complete governance metadata.
Scenario: Frontend route contract entry
- WHEN route contract validation runs against
frontend/src/portal-shell/routeContracts.js - THEN
/reject-historySHALL exist with route id, title, owner, render mode, visibility policy, scope, and compatibility policy
Scenario: Native loader coverage
- WHEN native module loader registry is validated
- THEN
/reject-historySHALL be resolvable innativeModuleRegistry
Requirement: Reject History governance metadata SHALL be parity-validated across sources
Shell governance checks SHALL enforce parity for /reject-history between frontend and backend contract inventories.
Scenario: Contract parity for reject-history route
- WHEN contract parity checks execute
- THEN frontend and backend route inventories SHALL both include
/reject-history - THEN metadata mismatch or missing route SHALL fail governance checks
Scenario: Navigation visibility governance
- WHEN page status/navigation config is evaluated
- THEN
/reject-historySHALL have governed drawer assignment and ordering metadata