diff --git a/.claude/messages/for-mike.md b/.claude/messages/for-mike.md index c453c21..46d65b7 100644 --- a/.claude/messages/for-mike.md +++ b/.claude/messages/for-mike.md @@ -3,3 +3,37 @@ Check this file at sync. Delete items after you've addressed them. --- + +## From Howard, 2026-04-21 — Confirm Syncro labor rates + +Closed/invoiced ticket #32179 (High Tech Mortgage - Rich Young, onsite power-outlet issue, 0.5 hr). I used **$175/hr for Labor - Onsite Business** (product_id 26118) since I wasn't sure what was current. + +Can you confirm what our current rates should be for the skill's reference? The /syncro skill currently lists $150/hr for Remote as an example but has no onsite or emergency rate documented. Useful ones to pin down: + +- `1190473` Labor - Remote Business +- `26118` Labor - Onsite Business (used $175 today) +- `26184` Labor - Emergency or After Hours Business +- `9269129` Labor - Prepaid Project Labor +- `26117` Fee - Travel Time + +If you can confirm, I'll update `.claude/commands/syncro.md` so future tickets don't guess. + +--- + +## From Howard, 2026-04-21 — vault.sh wrapper bug on Windows (MSYS path) + +`.claude/scripts/vault.sh` fails on HOWARD-HOME with `[ERROR] vault_path not set` even though identity.json has `"vault_path": "D:/vault"`. Traced it: + +The wrapper passes `$IDENTITY_FILE` as `/c/claudetools/.claude/identity.json` (Git-Bash MSYS form) to native Windows Python, which can't read MSYS paths. The `open()` silently fails inside the `$(...)` substitution, VAULT_ROOT stays empty, and the wrapper bails. + +Fix is small — convert with cygpath if available: + +```bash +IDENTITY_FILE_FOR_PY="$IDENTITY_FILE" +if command -v cygpath >/dev/null 2>&1; then + IDENTITY_FILE_FOR_PY=$(cygpath -m "$IDENTITY_FILE") +fi +# then pass $IDENTITY_FILE_FOR_PY to python -c +``` + +I worked around it for tonight by calling `sops -d` directly. Want me to patch the wrapper, or do you want it?