66 lines
4.4 KiB
Plaintext
66 lines
4.4 KiB
Plaintext
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 —
|
|
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" — 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 — 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 — no
|
|
changes to the generator or DB until reviewed.
|