docs: D1 finish recorded (rationale real-or-absent, reveal once-on-view, 10/80 chip coverage)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QJs13VsyiSKYQP6rj3NNmc
This commit is contained in:
Kev
2026-07-31 06:18:42 -04:00
parent 085e8a3a63
commit a0501f99c0
2 changed files with 45 additions and 0 deletions
+19
View File
@@ -687,3 +687,22 @@ translateY(-14px) / 6px ring). Audit correction: the `#0E0E14` card token was al
317 suites / 3,946 tests green, web build exit 0. **Not done, carried in D1:** row-hover rationale,
IntersectionObserver reveal, team-gradient chips.
---
# D1 FINISH — 2026-07-31 (row anatomy: rationale · reveal · team chips)
Backend untouched. Three pure modules, unit-locked:
- **`rowRationale.js`** — the hover "why" is the grade's OWN `reasoning` + `kill_conditions_triggered`
(VERIFIED present on live grades, built from real l5/l20/gap/home/defense/rest), or **NULL**. No
generic fallback; a locked/tier-gated reasoning counts as absent rather than paraphrased.
- **`reveal.js`** — IntersectionObserver, fires **once then unobserves**, reuses D1-A's `bootDelayMs`
(one source of truth for the 60ms stagger), and reveals immediately when the API is absent so
content is never hidden.
- **`teamChips.js`** — Rev-3 chip geometry + the 1/.86/.64/.48 ramp. **Colour coverage is 10 of ~80
teams** (the artboard's full set, verbatim); every other team renders honest-neutral rather than a
guessed colour.
318 suites / 3,961 tests green, web build exit 0. **Mounting the modules into the live row components
is a follow-up**; the visuals go to the Chrome audit.