docs: design-vs-build gap audit recorded (61 items, 6 build waves)

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 05:46:32 -04:00
parent e257474cc8
commit 49565b5f02
2 changed files with 61 additions and 0 deletions
+23
View File
@@ -648,3 +648,26 @@ and `user_notifications` both **0 rows**) · recap **SPEC'D-NOT-BUILT** (no file
The live settle path emits ops alerts only, with zero user-facing output.
316 suites / 3,930 tests green, web build exit 0.
---
# DESIGN-vs-BUILD GAP AUDIT — 2026-07-31 → `specs/design-vs-build-gap-audit.md`
**61 implementable items** enumerated from `specs/design-reference/` (Jul 22) against the current repo:
**BUILT-TO-SPEC 20 · BUILT-BUT-DRIFTED 7 · PARTIAL 16 · ABSENT 18.** The design is ahead of the build;
the gap is implementation, not design.
**Biggest gap:** the glyph library — **38 of 83 SVGs wired (46%)**, and the design implies **74 display
archetypes vs the registry's 41**.
**Drift on recently-built surfaces:** book comparison (wired 07-29) has **no crown, no disagreement
axis, no SPLIT chip, no movement strip**; the mobile tab bar lacks the designed **READ-FAB**;
calibration gates at **n≥20 vs the designed N30**.
**Correction to the earlier status pull:** the **Newsletter IS designed** (S5 "The Report") →
design-exists-needs-build. Only **Live tracking** and **Slip reader** are genuinely design-missing.
**Six-wave ordered build list:** self-contained (glyphs, primitives, boundary-channel blue) → scanner-
nudge-gated → model-gated (Price Triplet EV leg, calibration curve) → **resolution-pipeline-gated
(share-card masters — the tail has no generation step and no trigger)** → licensing-gated (book logos,
push-to-book) → large surface builds (Offseason, S3 media, The Report, S2 primitives).
+38
View File
@@ -835,6 +835,44 @@
> now assert the stronger properties on the real page (live fetch, no sample players, NO VERDICT,
> NO DATA, "not a zero").
> ## 🎨 DESIGN-vs-BUILD GAP AUDIT 2026-07-31 → **`specs/design-vs-build-gap-audit.md`** — 61 items, exhaustive
> Package = **`specs/design-reference/` (Jul 22)** — **there is no `~/vyndr_design`**; the in-repo copy IS
> the package (CANNOT DETERMINE if a separate extract exists elsewhere). Audited against the CURRENT
> repo `bf7c0a3` (~9 days LATER). Every claim is a direct file/grep/count check — **not** the
> `{found:False}`-on-except harness that produced a silent false in Wave 3.
> **COUNT: 61 implementable items — BUILT-TO-SPEC 20 · BUILT-BUT-DRIFTED 7 · PARTIAL 16 · ABSENT 18**
> (+1 CANNOT DETERMINE). Groups: tokens 6 · boundary channel 1 · brand 2 · glyphs 1 · named primitives
> 28 · artboard surfaces 13 · honesty behaviours 10.
> **🔴 LARGEST SINGLE GAP — THE GLYPH LIBRARY: 38 of 83 designed SVGs are wired (46%)**, 45 unwired,
> MANIFEST.md present and unused. **Compounding scope finding: the design implies 74 DISPLAY
> archetypes; the backend registry has 41** — the archetype system is ~half the designed scope.
> **DRIFT ON RECENTLY-BUILT SURFACES (the reason this audit checked the current repo, not the old
> matrix):** the **book comparison wired 07-29 renders per-book lines but has NO best-number crown, NO
> disagreement axis, NO SPLIT chip and NO movement strip** — a simpler version than S2 designs. The
> **mobile tab bar has 5 tabs but not the designed READ-FAB** (50px raised green circle, void V, 6px
> ring — `READ-FAB` = 0 files). **Calibration gating disagrees with the design: ours is n≥20, the
> design says N30 hollow** — neither wrong, but they must be reconciled.
> **ABSENT primitives (0-file greps):** movement strip · crown · disagreement axis · SPLIT chip ·
> calibration curve · `nudge()` reaction (`rx-up` 0) · boot stagger (`vy-rowin` 0) · row-hover
> rationale · IntersectionObserver reveal · `/report` archive · S3 article media · Offseason hub +
> season board + kickoff countdown · `vy-glitch` naming.
> **WAVE-2 RECLASSIFICATION — I was WRONG earlier: the NEWSLETTER IS DESIGNED.** S5 "The Report" is a
> full design (hybrid dark-billboard/light-paper email, signup, archive) → **design-exists-needs-build**,
> not a design gap. **Live tracking and Slip reader remain genuinely design-missing** (no artboard).
> **MODEL LINKAGES:** **Price Triplet** waits on the **EV layer producing p_win/ev_pct/model_odds** (we
> retired edge_pct from it 07-31; it renders honest `NO_MODEL` meanwhile) — gated on MODEL work, not
> design. **S4 CLV chips can build NOW** on the instrument repaired 07-28 (closing_prob 59→406); the
> **calibration curve** additionally needs the n-threshold decision + accrued buckets.
> **ORDERED BUILD LIST — 6 dependency waves:** **D1 self-contained** (45 glyphs + the 41-vs-74 scope
> call · `#0E0E14` card token · `vy-glitch` · nudge/boot-stagger/row-hover/IntersectionObserver ·
> boundary-channel blue as a real third colour law · team-gradient chips · READ-FAB) → **D2 gated on
> the scanner-nudge order** (S6 full treatment) → **D3 model-gated** (Price Triplet MODEL leg;
> calibration curve) → **D4 resolution-pipeline-gated** (**share-card masters ×5 + M2 crops — the
> resolve fanout has NO share-card generation step and NO trigger**, so masters cannot ship as product)
> → **D5 licensing/assets-gated** (BookChip brand tiles, headshots, push-to-book — every book
> `enabled:false`) → **D6 large surface builds** (Offseason trio · S3 article media · The Report email
> + archive · the S2 primitive set, with the crown ALSO held by measurement).
- **Redirect EXISTS + WIRED:** `closingCapture.buildCaptureRows``closing_captures` (append-only,
provenance: captured_at/book/line_type/both-prices/missed_reason) via `intradayRefreshService:221`
+ internal endpoint; `ledgerService.attachClosingProb``closing_prob` (de-vigs both raw sides,