Files
claudetools/.claude/memory/project_dsca33_45_spec_gap.md
2026-06-18 07:59:29 -07:00

2.3 KiB

name, description, metadata
name description metadata
project_dsca33_45_spec_gap Why DSCA33/DSCA45 datasheets won't render — missing main specs + special layouts, not a bug
type
project

In the Dataforth test-datasheet pipeline (deployed C:\Shares\testdatadb, AD2 fork ad2 branch), the DSCA33 and DSCA45 model families render null (no datasheet) for a data-gap reason, not a code bug:

  • The main spec DAT files we have (specdata/DSCOUT.DAT, DSCMAIN4.DAT) contain DSCA prefixes 30,31,32,34,36,37,38,39,40,41,42,43,47,49 — but NOT 33 or 45. DSCA33 appears in no DAT file at all; DSCA45 appears only in DSCFIN.DAT (the Final-Test layout file, which lacks the SENTYPE/MAXIN/input-type fields the accuracy block needs). Likely lost in the cryptolocker wipe.
  • database/render-datasheet.js bails (if (!modelSpecs) return null) before rendering, so these models produce nothing. ~8,763 PASS certs blocked: DSCA33 = 3,350 (35 models), DSCA45 = 5,413 (23 models).

The Fix 2 Final-Test rebuild is NOT the blocker — the per-model templates + slotMaps render the Final-Test block correctly for these (proven: DSCA45-01 Final-Test vs golden = 2 trivial diffs with a stubbed spec). The real blockers to publishing them correctly:

  1. Missing main specsrender-datasheet.js won't even call the renderer. For DSCA, specs are only needed for the accuracy-block header + model name now (Final-Test is template/slotMap-driven).
  2. Special accuracy headers the sensor-type logic can't produce: DSCA45 = Frequency (Hz) / Output (V) (frequency-response table); DSCA33 = Vin (mVAC) / Output (VDC) (AC-RMS module).
  3. Non-status template rows: DSCA45 has informational rows like Zero-Crossing Input / TTL Input with NO PASS in the golden, but the renderer appends PASS to every empty-spec row (like the old loadNote artifact — see project_test_datasheet_pipeline).

Two paths to fix: (a) obtain the authoritative DSCA33/DSCA45 main spec files from Dataforth/engineering (clean, fixes accuracy headers properly — flag to John Lehman), or (b) extend the template approach to capture the accuracy header + special-row handling from the staged originals (self-contained, but a STAGE-4-sized effort across the special layouts). Final-Test data for the matchable models is already ready (slotMaps derived). Related: project_pipeline_rebuilt.