Architecture Decision Records
- 1. Go + Cobra CLI
- 2. Single llama.cpp Instance for Routing and Coding
- 3. Claude via CLI Subprocess, not Direct API
- 4. Context Handoff via --append-system-prompt
- 5. Session Storage as JSON Files Indexed by cwd
- 6. CLAUDE_WAITING State for Turn-Level Routing
- 7. Local Model Self-Escalation via Function Call
- 8. Branching Strategy and Conventional Commits
- 9. Router Signal Extractor and Weighted Scorer
- 10. Interactive REPL Mode (superseded by 14)
- 11. Claude Pipe-Only Mode with Stdin Disconnect
- 12. Claude Tool and Directory Permission Handling
- 13. Structured Permission Prompts via --permission-prompt-tool stdio
- 14. Full TUI with bubbletea viewport+textarea (partially superseded by 19)
- 15. TUI-native permission prompts via blocking goroutine + channel
- 16. Memory System: Percept Store with NREM Consolidation
- 17. OpenTelemetry-native Observability with File Exporters
- 18. Streaming Tool-Format Detector for Multi-Model Compatibility
- 19. TUI Input History Persistence and Turn Cancellation
- 20. Memory System Refinements: Reachable Promotion and User-Stated Facts
- 21. Memory TUI Panel and Interactive Management Commands
- 22. Claude Percept Skill: Nonce Tags, Consumer Hints, and Bidirectional Memory
- 23. AWS Credential Injection for Bedrock-backed Claude Subprocess
- 24. TUI Selection, Copy/Paste, and Welcome Screen
- 25. Memory Decay Constant Re-tuning
- 26. Tool-Usage UI: Inline ⚙ Hint Line
- 27. Remote Inference Authentication Transports
- 28. Multi-Provider Local-Agent Configuration (superseded by 30)
- 29. Summary Bricks for Escalation Context
- 30. Agent Flavours: Unified Config and Escalation Refactor
- 31. Local Agent Percept Writing, Dynamic Consumer Hints, and CurrentNeed Early-Exit Fallback
- 32. Returning Fresh-Start on Stale Context
- 33. Unified TurnRunner Interface for Agent Dispatch
- 34. Agent as Tool
- 35. Stream-closed Pre-flight Denial Detection and Retry
- 36. MCP stdio Subprocess Transport
- 37. Experimental Permission Management
- 38. Move user-turn AddTurn to after Execute
- 39. Native Workflow Engine
- 40. Log Rotation and Simplification
- 41. Time-Based CurrentNeed Expiry
- 42. Preserve
reasoning_content Across Multi-Turn Tool Calls
- 43. Background Sub-Agents for the Local Agent's Tool Loop
- 44. Side-Panel Auto-Open, Shortcut Hints, and Alternating Background
- 45. Local Project-Level Config Overrides (.milk/)
- 47. Live-Attach View for Background Jobs and Workflows
- 48. Notification Toasts: Displaced, Timestamped, Dismissable Events
- 49. Machine-Readable Wire Contract: ACP v2 Embedding + Batch JSONL
- 50. Batch
stream-json JSONL Contract (§6 Catalog + §8.3 Conventions)
- 51. ACP Conversation Views Can Rebind Store Sessions
- 52. Three-Source Permission Asks with a Timed Answer for Background Work
- 53. Memory Weight Model v2: Reinforcement, Wired Edges, Recency
- 54. Docs Information Architecture: Published/Internal Split
- 55. The Implicit Claude Default Is Never Reached Without Approval
- 56. Stale Global Percepts Are Archived by Session Time
- 57. @-File Completion Reads a Cached Candidate Index
- 58. Layered context reduction ladder
- 59. Panel Manual Override Resets When Content Finalizes
- 60. Milk Injects the Current Date into Every Agent Context
- 61. Idle Tip Line Below the TUI Input
- 62. Tool batches execute under a barrier model
- 63. Background shells: lifecycle, permissions, cleanup
- 64. Background shells in the TUI and ACP: one merged background surface
- 65. Confirmation-aware routing: "proceed/go ahead" routes on the confirmed content
- 66. Project tree and git graph panels
- 67. Thinking as a first-class view: out-of-band think blocks with fold containers
- 68. Background jobs get a soft deadline before the hard timeout
- 69. Full-row diff backgrounds: the surface painter reused for +/- rows
- 70. Quiet tool styling: italic + code, no bold, in the Telegram view
- 71. Shared workflow board + the
team workflow
- 72. Self-contained wrapped rows: one SGR tracker instead of per-feature patches