Verification
A completion message is not proof. Inspect the rendered routes, then report what passed, what is still a placeholder, and the first structural mismatch if the build is not ready.
Current state of this project
self-reported
Checks passing
Warning17of 20
src: checklists below
Not checked
Gap3
src: checklists below
Failing
Verified0
src: checklists below
Published
BlockedNo
src: explicit Dave approval required
Routes and CTB fidelity
- Pass
Every declared route renders without a client or server error
- Pass
Active CTB matches the declared tree and ordering
sample tree only
- Pass
Hub, spoke, breadcrumb, Up and accordion behaviour verified at each altitude
- Pass
Required empty destinations render as named placeholders, not fabricated links
Intake Audit and Topic B1 render as gaps
- Not checked
Route guards agree with visual status
no auth or gates wired in this source project
Responsive hierarchy
- Pass
Desktop keeps a fixed rail with full hierarchy
- Pass
Tablet compacts the rail without removing hierarchy
- Pass
Mobile uses a drawer and preserves current node, path and CTB state
- Pass
Type scale is fixed; font size does not scale with viewport width
- Pass
Tables scroll horizontally instead of collapsing meaning
Empty, error, locked and selected states
- Not checked
Loading state exists where data is fetched
no data fetching in this project
- Pass
Empty state exists and reads as a real condition
- Pass
Disabled and locked states state their reason in the UI
- Pass
Error state refuses to show green status
- Pass
Selected state is visible without color alone
3px left border plus tint
Accessibility and keyboard
| Concern | Rule | State |
|---|---|---|
| Focus visibility | Global :focus-visible ring, 2px, 2px offset, on every interactive element | Verified |
| Keyboard order | Rail nav, then header controls, then page content in DOM order | Verified |
| Toggles | role=switch with aria-checked; density and skin buttons use aria-pressed | Verified |
| Tree controls | Expand/collapse buttons carry aria-expanded and a named label | Verified |
| Screen-reader audit | Not run against an assistive technology | Gap |
Reuse checklist for a new Barton app
copy structure, not values
Steps
1. Copy src/design-system/barton/* and the token block from src/styles.css. 2. Delete or replace sample-data.ts. Never ship its values as configuration. 3. Declare the project's real CTB (id, parentId, altitude, state, route, gate). 4. Wire FractalShell nav from that CTB — not from a second hardcoded menu. 5. Bind reads through an adapter; keep every surface read-only by default. 6. Set state honestly: unknown => draft | gap | blocked. Never verified. 7. Re-run this verification page's checks against the new app before shipping.