Chapter 3
The Harness Equation
Tools + Knowledge + Observation + Action + Permissions
🎯
Like Assembling a Robot
Imagine building a robot that can do work for you. Just having a smart brain (LLM) isn't enough — you also need to attach arms (Tools), a knowledge base (Knowledge), cameras (Observation), actuators (Action), and safety locks (Permissions). These five things combined make a complete Harness.
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 Architecture — Click a module to jump to its chapter
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?