Commit Graph

11 Commits

Author SHA1 Message Date
ebd719e848 dataforth(datasheet): publish DSCA33/45 gap — 1,452 new certs created, 0 overwrites
Probed each of the 1,578 unuploaded PASS serials across the 54 validated DSCA33/45
models against the Hoffman API (stale inventory -> can't trust api_uploaded_at as
"absent"). 1,452 were absent (404), 126 already live. Pushed ONLY the absent set:
created=1452 updated=0 unchanged=0 errors=0 — zero overwrites of pristine originals,
the handoff's hard requirement.

Tools: publish-dsca3345-gap.js (absent-only Created publish), validate-dsca3345.js.
Net: DSCA33/45 effort complete — 54/56 models live + validated; 2 rounding-boundary
holdouts and 2 no-original models (24 units) remain null.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:59:33 -07:00
9c04c23ab0 dataforth(datasheet): wire DSCA33/45 Hoffman-mined templates (gated; accuracy-data WIP)
Per the 5070 handoff (DSCA33-45-HOFFMAN-RECOVERY): the lost DSCA33/45 specs are
recoverable from Hoffman, not John. Wired the mined dsca33-45-templates.json (56
models) into the renderer:

- datasheet-exact.js: load DSCA3345_TEMPLATES; for family DSCA, the Hoffman-mined
  template takes PRECEDENCE over the stale staged-extraction entry (which shadowed 25
  models with accOut "?"/no accHeader). Emit the verbatim 2-line accHeader for these
  families (Vin (mVAC)/Iin (AAC)/Frequency (Hz), Output (VDC)/(mADC)). Per-model
  `validated` GATE: a DSCA33/45 model renders only after byte-matching its Hoffman
  original; until then it returns null (skipped) so an unverified render can never
  overwrite a pristine live original. DSCA_VALIDATE_MODE env opens the gate for the
  validation harness only. Exposed rendersWithoutSpecs().
- render-datasheet.js: allow a null-specs render for DSCA33/45 (their spec files were
  lost; template-driven) instead of bailing on missing specs.
- derive-dsca-slotmaps.js: DSCA_TPL env to target the 3345 templates; derived 43 slot
  maps into them (22 models need none, 8 DSCA33 still below threshold).
- validate-dsca3345.js (new): renders each model's _srcSerial, fetches the live
  Hoffman original (GET TestReportDataFiles/{serial}, deployed uploader token — no
  vault needed), content-normalized compare; --apply marks validated.

STATUS: gate is CLOSED — 0 models validated, all DSCA33/45 still render null, nothing
published, no risk. Final-Test block + accuracy headers now byte-match the Hoffman
originals for all 56 models; the remaining blocker is accuracy-DATA numeric quirks that
must match to pass the gate:
  - DSCA33 calc column stored in A but displayed in mADC (x1000); measured stored in
    mA (not scaled) — an original-software unit quirk.
  - sign conventions differ per layout (DSCA33 stim/calc/meas unsigned, error signed;
    DSCA45 stim unsigned, calc/meas/error signed).
  - DSCA45 frequency-input stim formatting.
These need per-layout reverse-engineering against the originals (the validation harness
is the oracle). 8 DSCA33 models (DSCA33-02/03/03A/04/04A/05/05A/1642) also lack a slot
map (below threshold). DSCA33-1948 + DSCA45-1746 (24 units) have no Hoffman original.

Cleanups: deleted superseded memory project_dsca33_45_spec_gap; struck the obsolete
"ask John" TODO 2 from the handoff note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:32:37 -07:00
74a514179e sync: auto-sync from AD2 at 2026-06-18 08:05:50
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 08:05:50
2026-06-18 13:02:35 -07:00
039f7956e9 sync: auto-sync from AD2 at 2026-06-18 08:02:06
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 08:02:06
2026-06-18 13:02:35 -07:00
c180caffab sync: auto-sync from AD2 at 2026-06-18 07:52:33
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 07:52:33
2026-06-18 13:02:34 -07:00
5a259ec641 sync: auto-sync from AD2 at 2026-06-18 07:33:56
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 07:33:56
2026-06-18 13:02:34 -07:00
9bef6fe920 sync: auto-sync from AD2 at 2026-06-18 07:23:32
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 07:23:32
2026-06-18 13:02:34 -07:00
4d9ca2b0f7 sync: auto-sync from AD2 at 2026-06-18 07:07:25
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-18 07:07:25
2026-06-18 13:02:33 -07:00
f2c703eaac sync: auto-sync from AD2 at 2026-06-17 13:56:18
Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-17 13:56:18
2026-06-18 13:02:31 -07:00
ad1e32fdb0 sync: auto-sync from GURU-5070 at 2026-06-18 12:57:51
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-18 12:57:51
2026-06-18 12:58:07 -07:00
7ad6202e6e sync: auto-sync from GURU-5070 at 2026-06-17 17:34:25
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-17 17:34:25
2026-06-17 17:34:41 -07:00