diff --git a/session-logs/2026-06-04-howard-syncro-billing.md b/session-logs/2026-06-04-howard-syncro-billing.md new file mode 100644 index 0000000..d614da4 --- /dev/null +++ b/session-logs/2026-06-04-howard-syncro-billing.md @@ -0,0 +1,64 @@ +# Session Log — 2026-06-04 — Howard — Syncro Billing Batch + +## User +- **User:** Howard Enos (howard) +- **Machine:** Howard-Home +- **Role:** tech + +## Session Summary + +Created and billed three Syncro tickets for completed field work across two customers (Cascades of Tucson and Desert RV Center). Began the session with a `/sync` that pulled 16 ClaudeTools commits and 3 vault commits, and actioned a fleet broadcast from Mike (GURU-5070) to re-run `migrate-identity.sh` for the new `grok` capability flag — confirmed `grok.installed: false` on Howard-Home, which is correct since only GURU-5070 has the Grok CLI. + +The billing work was reorganized from the initial verbal description. The original ask bundled Megan (file access) and Tamra (scanner) onto one 1.5h emergency onsite ticket, with a separate emergency-remote ticket for the ASSISTNURSE-PC. After review, Howard restructured: Tamra's scanner work billed at 0.5h onsite on the existing ticket #32381, a new ticket created for Megan with 1.5h onsite, and Desert RV at 0.5h remote. Emergency rate was explicitly dropped from all tickets — everything billed at regular rates. + +Cascades of Tucson is a prepaid customer (19.25 hrs on the block at session start). Both Cascades onsite line items (1.5h + 0.5h = 2.0h) drew down the prepay block, netting $0.00 invoices; the block ended at 17.25 hrs. Desert RV Center is not prepaid, so its 0.5h remote bill produced a $75.00 cash invoice. All three tickets received customer-visible (do-not-email) resolution comments and were marked Invoiced. A bot alert was posted to #bot-alerts for each write. + +## Key Decisions + +- **Dropped emergency billing on all three tickets** per Howard's explicit instruction ("no emergency rate for any of them"). Used regular onsite (26118 @ $175) and remote (1190473 @ $150) products instead of 26184. +- **Split Megan and Tamra onto separate tickets** rather than the originally-described single bundled onsite ticket. Tamra → existing #32381 (0.5h onsite); Megan → new ticket #32382 (1.5h onsite). Total onsite rose from the originally-mentioned 1.5h to 2.0h as a result. +- **Left #32381's subject unchanged** ("Remote - Tamara's small scanner is not working") even though it was billed onsite. Howard confirmed the title mismatch is acceptable; no retitle. +- **Resolution comments set to customer-visible but do-not-email** since this was back-billed work already completed — avoids surprise customer emails. +- **Namespaced this session log** (`-howard-syncro-billing`) because Mike already wrote `2026-06-04-session.md` on the same date. + +## Problems Encountered + +- **migrate-identity.sh first run produced no grok block** — the local script predated Mike's commit 4c447ca that added grok detection. Resolved by running the sync first (which pulled the updated script), then re-running migrate-identity.sh. +- **Customer/ticket assumptions corrected via lookup** — ticket #32298 turned out to be Desert RV Center, not Cascades; ticket #32381 was already titled for the scanner. Confirmed both via GET before billing to avoid mis-assignment. + +## Configuration Changes + +- `.claude/identity.json` — added `grok: { installed: false }` block + refreshed ollama/python/platform fields via `migrate-identity.sh`. Gitignored (per-machine); not committed. +- `session-logs/2026-06-04-howard-syncro-billing.md` — created (this log). + +## Credentials & Secrets + +None newly discovered or created. Syncro per-user API key for Howard read from the baked-in skill key map (vault backup at `msp-tools/syncro-howard.sops.yaml`). + +## Infrastructure & Servers + +- Syncro PSA API base: `https://computerguru.syncromsp.com/api/v1` (query-param auth) +- Coord API: `http://172.16.3.30:8001/api/coord` + +## Commands & Outputs + +- `bash .claude/scripts/migrate-identity.sh` — set `grok.installed: false` +- `bash .claude/scripts/sync.sh` — pulled 16 commits (HEAD d858122), vault +3 commits +- Syncro billing via `POST /tickets`, `/tickets/{id}/comment`, `/tickets/{id}/add_line_item`, `POST /invoices`, `PUT /tickets/{id}` (status Invoiced) +- Prepay verification: Cascades `prepay_hours` 19.25 → 17.75 → 17.25 + +## Pending / Incomplete Tasks + +- None. All three tickets billed and invoiced. #32381 title left as-is per Howard. + +## Reference Information + +| Ticket | # | Internal ID | Customer | Work | Labor | Invoice | +|---|---|---|---|---|---|---| +| Megan file access | 32382 | 112197080 | Cascades of Tucson (20149445) | Renamed file on server | 1.5h onsite (26118) | inv 1650577242 — $0.00 prepaid | +| Tamra scanner | 32381 | 112172438 | Cascades of Tucson (20149445) | Scanner failed, Brother printer workaround | 0.5h onsite (26118) | inv 1650577256 — $0.00 prepaid | +| Desert RV server | 32298 | 110582061 | Desert RV Center (19357852) | Expanded VHD + extended C: partition | 0.5h remote (1190473) | inv 1650577261 — $75.00 | + +- Cascades prepay block: 19.25 → 17.25 hrs +- ClaudeTools HEAD after morning sync: d858122 +- Grok broadcast actioned: coord message 4407c349 (marked read)