This ledger defines the proof boundary for the comprehensive site-wide audit. It
does not treat the absence of a direct file-import test as a defect: runtime
browser matrices, role-gate checks, service tests, and route-handler tests are
valid complementary evidence.
Authoritative inventory
| Surface | Count | Required audit lane | Current status |
|---|---:|---|---|
| App Router pages | 77 | Public browser matrix, protected role gate, or dynamic fixture | 77 classified; 0 auxiliary/unassigned |
| Route handlers | 190 | Exported-method inventory plus direct or indirect contract/runtime evidence | 190 classified; 351 HTTP methods inventoried |
| Public and noindex pages | 53 | Desktop, 200%-equivalent, mobile, landmark, overflow, and link checks | Browser matrix passing |
| Protected pages | 15 | Anonymous redirect at all three viewports plus role-policy tests | Passing |
| Dynamic pages | 9 | Deterministic fixture route at all three viewports | Passing |
The machine-readable source is
`artifacts/site-wide-audit/inventory-latest.json`. Regenerate it with
`pnpm audit:site:inventory`; the command fails if an App Router file cannot be
classified.
Requirement coverage
| Requirement | Evidence | Status |
|---|---|---|
| Every page is known and assigned | Inventory artifact and inventory service tests | Pass |
| Every exported API method is known | 190 handlers / 351 methods in inventory artifact | Pass |
| Anonymous access to operator pages fails closed | Central role map, redirect manifest, three-viewport browser audit | Pass |
| HTML accessibility and responsive containment | `a11y-complete-page-inventory-latest.json` | Pass |
| Machine resources retain typed successful responses | Accessibility matrix content-type assertions | Pass |
| Visible links, fragments, and internal targets resolve | 90 routes, 5,205 links, 685 unique internal targets, 35 fragments | Pass |
| Production behavior regressions are test-first | Focused auth, manifest, inventory, and evidence-script tests | Pass |
| Repository release gates | Full serial tests, lint, 218-page optimized build, zero-vulnerability dependency audit, closeout | Pass |
Findings and fixes
- Eight operator pages were missing from the anonymous browser redirect matrix.
The protected manifest now includes every centralized page-role rule.
- Five research approval/preflight pages enforced editor access only inside
their page modules. They now also participate in the centralized proxy role
map and anonymous redirect audit.
- Ten noindex, success-state, sign-in, sponsor-packet, and Rosenberg workflow
pages were outside the browser matrix. They are now explicit audit routes,
leaving zero unassigned pages.
Claim boundary
Passing local audits proves deterministic application behavior under the local
production candidate and fixtures. It does not prove external provider uptime,
production credentials, real payment settlement, adoption, revenue, or other
operator-owned evidence called out by the risk register.