Chapter 3

The Harness Equation

Tools + Knowledge + Observation + Action + Permissions

The Core Equation

The overall architecture of OpenHarness can be summarized in one simple equation: Harness = Tools + Knowledge + Observation + Action + Permissions Let's break down each part:

🔧 Tools — 43+ Built-in Tools

Tools are the interfaces through which an Agent interacts with the outside world. OpenHarness has 43+ built-in tools covering: • File operations: Read, Write, Edit, Glob, Grep • Shell commands: Bash • Search: WebFetch, WebSearch • Agent collaboration: Agent, SendMessage • Task management: TaskCreate, TaskUpdate • MCP integration: MCPTool • Workflow control: EnterPlanMode, EnterWorktree Every tool follows a unified interface: receive parameters → execute operation → return result.

📚 Knowledge — On-Demand Loading

An Agent can't fit all knowledge into a single prompt. OpenHarness's Skills system allows loading domain-specific knowledge on demand, like a library — grab the book you need when you need it.

👀 Observation — Real-Time Feedback

Every time a tool finishes executing, the result is fed back to the LLM. This is "observation" — the Agent can see what effect its action had, then decide what to do next.

⚡ Action — Iterative Execution

An Agent doesn't complete a task in one shot. It continuously loops (Agent Loop): think → call a tool → observe the result → think again. This loop is the Agent's heartbeat — we'll cover it in detail in Chapter 4.

🛡️ Permissions — Safety Guardrails

Letting AI operate freely is dangerous. OpenHarness provides three permission tiers to ensure the Agent doesn't perform inappropriate actions. This is one of the most important design elements of the Harness.

OpenHarness's 10 Subsystems

At the code level, OpenHarness breaks those five capabilities into 10 subsystems: 1. Engine — Agent Loop core cycle 2. Tools — 43+ built-in tools 3. Skills — On-demand knowledge loading 4. Plugins — Extension mechanism 5. Permissions — Safety checks 6. Hooks — Lifecycle events 7. Commands — 54 user-interaction commands 8. MCP — Model Context Protocol integration 9. Memory — Cross-session persistence 10. Tasks — Background task management In the following chapters, we'll dive deep into each subsystem.
📌 Key Takeaway
Five Capabilities, Ten Subsystems
Remember this equation: Harness = Tools + Knowledge + Observation + Action + Permissions. OpenHarness implements this as 10 cleanly separated subsystems at the code level, each with a single responsibility, composed together through a registry pattern.
🧠 Check Your Understanding
What does "Observation" refer to in the Harness equation?