diff --git a/projects/dataforth-dos/session-logs/2026-06/2026-06-18-mike-dsca-fix2-stage2-3-publish.md b/projects/dataforth-dos/session-logs/2026-06/2026-06-18-mike-dsca-fix2-stage2-3-publish.md index 17ae928a..e53b21e2 100644 --- a/projects/dataforth-dos/session-logs/2026-06/2026-06-18-mike-dsca-fix2-stage2-3-publish.md +++ b/projects/dataforth-dos/session-logs/2026-06/2026-06-18-mike-dsca-fix2-stage2-3-publish.md @@ -1,5 +1,36 @@ # DSCA Datasheet Fix 2 — STAGE 2 wire-in, STAGE 3 validator, publish of 68 clean models +## Update: 07:52 PT — per-model slot maps resolve ambiguous DSCA layouts + re-publish of 92 + +Took on the ambiguous-layout families (models the count-guard skipped because raw_data carries more +or fewer value-bearing STATUS entries than the template's spec-bearing rows — the test program +measures slots the printed sheet omits, e.g. DSCA49's 5mA load pair). + +New tool `derive-dsca-slotmaps.js`: derives a per-model `slotMap` (absolute statusEntries index per +spec-bearing row) by greedily matching a staged original's printed values against the DB raw_data +STATUS entries (same fround formatting), then picking the candidate map that validates against the +most units. Models are grouped by identical row-name signature and one map is derived per group from +ALL sibling units — this disambiguates duplicate values (DSCA49-04 alone has only 2 staged units, +both with 5mA==50mA linearity, so greedy picked the wrong slot; its siblings' 25 units force the +correct [0,1,2,3,6,7,8,9,11,13,15] map). Stored as `slotMap` in dsca-templates.json. Renderer +consults slotMap ONLY when the sequential zip fails, so the 88 clean models keep their path (no +regression). + +STAGE 3 re-validation: FINAL-TEST CLEAN **88 -> 92**; 134 more certs render (null 450 -> 316); +matches 2278 -> 2412; same 6 retest-vintage dirty, no new mismatches. Re-pushed all 92 clean models +(41,362 serials): **updated=4024 unchanged=36109 created=0 errors=0 skipped=1229** (skips down from +2165 — ~936 previously-guarded certs now render via slotMap). + +DSCA49 family + DSCA40-03 group now clean and live. Still blocked, SEPARATE gap (not layout +ambiguity): DSCA45-* and most DSCA33-* render null because they have NO spec-reader entries +(`render-datasheet.js` bails before rendering) — their slotMaps are derived and ready, they just +need spec coverage. One DSCA33 group (DSCA33-02/03/03A/04/05/1948) didn't reach the slotMap +validation threshold (best 19/35 units). Commit `e9262f57`. + +Net live DSCA Final-Test: 92/126 templated models content-clean. Remaining: 6 retest-vintage, +DSCA45-*/DSCA33-* missing specs, 1 DSCA33 group below threshold, ~32 models with no DB-matched +staged unit, and 231 untemplated models (STAGE 1 extension). + ## Update: 07:33 PT — data-driven DSCA load note (DSCA39 footer-artifact fix) + re-publish of 88 Fixed the DSCA39 footer-note artifact properly at the STAGE 1 extractor level. The "Standard