Date: 2026-04-09 Session: ~3 hours, Claude Chat (oddkit project) Trigger: Jesse shared Anthropic's Managed Agents announcement (2026-04-08 evening). Klappy saw it morning of April 9.
Decisions
D1: Spike Managed Agents immediately rather than theorize — read docs, then build
D2: Use Sonnet 4.6 for all spike agents — prove the pattern cheaply before spending Opus tokens
D3: Test proactive posture by asking about topics that only exist in oddkit canon (ODD axioms, Vodka Architecture)
D4: Three-model pipeline for production: Opus writes, Sonnet validates, Opus fixes
D5: Governance validation by agents — all canon constraints, not just frontmatter
D6: Keys in project instructions (one line), governance in canon — same pattern as GitHub PAT
D7: Co-authored writing framing: AI is ghost writer taking brain dumps and transcripts, not AI-generated content. Ghost writer must stay invisible.
Observations
O1: Proactive oddkit posture survives Managed Agents harness — 8 MCP calls before first response, no prompting needed beyond system prompt
O2: Agent honestly reported Vodka Architecture not found — refused to guess. Birch: "It admitted what it didn't find and it refused to guess. Very cool."
O3: Vodka Architecture search miss caused by two bugs: stale KV index (411 vs 455 docs, eventual consistency) and BM25 keyword dilution ("pattern" drowning "vodka")
O4: Coding agent followed AGENTS.md pre-work checklist, called orient/preflight/validate autonomously. Filed PR #72.
O5: Broken frontmatter shipped 4x in one session — inline fixing failed every time. Agent validation caught every issue in one pass.
O6: Inline validation is fast but limited. Agentic validation has overhead (2-4 min, can timeout/crash) but is thorough. Complementary, not competing.
O7: Sonnet-authored code generates more review findings than Opus-authored code. Model selection per agent role matters.
O8: "Not X, it's Y" flagged by Birch as AI voice cliché — validated against Wikipedia's Signs of AI writing catalog
O9: MCP servers declared at agent creation, available to all sessions — right granularity for epistemic governance
O10: Memory Stores require research preview access (404) — future integration point for OLDCH persistence
Learnings
L1:mcp_servers in agent config require matching mcp_toolset in tools array — clear error message guides you
L2:public: false + exposure: public crashes the renderer — contradictory flags with no graceful fallback
L3: Unquoted tag strings in inline YAML arrays crash the renderer — must be ["quoted", "strings"]
L4: Stream SSE endpoint uses different beta header (agent-api-2026-03-01) than REST endpoints (managed-agents-2026-04-01)
L5: Temporal claims ("weeks ago") must be verified against actual dates — wrote "weeks" when frontmatter said 5 days (2026-04-04)
L6: Agent validation sessions can timeout or die mid-execution — retry logic needed
L7: Anthropic's engineering blog explicitly says harnesses encode assumptions that go stale as models improve — validates TruthKit thesis that epistemic layer is distinct from infrastructure layer