2.0 KiB
2.0 KiB
M16 routed operator UI evidence
- The authenticated operator console now has protected, URL-addressable routes for the existing Dashboard, Sources, Repositories, Jobs, Executions, Backups, Security, Notifications, and Audit views.
/and authenticated unknown routes redirect to/dashboardwithout adding a dead Back-history entry. - Authentication discovery happens before the route shell renders, so an unauthenticated deep link is retained through sign-in rather than prematurely redirected.
- Route components load through
React.lazywith an announcedSuspensestate and an in-shell error boundary.OperatorPages.tsxsplits the existing resource pages into a separate production chunk. - Navigation uses semantic
NavLinkanchors with current-page semantics. The shell provides one main landmark, a functional skip link, route-based document titles, and focus restoration after route navigation. - Route-level tests cover direct
/sourcesnavigation, title/current-link state, focus restoration, authenticated unknown-route redirect, and the skip link. Existing workflow tests were adapted to the semantic navigation links.
Green M16 checks
npm --prefix frontend run api:check # generated client current
npm --prefix frontend run typecheck # passed
npm --prefix frontend run build # passed; emitted OperatorPages and M13Workflows chunks
npm --prefix frontend test -- --run # 11 passed
npx --prefix frontend playwright test --config frontend/playwright.config.ts # 1 passed
.venv/bin/python tools/export_openapi.py --check openapi/v2.json # current
make check # passed
Known boundary: this evidence covers delivery slice 1's routed shell over the pre-existing read/workflow views. The create/edit/administration workflows in later slices of docs/plans/full-operator-ui.md remain unimplemented.