tau — A Minimalist Coding Agent Harness
The base harness for Course 2A: how a three-layer coding agent architecture becomes a security agent.
tau is the most readable coding-agent harness available. Under 800 lines for the entire portable brain (harness, loop, tools, events). Designed to be read, not just used. Every architectural decision is documented in dev-notes/ phase journals.
The three-layer separation is the design decision that makes tau-security possible. tau_ai (providers), tau_agent (portable brain), tau_coding (app). The brain has zero dependencies on UI, CLI, or file layout. You swap tau_coding for tau_security and the brain doesn't change.
AgentTool's executor pattern is where scope enforcement hooks in. A tool is a frozen dataclass with an async executor function. Security tools wrap the executor with assert_in_scope() before the operation. The model cannot bypass this — it's structural, not advisory.
The event stream is the evidence chain's data source. Every ToolExecutionEndEvent carries the tool result, which becomes an Evidence record with a SHA-256 hash. tau's event architecture and security evidence requirements map almost perfectly.