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

4.5 KiB

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