Skip to content

Session Log — 2026-08-30

Google Sheets Connector (Budget)

Set up Hal ↔ Budget Google Sheet integration via a scoped service account.

  • Project: universal-talon-454006-c6 — Sheets API enabled.
  • Service account: sheet-connector@universal-talon-454006-c6.iam.gserviceaccount.com
  • Key: ~/.config/gdrive/service-account.json (mode 600).
  • Venue: python venv ~/.venv-sheets (google-api-python-client, google-auth).
  • Budget sheet ID: 1C6BTvRvouxy7MdpeK9KkeKHJ_TH-KJm2c5wS_5mC6SQ — 13 tabs (2016–2027 + copies + worst case).
  • Connector verified working (read metadata + tab list, Editor access).
  • Read-only scoped to only this sheet — nothing else on Drive.

Budget Model Learned

  • Weekly-column cashflow ledger; column A line items; Dean's monthly salary ~5500 drives everything.
  • Row set: Carryover, super, Storage, Karas Super, CAR LOAN, Food, Rent, save, car insur, mobile, Power, Net, petrol/opal, credit card, Total D.
  • Key use: what-if cashflow — "spend £200 now → how it ripples through future months."

2028 Sheet Plan (future)

  • Carryover opens from end of the 2027 sheet (not 2026).
  • Clone structure forward; formula-driven carryover so edits auto-ripple.
  • Trigger phrase: "create a 2028 sheet".

Also (this session)

  • Researched Nelson MCP (LibreOffice→MCP) — moot for now (budget is Google Sheets, not local office docs).
  • Reviewed 5 open-source MCP servers (FastAPI-MCP, arXiv, Wikipedia, OSM, SEC EDGAR) — none applied to current stack; FastAPI-MCP noted as the architectural standout if a FastAPI service is ever built.
  • Security audit done: closed a real LAN exposure — Canva editor server (port 8790) was bound to all interfaces with no auth; rebound to 127.0.0.1 (backup editor-server.js.bak.2026*). Verified LAN access now refused. UFW enabled (default DROP) but enforcement still to be confirmed via sudo ufw status verbose.
  • Slow-boot diagnosis completed (boot 0 = 1min 38s): confirmed one-off Dell "memory re-training" stall (kernel first-log at 68.9s vs normal 4.7s); subsequent boot back to 28s. Not a persistent issue.