docs/journals/260813-0816-phase-6-accessibility-refresh.md
Phase 6 refreshed search-facing accessibility contracts across colors, charts, UX guidance, landing patterns, typography, icons, motion, native interfaces, and React guidance. Initial gates passed. Adversarial review still found semantic gaps that those gates did not encode.
Accessibility Grade remains with deprecated: use Accessibility Risk; controlled risk is now required.npm run verify:data passed 112/112 tests; relevance stayed P@1 0.7763, MRR@3 0.8465, nDCG@3 0.8447, abstention 0.9804, typo recovery/coherence 1.0; 7/7 Playwright tests and all CLI, gallery, mirror, and diff release gates passed.The brutal truth: we trusted broad green gates that proved files parsed and familiar queries worked, but did not prove the advice was semantically safe. That was our testing failure, not bad luck. It is frustrating to discover after an apparent pass that a chart grade could overclaim conformance, generated colors could lose role meaning, and “accessible” landing guidance could omit actual interaction fallbacks. Relief came only after the adversarial cases became executable contracts.
| Decision | Rationale | Impact |
|---|---|---|
| Preserve legacy chart shape; deprecate in place | Deletion would break downstream CSV consumers | Compatibility retained without preserving misleading semantics |
| Enforce strict official-source provenance and validation boundaries | Permissive metadata let unsupported claims survive | Volatile claims now fail closed |
| Expand natural-query and accessibility semantics instead of only adding rows | More rows would amplify retrieval ambiguity | Coverage improved with unchanged relevance |
| Pause after Phase 6 | User explicitly requested a checkpoint | Phases 7–9 remain pending |
plans/ local. Do not change .gitignore yet; user deferred that decision until the whole plan completes.