sync: auto-sync from AD2 at 2026-06-17 13:35:55

Author: Mike Swanson
Machine: AD2
Timestamp: 2026-06-17 13:35:55
This commit is contained in:
2026-06-17 13:37:25 -07:00
parent cc183a5a91
commit a9ef5d1466
4 changed files with 457 additions and 0 deletions

65
Prompt617.txt Normal file
View File

@@ -0,0 +1,65 @@
TASK: Diagnose + fully document the Dataforth test-datasheet bug. You are running ON AD2
(192.168.0.6), the host of the testdatadb generator + PostgreSQL. Do NOT fix anything yet <20>
trace, document, and pinpoint root cause.
=== THE PROBLEM (reported today, 2026-06-17) ===
John Lehman (jlehman@dataforth.com) to Mike: "We are experiencing problems with test
datasheets. Column headers are wrong. Some Final Test lines are missing."
From the thread (apps engineer Peter Iliya):
- For the 8B35: the STAGED datasheet "H9553-13" (T: drive, TS-4L/STAGE) has the CORRECT
input column label "Temp" <20> but the WEBSITE version "179553-13" shows the WRONG label
"resistance". DSCA38 is flagged with the same issue.
- Peter CANNOT find 179553-13 as a file on the X: drive or in the DFWDS report <20> because the
website version is generated from the DB, not stored as a file.
- Core question (Peter): "Is there a reason we list the input for our RTD modules as
resistance, but show the temperature instead?"
- Trigger: customer Wellbore Integrity (Joseph Swinehart) raised a cal-cert AUDIT discrepancy
on 8B35 4-wire RTD certs.
=== THE KEY POINT (Mike) ===
The rendered test sheet EXISTS AS A FILE BEFORE it is ingested into the database. That
original/staged file is the ground truth (correct Temp label). Our DB-based regeneration is
what introduces the error. FOLLOW THE TRAIL UPSTREAM and FIND WHERE THE ORIGINAL FILE IS.
=== ARCHITECTURE (per TEST-DATASHEET-PROCESS.md) ===
Test stations (TS-01..27, DOS) write .dat logs
-> AD1 HISTLOGS: \\ad1\... C:\Shares\test\Ate\HISTLOGS\{log_type}\{model}.DAT (+ per-station \TS-XX\LOGS\)
-> Legacy DFWDS (VB6) historically rendered "For_Web" .TXT datasheets (the ORIGINAL rendered files)
-> testdatadb (THIS host AD2): Node.js + Express + PostgreSQL 18, service on :3000, dashboard
http://localhost:3000/, WinSW wrapper, service account INTRANET\svc_testdatadb
-> Hoffman Product API (/api/v1/TestReportDataFiles/bulk, OAuth2) -> public website.
=== WHAT WE ALREADY FOUND IN THE CODE (verify the DEPLOYED copy matches) ===
Generator template: datasheet-exact.js (find the deployed copy on AD2; repo copy is
projects/dataforth-dos/datasheet-pipeline/implementation/templates/datasheet-exact.js).
- getSensorNum(): RTD -> 7. Input header logic: sensorNum 3-6 (thermocouples) -> " Temp. (C)";
sensorNum 7 (RTD) -> " Rin (ohms)"; so RTD is rendered as RESISTANCE. The accuracy VALUE
formatting is ALSO sensorNum-driven (temperature format vs resistance format) - so values may
be wrong too, not just the label.
- Final Test loop: `for (i < dataLines.length && i < parsed.statusEntries.length)` with
`if (status.length <= 4) continue` -> rows DROP when statusEntries are misaligned/short.
=== YOUR DELIVERABLES ===
1. FULLY DOCUMENT THE END-TO-END PROCESS (write it to a markdown file), especially the UPSTREAM
half: exactly what the test station emits, what the ORIGINAL rendered datasheet file is,
WHERE it physically lives (find TS-4L/STAGE, the staged H9553-13, and/or the DFWDS For_Web
.TXT), and exactly how testdatadb ingests it (parser, which fields, the .DAT format).
2. LOCATE THE ORIGINAL FILE for the 8B35 example (H9553-13 / its For_Web .TXT / the .dat it came
from) and for a DSCA38 example.
3. DIFF original (correct) vs DB-generated (wrong) for 8B35 RTD and DSCA38: the exact column
header difference, any VALUE differences, and which Final Test lines are missing and WHY.
4. ROOT-CAUSE LOCALIZATION: is the defect in (a) ingestion/.DAT parsing, (b) the DB data itself,
or (c) datasheet-exact.js rendering? Confirm against the original file, not assumptions.
5. State the CORRECT RTD output (label = Temp (C); values = temperature, derived how?) per the
original, and the precise code change(s) that would fix both the header/values and the
dropped Final Test lines. Note any modules where resistance IS the correct label (don't
over-correct).
Resources you have locally: PostgreSQL on AD2 (query testdatadb directly), the deployed Node
service + its code, SMB to AD1 (\\ad1\...) and D2TESTNAS (\\192.168.0.9\test, /data/test has
DFWDS, Ate, 8BDATA, DSCDATA, etc.). The ClaudeTools repo has the pipeline source under
projects/dataforth-dos/.
Output: the process doc (file) + a diagnosis summary + the proposed fix. Diagnose only <20> no
changes to the generator or DB until reviewed.