Free preview5 min

The Five Subsystems

Reviewed by Human · Updated September 22, 2026

A harness isn't one thing. It's five parts, and each does exactly one job. Before you scroll: how many of the five can you name right now?

What Are the Five Subsystems of a Harness?

The course breaks a harness into five subsystems, each with a single responsibility. Miss one, and a specific class of failure shows up. **Instructions**: what to do and what to read first — a navigable structure, not one giant file. **State**: what's been done, what's in progress, and what's next, persisted to disk so the next session resumes exactly where the last one stopped. **Verification**: proof, not vibes — only a passing test suite or a real command output counts as done. **Scope**: one feature at a time, with an explicit definition of done, so the agent can't half-finish three things. **Session Lifecycle**: initialize at the start, leave a clean, resumable state at the end. Even a minimal harness touches several of these at once. Learn the five names now and every later failure becomes diagnosable: you stop asking "why is my agent bad" and start asking "which subsystem is missing."

One job each. When something breaks, exactly one of these five is usually the culprit.

Example

Here's a stripped-down AGENTS.md excerpt. Notice how four of the five subsystems show up in just a few lines — Instructions is the file itself.

Prompt

# AGENTS.md ## Before you start Run `init.sh`. Read `claude-progress.md`. Read `feature_list.json`. ## Scope Work on exactly one feature per session. Do not start a second. ## Done means Tests pass, lint is clean, types check. Not "it looks right."

AI Response

This is not a prompt. It's a contract the agent re-reads every session. `init.sh` is Lifecycle. `claude-progress.md` is State. The scope line is Scope. The done line is Verification. The file existing at all is Instructions.
A few lines, four subsystems. That density is the point — a harness isn't long, it's structured.

Your turn

Read the AGENTS.md excerpt above one more time. One of the five subsystems is only weakly represented — State is mentioned but never described. Add one line to the excerpt that makes State a real instruction, not just a filename.

Reflect

A filename in the instructions isn't a subsystem. A subsystem is the file plus the rule for keeping it true.

end of module

You've finished this module.

Mark it complete to earn your XP and keep your streak alive.

Progress saved locally · Sign up to earn XP