Files
claudetools/.claude/memory/project_dsca33_45_resolved_via_hoffman.md
Mike Swanson 9c4181aea5 sync: auto-sync from AD2 at 2026-06-18 14:07:45
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 14:07:45
2026-06-18 14:08:42 -07:00

3.2 KiB

name, description, metadata
name description metadata
project_dsca33_45_resolved_via_hoffman DSCA33/45 "lost spec files" are recoverable from the Hoffman API (original certs survived the wipe) — do NOT request spec files from John; mine templates from Hoffman instead
type
project

The DSCA33/DSCA45 main spec files lost in Dataforth's cryptolocker wipe (which blocked rendering ~8,763 certs and prompted "ask John for the spec files") are recoverable — the original software published correct DSCA33/45 certs to the Hoffman API before the wipe, and our null-skipping pipeline never overwrote them. Do not ask John for spec files. Supersedes the FIX2-5 handoff's TODO 2 and the ad2-branch memory project_dsca33_45_spec_gap (which says "blocked, need John").

Mined 56 of 58 models straight from Hoffman into projects/dataforth-dos/dsca33-45-templates.json (per model: accOut, verbatim 2-line accHeader, Final-Test rows of name+spec, and a known-good _srcSerial). Only 2 niche models have no original anywhere: DSCA33-1948 (16u), DSCA45-1746 (8u). Coverage: ~7,157 units already correct + live on Hoffman (no action); ~1,580 not-yet-uploaded units need rendering from the mined templates + AD2's already-derived slotMaps.

STATUS — DONE on AD2 (2026-06-18, commits up to 4615877f on ad2): the AD2 session wired the mined templates into the renderer, reverse-engineered the DSCA33/45 accuracy-block formatting, and published the gap. 54 of 56 models validated byte-for-byte vs the live Hoffman originals and marked validated:true in dsca33-45-templates.json (the per-model render gate — a model renders only when validated). 1,452 truly-new certs published to Hoffman (created=1452, updated=0, errors=0) — published absent-only (probed each serial with a GET; the stale inventory means api_uploaded_at IS NULL does NOT mean "absent from Hoffman", so never trust it for this) so ZERO originals were overwritten. Still null/unpublished: DSCA33-04A + DSCA33-1891 (each one accuracy cert at a rounding boundary where Math.fround rounds opposite the original — left UNvalidated), and the 2 no-original models DSCA33-1948 / DSCA45-1746 (24 units). The 126 already-live gap units were left untouched.

Render specifics now in templates/datasheet-exact.js: DSCA3345_TEMPLATES takes precedence over the stale staged-extraction entries; formatAccuracyLineDSCA3345 (mADC calc stored in A -> x1000; DSCA33 meas unscaled, DSCA45 meas scaled; DSCA33 unsigned stim/calc/meas, DSCA45 signed + integer-Hz stim; fround); leading-zero drop only when the value overflows the 6-char field; DSCA33 "Check List" header; section sub-heads (Zero-Crossing/TTL) get no status. Tools: validate-dsca3345.js (oracle gate), slotmap-from-hoffman.js, publish-dsca3345-gap.js.

Handoff doc (historical): projects/dataforth-dos/DSCA33-45-HOFFMAN-RECOVERY-2026-06-18.md. Hoffman read API: GET https://www.dataforth.com/api/v1/TestReportDataFiles/{serial}; creds vault clients/dataforth/hoffman-product-api (on AD2 the deployed uploader token at C:\ProgramData\dataforth-uploader\credentials.json works for reads too — no vault needed). Miner: projects/dataforth-dos/tools/mine-hoffman-dsca.py. AD2 access notes: ad2-ssh-mtu-blackhole, ad2-comms-via-sync-only.