-
R1 · Nesting
The three rings are a convention, not a law.
Sources disagree on the order. The reference puts harness outermost; AI Builder Club stacks graph outermost;11 Anthropic defines the harness as the loop that calls the model and routes its tool calls;5 LangChain treats a loop as a simple cyclic graph whose nodes may be full agent runs.10
Model them as concerns that recurse: a graph node can contain a loop, a loop can call a sub-graph, one harness hosts both.
-
R2 · Harness panel
The harness is drawn as a loop.
Its return arrow from final response back to gather turns the environment into a cycle and duplicates the loop panel next to it.
The harness is the environment. Whether to take another pass is the loop's decision alone.
-
R3 · Stopping rules
Success exits and failure exits are mixed, and escalation is missing.
"Tests pass" is a success exit; caps are failure exits; nothing says what to leave behind on either. Berkeley's MAST taxonomy finds failure in both directions: agents unaware of stopping conditions (12.4% of annotated failures) and premature termination (6.2%).20
Four named exits — done, exhausted, stuck, escalated — each writing a handoff (section 05).
-
R4 · No-progress rule
"Same call & args" only catches exact repeats.
Production detectors also catch repeated errors and ping-pong between two actions. OpenHands flags 4 identical action–observation pairs, 3 repeated action–error pairs, 3 monologue messages or 6 alternating cycles.22
Detect three patterns, not one: repeat, repeated error, alternation.
-
R5 · Durable state
The graph has no memory of itself.
Approval and merge nodes imply pauses of minutes or days. In LangGraph that needs a checkpointer and a thread id, and code before an interrupt re-runs on resume — so earlier side effects must be idempotent.12
Checkpoint before every human pause; side effects only after approval.
-
R6 · Security
"Tools: exec, fetch" has no permission boundary.
OWASP's 2026 agentic list ranks goal hijack, tool misuse and identity or privilege abuse first, second and third.23 Anthropic's managed agents keep credentials out of the sandbox entirely.5
Least agency per tool; secrets never enter the model's environment.
-
R7 · Evaluation
A verifier is not an eval suite.
A verifier judges one run; evals judge the system across runs. Anthropic separates pass@k (any of k trials succeeds) from pass^k (all k succeed): a 75% per-trial rate falls to about 42% across three.8
Ship with both, and report pass^k for anything customer-facing.