2026-07-12 — Hermes spend fix + alley drop-off pin

Cross-agent record of decisions made in a Claude Code session on 2026-07-12, written to the notes store so hermes can recall them (CC transcripts alone are noisy + laggy).

Alley drop-off pin (SMK9 booking)

  • Exact drop-off pin: 41.9094435, -87.7210309 — Plus Code 86HJW75H+QH.
  • Wired into the booking-confirmation email (functions/invoice.js DROPOFF const) and scripts/maps_util.py (SMK9_DROPOFF).
  • Reverse-geocodes near the neighbor “Matthews Roofing, 3737 W North Ave” because Google has no address point for 3747 (skips 3737 → 3751). Elliott is creating a Google Business Profile for Sound Mind K9 so the pin can label “Sound Mind K9”; repoint the const once verified. See client-intake-pipeline / booking.

Hermes Anthropic API spend fix

  • Root cause: long-lived Telegram/WhatsApp sessions re-send their full ~100K-token prefix every turn; cache_ttl was 5m so the cache expired between human replies and the whole prefix got re-WRITTEN at 496/mo). The Second Brain was half-built — store/ingest worked, but the live-prompt SHRINK (compaction + recall-on-demand) was never wired.
  • June ≈ $845 real usage (invoices = prepaid auto-recharges + 15% Chicago tax); 99% claude-sonnet-4-6 standard tier. Fable exonerated. Claude Code bills to a flat subscription, not the API.
  • Fixes (all live, ~/.hermes/): cache_ttl 5m→1h; compression threshold 0.5→0.08; recall-on-demand in pre_llm_call.py; rebuilt spend_watch.py (real token cost + tiered cap 150/mo after + kill-switch auto-arms 2026-07-19). Deep health-check auto-fires Jul 15 & 19. See qdrant / memory.

Memory-freshness fix (this note’s reason)

The 20-turn checkpoint keeps continuity fresh but recall (Qdrant) ingest was daily-only — so CC decisions weren’t visible to Hermes on handoff. Fixed: CC→Qdrant ingest now runs on the ~20-turn cadence, and key decisions are written here to the notes store hermes actually searches.