standup
Standup overview — May 2026
Thirty-seven PRs merged, twenty-four ADRs locked, two slices shipped on the KB, two slices shipped on the product, one SPA built from scratch, one WordPress plu
Thirty-seven PRs merged, twenty-four ADRs locked, two slices shipped on the KB, two slices shipped on the product, one SPA built from scratch, one WordPress plugin built from scratch, and two fully-specced features deliberately set on the shelf.
The month split cleanly into two phases. The first week finished the KB and stood up the memberintel product repo from zero. Slice 5 landed the full RAG contributions pipeline — type-prefixed Vectorize IDs, drift pruning, per-type citation rendering, and the kb_open_questions MCP tool. Slice 6 wired the standup auto-publish pipeline, the thing that generated most of this content. ADRs 0001–0008 locked the foundational choices: entitlement shape, model routing, pgvector with tenant RLS, GCP stack, Anthropic seam, Hive Mind as seed source, JWT + Google OAuth, and Voyage voyage-3-lite at 512 dimensions. The second half of May built product at a pace that made the first half look slow.
The product surface grew faster than expected. V1 Slice 1 shipped auth, retrieval, streaming chat, and GCP deploy in a single session. The SvelteKit SPA at app.membersintel.com followed the next day. The Customer Brain (SOUL / BIBLE / HEARTBEAT / MEMORY) and the MemberIntel Connect WordPress plugin were both built end-to-end mid-month — together they constitute the core intelligence loop. Session wrap-up logs (ADR 0019), multi-site portfolio chat, tool-result snapshot persistence (ADR 0023), thumbs feedback, escalation queue, and the full admin foundation (account lookup, audit log, JWT versioning, account-status lifecycle via ADR 0024) all shipped before the month closed.
The admin layer came in structured. The two-key auth principle — Cloudflare Access at the perimeter, User.is_admin = TRUE as the second gate — was decided, specced, and implemented in three days. The brain vault editor lets operators read and write any user’s SOUL, BIBLE, HEARTBEAT, and memory entries, with every mutation audit-logged and memory edits re-embedded atomically via Voyage. The legacy bearer-JWT admin path was dropped entirely, no fallback.
Bug character skewed toward silent failures. The Voyage embed_query input_type bug would have degraded retrieval without surfacing an error. The Anthropic SDK was returning usage fields as strings — token accounting was quietly wrong until coerced. The standup bot hallucinated PR URLs for two weeks because the token lacked PR scope. The OAuth CSRF state parameter shipped missing. The cloud-sql-proxy migration fix was blocking every future Cloud Run deploy without announcing itself. None of these were crashes; all were caught before production traffic hit them, mostly in the same session they were introduced.
Notable. Two fully-detailed specs — Subscription Events Sync and the query_sql read-only SQL surface — were approved, written to the task level, and then explicitly held. The decision is that both features exist to answer questions users haven’t asked yet. The sequencing is launch first, read the chat logs, build only what the evidence supports. Whether that discipline holds under early-user pressure will be the first real test of the product process.