# 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
