Files
claudetools/session-logs/2026-03-28-session-ad2.md
sysadmin 505bc12355 AD2 session 2026-03-27/28/29: Test datasheet pipeline rebuild
- Built exact-match TXT formatter from QuickBASIC source (SCM5B, 8B, DSCA, DSCT, SCM7B)
- Spec parser for 10 binary DAT files (1470+ models)
- Work order report importer (33K WOs, 63K test lines)
- On-demand PDF generation, styled HTML view
- Archived 500K pre-2026 For_Web files into year subfolders
- Created domain service account (INTRANET\svc_testdatadb)
- Generated 73/73 Quatronix customer datasheets
- Added STAGE + Reports auto-import to sync script

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:48:37 -07:00

87 lines
4.5 KiB
Markdown

# Session Log - AD2 - 2026-03-27/28/29
## Test Datasheet Pipeline Rebuild
### Pipeline Analysis & Mapping
- Mapped complete 5-stage pipeline: DOS test stations → NAS → AD2 sync → DFWDS → website
- Identified CTONWTXT.BAT gap (TXT files stuck on DOS machines since Sept 2025)
- Confirmed DFWDS.exe config lost in crypto wipe, old website upload endpoints dead (404)
- Found production config + VB6 source on ENGR share at \\AD1\Engineering\ENGR\ATE\Test Datasheets\DFWDS\Program\
### New Server-Side Pipeline Built (C:\Shares\testdatadb\)
#### New Files Created
- `parsers/spec-reader.js` — Binary spec DAT file reader, 1470+ models across 10 spec files
- SCM5B: 5BMAIN.DAT (481), 5B45DATA.DAT (56), DB5B48.DAT (3), 5B49_2.DAT (15)
- 8B: 8BMAIN.DAT (148)
- DSCA: DSCOUT.DAT (23), DSCMAIN4.DAT (391)
- DSCT: SCTMAIN.DAT (103)
- SCM7B: 7BMAIN.DAT (276)
- `parsers/wo-report.js` — Work order status report parser
- `templates/datasheet-exact.js` — Exact-match TXT formatter reverse-engineered from QuickBASIC
- Supports SCM5B, 8B, DSCA, DSCT, SCM7B families
- QB TAB positions and PRINT USING format strings for column alignment
- STR$() emulation: leading space for positive, drops leading zero
- `database/export-datasheets.js` — Generates {SN}.TXT to X:\For_Web, tracks via forweb_exported_at
- `database/import-work-orders.js` — Imports WO reports, creates work_orders + work_order_lines tables
- `database/archive-for-web.js` — Archives old For_Web files into year subfolders
- `database/generate-customer-pdfs.js` — Generated 73/73 Quatronix customer datasheets
- `specdata/` — All binary spec DAT files
#### Modified Files
- `database/import.js` — Post-import hook calls export-datasheets
- `database/schema.sql` — Added datasheet_exported_at, forweb_exported_at, work_order columns
- `routes/api.js` — Added endpoints:
- `/api/datasheet/:id/pdf` — On-demand PDF generation via pdfkit
- `/api/datasheet/:id` — Now uses exact-match formatter with styled HTML view
- `/api/workorder/:wo` — Work order detail with all test lines
- `/api/workorder-search` — WO prefix search
- Search endpoint supports `workorder` param
- `public/index.html` — Added:
- ALL quick filter button, auto-search on page load
- Work Order # search field
- WO clickable link in record detail → popup with all WO test lines
- PDF download button
- ForWeb/datasheet export status indicators
- `package.json` — Added pdfkit dependency
- `C:\Shares\test\scripts\Sync-FromNAS-rsync.ps1` — Added:
- STAGE folder sync (NAS STAGE → AD2)
- WO report auto-import after sync
- STAGE TXT auto-import after sync
### Database Changes
- Added columns: datasheet_exported_at, forweb_exported_at, work_order
- Created tables: work_orders (33,745 records), work_order_lines (63,263 records)
- 2,277,183 test records linked to work orders via serial number pattern
- 1,435,989 records marked as ForWeb exported (matched existing files)
### Infrastructure
- Archived 500,419 pre-2026 files from X:\For_Web into year subfolders (2011-2025)
- Created domain service account: INTRANET\svc_testdatadb (OU=ServiceAccounts, won't sync to Entra)
- Configured testdatadb Windows service to run as domain account
- Fixed HGHAUBNER firewall (enabled File and Printer Sharing) for backup access
- Fixed TestDataDB search default (was empty, now auto-searches on load)
### Customer Issue Resolved (Quatronix/China)
- 73/73 requested datasheets generated (TXT + PDF)
- Output: Desktop\Quatronix-Datasheets\
- Required loading additional spec files: 5B45DATA, DB5B48, 5B49_2, DSCMAIN4, 7BMAIN
### Formatting Refinements (2026-03-29)
- Compared generated TXT against originals, fixed column alignment
- QB TAB positions: TAB(5) param, TAB(31) measured, TAB(60-speclen) spec, TAB(61) unit, TAB(71) status
- Fixed STR$() emulation: leading space, dropped leading zeros (.03 not 0.03)
- Added 7B family support: 31 parameters, 120VAC, Packing Check List, Tested by/QC
- View button now shows styled HTML matching PDF layout
### Email Drafts
- `C:\ClaudeTools\Test Datasheets\findings-draft.md` — Initial pipeline analysis
- `C:\ClaudeTools\Test Datasheets\findings-update-draft.md` — Updated with rebuild details
### Open Items
1. Website upload: old ASP.NET endpoints dead, need new mechanism
2. ~845K records pending ForWeb export (many 7B, older models)
3. STAGE import (~8,100 TXT files on NAS) — script ready, not yet run
4. MAQ20/PWRM10 (XLS format) and 10D (JSON) integration — future
5. Serial numbering standards discussion with John