- 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>
195 lines
7.7 KiB
Markdown
195 lines
7.7 KiB
Markdown
# Claude Instance Context: Test Datasheets Investigation (AD1)
|
|
|
|
**Purpose:** You are a Claude Code instance running on AD1 (192.168.0.27) at Dataforth's facility. Your job is to investigate the TestDataSheetUploader tool and the test datasheet workflow -- where files come from, where they go, and how this integrates with the DOS test machines.
|
|
|
|
**This is a temporary investigation instance.** Once findings are documented and synced to Gitea, this instance will be removed.
|
|
|
|
---
|
|
|
|
## Your Mission
|
|
|
|
1. **Find where test datasheets are generated** -- which machine(s), which software, what path
|
|
2. **Find where they end up** -- the server-side path is `C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\` on whatever runs www.dataforth.com
|
|
3. **Determine if this uploader is still in active use** or if the workflow changed
|
|
4. **Document the full datasheet pipeline** -- from DOS test machine output through to the website
|
|
5. **Sync your findings back to Gitea** so the coordinator instance can see them
|
|
|
|
---
|
|
|
|
## Gitea Sync (How to Push Findings)
|
|
|
|
The ClaudeTools repo is hosted on Gitea. Clone and push your findings here:
|
|
|
|
```bash
|
|
# Clone the repo
|
|
git clone https://mike%40azcomputerguru.com:Gptf%2A77ttb123%21%40%23-git@git.azcomputerguru.com/azcomputerguru/claudetools.git
|
|
cd claudetools
|
|
|
|
# Your working area
|
|
# clients/dataforth/dos-test-machines/Test Datasheets/
|
|
|
|
# Commit and push findings
|
|
git add -A
|
|
git commit -m "AD1 investigation: test datasheet pipeline findings"
|
|
git push origin main
|
|
```
|
|
|
|
**Gitea Credentials (plaintext, temporary use only):**
|
|
- URL: https://git.azcomputerguru.com
|
|
- User: mike@azcomputerguru.com
|
|
- Password: Gptf*77ttb123!@#-git
|
|
|
|
---
|
|
|
|
## Network Context (Dataforth Engineering Network)
|
|
|
|
| Device | IP | Role | Credentials |
|
|
|--------|-----|------|-------------|
|
|
| AD1 (you are here) | 192.168.0.27 | Primary Domain Controller | INTRANET\sysadmin / Paper123!@# |
|
|
| AD2 | 192.168.0.6 | Production Server (Win Server 2008 R2) | INTRANET\sysadmin / Paper123!@# |
|
|
| D2TESTNAS | 192.168.0.9 | TrueNAS, SMB1 proxy for DOS machines | root / (SSH key) or admin / Paper123!@#-nas |
|
|
| DOS Stations | 192.168.0.x | ~30 DOS 6.22 test machines (TS-XX) | N/A |
|
|
| UDM Gateway | 192.168.0.254 | UniFi Dream Machine | N/A |
|
|
|
|
---
|
|
|
|
## What We Already Know About TestDataSheetUploader
|
|
|
|
This is a VB.NET console app (.NET Framework 4.7.2) last built November 2, 2022.
|
|
|
|
### What it does
|
|
1. Calls `https://www.dataforth.com/Services/DirectoryManifest.aspx` to get a list of files already on the web server
|
|
2. Compares local files against that manifest (by filename, size, and last-modified date)
|
|
3. Uploads new/changed files via `https://www.dataforth.com/Services/Uploader.aspx`
|
|
4. Deletes files from server that no longer exist locally via `https://www.dataforth.com/Services/DeleteFile.aspx`
|
|
5. Only processes files modified in the current year
|
|
|
|
### Configured paths (from app.config)
|
|
- **Service auth:** username=DataforthWebShare, password=Data6277
|
|
- **TestDataSheetPath:** `C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists`
|
|
- **TestFolderPath:** `C:\Users\hoffm\Documents\Customer Folders\Dataforth\product lists`
|
|
- **InventoryDataStagingFolder:** `C:\TestDataSheetUploader\staging`
|
|
- **InventoryDataSourceFolder:** `C:\TestDataSheetUploader\src`
|
|
- **InventoryDataFiles:** AvSelCat.csv, AvSelCus.csv
|
|
|
|
### Server-side destination (from error logs)
|
|
```
|
|
C:\inetpub\wwwroot\dataforth.com\WebShare\ProcessCheckOutTestFolder\
|
|
```
|
|
|
|
### Key unknowns -- what you need to find out
|
|
- **Who is "hoffm"?** Likely a Hoffman who worked at Dataforth. Which machine was this?
|
|
- **Where do test datasheets originate?** The DOS machines run QuickBASIC data acquisition. Do they produce datasheet files?
|
|
- **Is there a path from DOS machines -> datasheets?** The DOS machines map `T:` to `\\D2TESTNAS\TEST`. Is there a datasheets share they write to?
|
|
- **Is the uploader still running?** Scheduled task? Manual? Last used?
|
|
- **Where does `C:\Users\hoffm\...` map to now?** Did someone take over this role?
|
|
|
|
---
|
|
|
|
## Investigation Steps
|
|
|
|
### On AD1 (this machine)
|
|
```powershell
|
|
# Check if TestDataSheetUploader exists anywhere on this machine
|
|
Get-ChildItem -Path C:\ -Recurse -Filter "TestDataSheetUploader*" -ErrorAction SilentlyContinue
|
|
|
|
# Check for Hoffman's profile or traces
|
|
Get-ChildItem C:\Users\ -Directory
|
|
Get-ChildItem "C:\Users\hoffm" -ErrorAction SilentlyContinue
|
|
|
|
# Check scheduled tasks for anything datasheet-related
|
|
Get-ScheduledTask | Where-Object { $_.TaskName -like "*data*" -or $_.TaskName -like "*sheet*" -or $_.TaskName -like "*upload*" -or $_.TaskName -like "*sync*" }
|
|
|
|
# Check for IIS sites (AD1 might host www.dataforth.com)
|
|
Import-Module WebAdministration -ErrorAction SilentlyContinue
|
|
Get-Website -ErrorAction SilentlyContinue
|
|
Get-ChildItem "C:\inetpub\wwwroot" -ErrorAction SilentlyContinue
|
|
```
|
|
|
|
### On AD2 (192.168.0.6)
|
|
```powershell
|
|
# Remote into AD2 and check
|
|
Invoke-Command -ComputerName 192.168.0.6 -Credential (Get-Credential INTRANET\sysadmin) -ScriptBlock {
|
|
# Check for the uploader
|
|
Get-ChildItem -Path C:\ -Recurse -Filter "TestDataSheetUploader*" -ErrorAction SilentlyContinue
|
|
|
|
# Check IIS
|
|
Get-ChildItem "C:\inetpub\wwwroot" -ErrorAction SilentlyContinue
|
|
|
|
# Check for the WebShare path from error logs
|
|
Get-ChildItem "C:\inetpub\wwwroot\dataforth.com\WebShare" -ErrorAction SilentlyContinue
|
|
|
|
# Check scheduled tasks
|
|
Get-ScheduledTask | Where-Object { $_.TaskName -like "*data*" -or $_.TaskName -like "*upload*" }
|
|
|
|
# Check user profiles
|
|
Get-ChildItem C:\Users\ -Directory
|
|
}
|
|
```
|
|
|
|
### On D2TESTNAS (192.168.0.9)
|
|
```bash
|
|
# SSH from AD1 or any machine with access
|
|
ssh root@192.168.0.9
|
|
|
|
# Check datasheets share
|
|
ls -la /data/datasheets/
|
|
find /data/ -name "*datasheet*" -o -name "*TestData*" 2>/dev/null
|
|
|
|
# Check if DOS machines write any test output files
|
|
ls -la /data/test/TS-27/
|
|
find /data/test/ -name "*.pdf" -o -name "*.csv" -o -name "*.dat" 2>/dev/null
|
|
```
|
|
|
|
### Check the Dataforth website services
|
|
```powershell
|
|
# Test if the manifest service still responds
|
|
$cred = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("DataforthWebShare:Data6277"))
|
|
Invoke-WebRequest -Uri "https://www.dataforth.com/Services/DirectoryManifest.aspx" -Headers @{Authorization="Basic $cred"} -Method GET -ErrorAction SilentlyContinue
|
|
```
|
|
|
|
---
|
|
|
|
## DOS Test Machine Architecture (Full Context)
|
|
|
|
The DOS machines are ~30 stations running DOS 6.22 with QuickBASIC 4.5 data acquisition software.
|
|
|
|
```
|
|
DOS Machines (TS-XX) --SMB1--> D2TESTNAS (192.168.0.9) --SMB2/rsync--> AD2 (192.168.0.6)
|
|
| /data/test/ C:\Shares\test\
|
|
| /data/datasheets/ C:\Shares\datasheets (PENDING)
|
|
|
|
|
+-- Map T: = \\D2TESTNAS\TEST
|
|
+-- Run QuickBASIC data acquisition
|
|
+-- UPDATE.BAT for remote management
|
|
+-- TODO.BAT for remote task execution
|
|
```
|
|
|
|
**Bidirectional sync** runs every 15 minutes between D2TESTNAS and AD2 via `/root/sync-to-ad2.sh`.
|
|
|
|
The datasheets share (`\\D2TESTNAS\datasheets` -> `/data/datasheets/`) exists on D2TESTNAS but the corresponding AD2 share (`\\AD2\datasheets`) was never created -- it's listed as a remaining task. This may be relevant to the test datasheet pipeline.
|
|
|
|
---
|
|
|
|
## Where to Save Your Findings
|
|
|
|
Write your investigation results to:
|
|
```
|
|
clients/dataforth/dos-test-machines/Test Datasheets/INVESTIGATION.md
|
|
```
|
|
|
|
Include:
|
|
- What you found on each machine
|
|
- The complete datasheet pipeline (or what's missing/broken)
|
|
- Whether the uploader is still active
|
|
- Recommendations for what to do next
|
|
|
|
Then commit and push to Gitea using the credentials above.
|
|
|
|
---
|
|
|
|
## Contact
|
|
|
|
- **AJ at Dataforth** -- engineering contact, can answer questions about the test workflow
|
|
- **Coordinator instance** -- will see your findings after you push to Gitea
|