diff --git a/projects/dataforth-dos/DSCA-STAGE3-REPORT-2026-06-18.txt b/projects/dataforth-dos/DSCA-STAGE3-REPORT-2026-06-18.txt index 51da3176..a44e6905 100644 --- a/projects/dataforth-dos/DSCA-STAGE3-REPORT-2026-06-18.txt +++ b/projects/dataforth-dos/DSCA-STAGE3-REPORT-2026-06-18.txt @@ -7,126 +7,38 @@ Corpus: 2806 staged DSCA originals across 126 models. SUMMARY models with staged originals: 126 - models FINAL-TEST CLEAN (>=1 compared, 0 mismatch): 68 - models with FINAL-TEST mismatches: 26 + models FINAL-TEST CLEAN (>=1 compared, 0 mismatch): 85 + models with FINAL-TEST mismatches: 9 certs compared: 2316 - Final-Test match: 2123 - Final-Test mismatch: 193 + Final-Test match: 2206 + Final-Test mismatch: 110 (certs with accuracy-section diffs: 1337 — informational) staged serials not in DB: 40 in DB but not rendered (skipped/null): 450 MODELS WITH FINAL-TEST CONTENT MISMATCHES (investigate before re-push): - DSCA30-02 compared=54 ftMatch=53 ftMismatch=1 - [finaltest L7] SN 177588-4 - render: "Frequency Response 46.9 dB 44+/- 7 dB PASS" - golden: "Frequency Response 46.8 dB 44+/- 7 dB PASS" - DSCA31-12C compared=4 ftMatch=3 ftMismatch=1 - [finaltest L9] SN 179182-4 - render: "Output Noise 0.5 uArms <= 3 uArms PASS" - golden: "Output Noise 0.4 uArms <= 3 uArms PASS" - DSCA31-1918 compared=8 ftMatch=7 ftMismatch=1 - [finaltest L9] SN 180333-1 - render: "Output Noise 0.5 uArms <= 3 uArms PASS" - golden: "Output Noise 0.4 uArms <= 3 uArms PASS" - DSCA34-05C compared=55 ftMatch=54 ftMismatch=1 - [finaltest L10] SN 180006-6 - render: "Output Noise 0.5 uArms <= 3 uArms PASS" - golden: "Output Noise 0.4 uArms <= 3 uArms PASS" - DSCA38-02 compared=105 ftMatch=93 ftMismatch=12 - [finaltest L5] SN 180163-2 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 180163-5 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 178886-15 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-05 compared=129 ftMatch=83 ftMismatch=46 - [finaltest L5] SN 180224-13 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" + DSCA38-05 compared=129 ftMatch=97 ftMismatch=32 [finaltest L3] SN 180257-1 render: "Supply Current 19.8 mA < 30 mA PASS" golden: "Supply Current 20.0 mA < 30 mA PASS" [finaltest L3] SN 180257-10 render: "Supply Current 19.6 mA < 30 mA PASS" golden: "Supply Current 20.3 mA < 30 mA PASS" - DSCA38-07 compared=3 ftMatch=2 ftMismatch=1 - [finaltest L5] SN 180238-1 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-08C compared=56 ftMatch=50 ftMismatch=6 - [finaltest L13] SN 177088-1 - render: "Output Noise 1.4 uArms <= 6 uArms PASS" - golden: "Output Noise 1.5 uArms <= 6 uArms PASS" - [finaltest L5] SN 177088-6 - render: "Excitation Voltage 3.333 V 3.33+/-.001 V PASS" - golden: "Excitation Voltage 3.332 V 3.33+/-.001 V PASS" - [finaltest L13] SN 177088-9 - render: "Output Noise 1.6 uArms <= 6 uArms PASS" - golden: "Output Noise 1.5 uArms <= 6 uArms PASS" - DSCA38-09 compared=4 ftMatch=3 ftMismatch=1 - [finaltest L5] SN 179236-4 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-12C compared=8 ftMatch=5 ftMismatch=3 - [finaltest L5] SN 178024-4 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 178024-6 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 178024-8 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-12E compared=8 ftMatch=7 ftMismatch=1 - [finaltest L5] SN 176970-1 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-1468 compared=11 ftMatch=10 ftMismatch=1 - [finaltest L5] SN 178595-2 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-16C compared=43 ftMatch=37 ftMismatch=6 - [finaltest L5] SN 178655-14 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 178655-5 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 179039-3 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" + [finaltest L3] SN 180257-11 + render: "Supply Current 20.1 mA < 30 mA PASS" + golden: "Supply Current 19.8 mA < 30 mA PASS" DSCA38-1793 compared=33 ftMatch=32 ftMismatch=1 [finaltest L3] SN 176923-11 render: "Supply Current 22.3 mA < 25 mA PASS" golden: "Supply Current 23.1 mA < 25 mA PASS" - DSCA38-19 compared=8 ftMatch=7 ftMismatch=1 - [finaltest L5] SN 177084-3 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-19C compared=248 ftMatch=223 ftMismatch=25 - [finaltest L5] SN 1055-20 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 177302-15 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 178001-1 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA38-19E compared=28 ftMatch=23 ftMismatch=5 - [finaltest L5] SN 179698-15 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 179698-16 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 179698-18 - render: "Excitation Voltage 10.001 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" + DSCA38-19C compared=248 ftMatch=247 ftMismatch=1 + [finaltest L4] SN 180036-8 + render: "Supply Curr. w/ EXC Load 54.5 mA < 100 mA PASS" + golden: "Supply Curr. w/ EXC Load 55.0 mA < 100 mA PASS" + DSCA38-19E compared=28 ftMatch=27 ftMismatch=1 + [finaltest L3] SN 179698-16 + render: "Supply Current 42.7 mA < 60 mA PASS" + golden: "Supply Current 45.7 mA < 60 mA PASS" DSCA39-01 compared=4 ftMatch=0 ftMismatch=4 [finaltest L12] SN 177576-1 render: "Standard output load for te PASS" @@ -177,28 +89,9 @@ MODELS WITH FINAL-TEST CONTENT MISMATCHES (investigate before re-push): [finaltest L12] SN 178236-14 render: "Standard output load for te PASS" golden: "Standard output load for test is 250 ohms." - DSCA43-10 compared=16 ftMatch=15 ftMismatch=1 - [finaltest L5] SN 177827-12 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA43-20E compared=4 ftMatch=2 ftMismatch=2 - [finaltest L5] SN 177947-2 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - [finaltest L5] SN 177947-3 - render: "Excitation Voltage 9.999 V 10+/-.003 V PASS" - golden: "Excitation Voltage 10.000 V 10+/-.003 V PASS" - DSCA47N-15 compared=48 ftMatch=47 ftMismatch=1 - [finaltest L7] SN 177823-20 - render: "Open Thermocouple Resp. 12.88 V > 10.7 V PASS" - golden: "Open Thermocouple Resp. 12.89 V > 10.7 V PASS" - DSCA47T-06 compared=76 ftMatch=75 ftMismatch=1 - [finaltest L7] SN 177044-5 - render: "Open Thermocouple Resp. 12.96 V > 11 V PASS" - golden: "Open Thermocouple Resp. 12.97 V > 11 V PASS" -FINAL-TEST CLEAN MODELS (68): - DSCA30-01, DSCA30-03, DSCA30-06, DSCA30-07, DSCA30-08, DSCA30-08C, DSCA30-09, DSCA30-09C, DSCA30-1944, DSCA30-1945, DSCA30-1946, DSCA31-02, DSCA31-03, DSCA31-06, DSCA31-07, DSCA31-11, DSCA31-12, DSCA31-1273, DSCA31-13, DSCA31-13C, DSCA31-15, DSCA32-01, DSCA32-01C, DSCA32-01E, DSCA34-01, DSCA34-02C, DSCA34-04, DSCA34-04C, DSCA34-05, DSCA34-1858, DSCA36-01, DSCA36-02, DSCA36-03, DSCA36-04, DSCA36-04C, DSCA36-1949, DSCA38-03, DSCA38-09E, DSCA38-1544, DSCA38-15C, DSCA38-16, DSCA38-18C, DSCA40-03, DSCA40-05, DSCA40-05C, DSCA40-06, DSCA40-1951, DSCA40-1952, DSCA41-01, DSCA41-02, DSCA41-03, DSCA41-05C, DSCA41-06, DSCA41-09, DSCA41-13, DSCA41-14, DSCA41-15, DSCA41-15E, DSCA42-01, DSCA42-01C, DSCA42-02, DSCA47E-08C, DSCA47J-01C, DSCA47J-03, DSCA47K-05, DSCA47K-13, DSCA47K-14, DSCA47T-1928 +FINAL-TEST CLEAN MODELS (85): + DSCA30-01, DSCA30-02, DSCA30-03, DSCA30-06, DSCA30-07, DSCA30-08, DSCA30-08C, DSCA30-09, DSCA30-09C, DSCA30-1944, DSCA30-1945, DSCA30-1946, DSCA31-02, DSCA31-03, DSCA31-06, DSCA31-07, DSCA31-11, DSCA31-12, DSCA31-1273, DSCA31-12C, DSCA31-13, DSCA31-13C, DSCA31-15, DSCA31-1918, DSCA32-01, DSCA32-01C, DSCA32-01E, DSCA34-01, DSCA34-02C, DSCA34-04, DSCA34-04C, DSCA34-05, DSCA34-05C, DSCA34-1858, DSCA36-01, DSCA36-02, DSCA36-03, DSCA36-04, DSCA36-04C, DSCA36-1949, DSCA38-02, DSCA38-03, DSCA38-07, DSCA38-08C, DSCA38-09, DSCA38-09E, DSCA38-12C, DSCA38-12E, DSCA38-1468, DSCA38-1544, DSCA38-15C, DSCA38-16, DSCA38-16C, DSCA38-18C, DSCA38-19, DSCA40-03, DSCA40-05, DSCA40-05C, DSCA40-06, DSCA40-1951, DSCA40-1952, DSCA41-01, DSCA41-02, DSCA41-03, DSCA41-05C, DSCA41-06, DSCA41-09, DSCA41-13, DSCA41-14, DSCA41-15, DSCA41-15E, DSCA42-01, DSCA42-01C, DSCA42-02, DSCA43-10, DSCA43-20E, DSCA47E-08C, DSCA47J-01C, DSCA47J-03, DSCA47K-05, DSCA47K-13, DSCA47K-14, DSCA47N-15, DSCA47T-06, DSCA47T-1928 MODELS WITH NO COMPARABLE CERT (no staged serial in DB, or all skipped/null): DSCA31-1947(null), DSCA33-01(null), DSCA33-01A(null), DSCA33-02(null), DSCA33-02C(null), DSCA33-03(null), DSCA33-03A(null), DSCA33-03C(null), DSCA33-04(null), DSCA33-04C(null), DSCA33-05(null), DSCA33-05C(null), DSCA33-07C(null), DSCA33-1917(null), DSCA33-1919(null), DSCA33-1948(null), DSCA45-01(null), DSCA45-01C(null), DSCA45-02(null), DSCA45-03(null), DSCA45-03C(null), DSCA45-04(null), DSCA45-04C(null), DSCA45-05C(null), DSCA45-06(null), DSCA45-07(null), DSCA45-08(null), DSCA47N-15C(null), DSCA49-04(null), DSCA49-05(null), DSCA49-1601(null), DSCA49-1895(null) \ No newline at end of file diff --git a/projects/dataforth-dos/datasheet-pipeline/implementation/templates/datasheet-exact.js b/projects/dataforth-dos/datasheet-pipeline/implementation/templates/datasheet-exact.js index 0012daf5..f4616c77 100644 --- a/projects/dataforth-dos/datasheet-pipeline/implementation/templates/datasheet-exact.js +++ b/projects/dataforth-dos/datasheet-pipeline/implementation/templates/datasheet-exact.js @@ -327,8 +327,14 @@ function formatMeasuredExact(statusStr) { // char at index 4 is either a space (positive) or '-' (negative); start there // so negative signs survive (e.g. "PASS-4.2424060" -> "-4", not "4"). const valueStr = statusStr.substring(4, statusStr.length - 1).trim(); - const value = parseFloat(valueStr); - if (isNaN(value)) return { passFail, valStr: valueStr, value: NaN }; + const parsed = parseFloat(valueStr); + if (isNaN(parsed)) return { passFail, valStr: valueStr, value: NaN }; + // The DOS QuickBASIC stored/computed these as single-precision floats, so the + // value at the half-rounding boundary rounds the way single precision rounds, + // not double. Recover the single (Math.fround) before formatting — without it, + // double-precision toFixed flips last-digit boundaries (e.g. 9.9995 -> "9.999" + // here but "10.000" in the original; 46.85 -> "46.9" vs "46.8"). + const value = Math.fround(parsed); const d = parseInt(decimalDigit, 10); const valStr = isNaN(d) ? value.toFixed(1) : value.toFixed(d); return { passFail, valStr, value }; diff --git a/projects/dataforth-dos/dsca-clean-models.json b/projects/dataforth-dos/dsca-clean-models.json new file mode 100644 index 00000000..38f56c6c --- /dev/null +++ b/projects/dataforth-dos/dsca-clean-models.json @@ -0,0 +1 @@ +["DSCA30-01","DSCA30-02","DSCA30-03","DSCA30-06","DSCA30-07","DSCA30-08","DSCA30-08C","DSCA30-09","DSCA30-09C","DSCA30-1944","DSCA30-1945","DSCA30-1946","DSCA31-02","DSCA31-03","DSCA31-06","DSCA31-07","DSCA31-11","DSCA31-12","DSCA31-1273","DSCA31-12C","DSCA31-13","DSCA31-13C","DSCA31-15","DSCA31-1918","DSCA32-01","DSCA32-01C","DSCA32-01E","DSCA34-01","DSCA34-02C","DSCA34-04","DSCA34-04C","DSCA34-05","DSCA34-05C","DSCA34-1858","DSCA36-01","DSCA36-02","DSCA36-03","DSCA36-04","DSCA36-04C","DSCA36-1949","DSCA38-02","DSCA38-03","DSCA38-07","DSCA38-08C","DSCA38-09","DSCA38-09E","DSCA38-12C","DSCA38-12E","DSCA38-1468","DSCA38-1544","DSCA38-15C","DSCA38-16","DSCA38-16C","DSCA38-18C","DSCA38-19","DSCA40-03","DSCA40-05","DSCA40-05C","DSCA40-06","DSCA40-1951","DSCA40-1952","DSCA41-01","DSCA41-02","DSCA41-03","DSCA41-05C","DSCA41-06","DSCA41-09","DSCA41-13","DSCA41-14","DSCA41-15","DSCA41-15E","DSCA42-01","DSCA42-01C","DSCA42-02","DSCA43-10","DSCA43-20E","DSCA47E-08C","DSCA47J-01C","DSCA47J-03","DSCA47K-05","DSCA47K-13","DSCA47K-14","DSCA47N-15","DSCA47T-06","DSCA47T-1928"] \ No newline at end of file diff --git a/projects/dataforth-dos/dsca-clean68-models.json b/projects/dataforth-dos/dsca-clean68-models.json deleted file mode 100644 index 2a464d9c..00000000 --- a/projects/dataforth-dos/dsca-clean68-models.json +++ /dev/null @@ -1 +0,0 @@ -["DSCA30-01","DSCA30-03","DSCA30-06","DSCA30-07","DSCA30-08","DSCA30-08C","DSCA30-09","DSCA30-09C","DSCA30-1944","DSCA30-1945","DSCA30-1946","DSCA31-02","DSCA31-03","DSCA31-06","DSCA31-07","DSCA31-11","DSCA31-12","DSCA31-1273","DSCA31-13","DSCA31-13C","DSCA31-15","DSCA32-01","DSCA32-01C","DSCA32-01E","DSCA34-01","DSCA34-02C","DSCA34-04","DSCA34-04C","DSCA34-05","DSCA34-1858","DSCA36-01","DSCA36-02","DSCA36-03","DSCA36-04","DSCA36-04C","DSCA36-1949","DSCA38-03","DSCA38-09E","DSCA38-1544","DSCA38-15C","DSCA38-16","DSCA38-18C","DSCA40-03","DSCA40-05","DSCA40-05C","DSCA40-06","DSCA40-1951","DSCA40-1952","DSCA41-01","DSCA41-02","DSCA41-03","DSCA41-05C","DSCA41-06","DSCA41-09","DSCA41-13","DSCA41-14","DSCA41-15","DSCA41-15E","DSCA42-01","DSCA42-01C","DSCA42-02","DSCA47E-08C","DSCA47J-01C","DSCA47J-03","DSCA47K-05","DSCA47K-13","DSCA47K-14","DSCA47T-1928"] \ No newline at end of file