# QA pilot checklist (Siraya Receipt Printing Agent v3)

## Agent install (SirayaPrinter.exe) — primary

- [ ] Copy entire `dist/agent/` folder to a clean Win10/11 x64 VM
- [ ] Double-click **SirayaPrinter.exe** — single UAC prompt; setup wizard completes
- [ ] Desktop app shows **Dashboard** online; `/health` returns OK
- [ ] **Printers** tab lists queues; save + test print works
- [ ] Reboot VM — **SirayaPrinterService** running; agent online without opening desktop app
- [ ] Close desktop app — service keeps running; POS can still print
- [ ] Upgrade: copy newer `dist/agent/`, run **SirayaPrinter.exe** again

## Legacy folder install (Install.cmd)

- [ ] `dist/release/Install.cmd` still works for technician deployments
- [ ] `scripts/verify-install.ps1` returns OK

## Hardware matrix

| Device | Connection | PRINTER_MODE | Pass |
|--------|--------------|--------------|------|
| Epson TM-T82/T88 | USB + spooler queue | spooler | |
| Epson TM | LAN :9100 | tcp | |
| XPrinter XP-80/90 | USB spooler | spooler | |
| Bixolon SRP-350 | USB spooler | spooler | |

## Functional

- [ ] POS checkout prints receipt; `POST /v1/print/jobs` returns 202 then `printed`
- [ ] Kitchen ticket prints with KOT template (`printKitchenTicket`)
- [ ] API key auth: enable in Settings; POS with `NEXT_PUBLIC_PRINT_API_KEY` succeeds
- [ ] Duplicate submit same `idempotencyKey` does not double-print
- [ ] Kill service / power cycle PC; queue replays pending jobs after restart
- [ ] Template preview in desktop app matches physical print
- [ ] FBR IRN/QR appears on invoice template when provided by POS
- [ ] Export diagnostics from **Logs** tab
- [ ] `netstat` shows `127.0.0.1:5000` only (default)

## Pilot sites (3–5)

1. High-volume lunch rush (500+ tickets/day)
2. Power instability (UPS optional)
3. Non-Epson printer (XPrinter or Bixolon)
4. Multi-copy flow (customer + kitchen)
5. Auth-enforced deployment with paired API key

## Automated smoke test (Windows)

```powershell
.\scripts\verify-install.ps1
Invoke-WebRequest http://127.0.0.1:5000/health
Invoke-WebRequest http://127.0.0.1:5000/settings
```

Install log: `%TEMP%\SirayaPrinter-Install.log`
