Agent Harness Review Board

Review the software around the model — not the model. Paste a harness dump, render the loop / graph / guardrails, and score whether the agent can finish work without running away, lying about “done,” or touching the wrong systems.

What a harness review actually covers

Agent = model + harness. The loop is only the heartbeat. Reliability lives in everything wrapped around it: tools, context policy, permissions, verification, state, and traces. Review the model–harness pair, not the prompt in isolation. Layers below are ordered by how often production agents fail when a layer is missing.

0. Identity & blast radiusWho is the agent, which credentials it holds, what a compromise can doP0
1. Control loopReason → act → observe → repeat, plus hard stop conditionsP0
2. Action interfaceTool registry, schemas, sandbox, least privilege, side-effect classP0
3. Guardrails & HITLCode-enforced limits, approval gates, input/output policyP0
4. Verify stepDo not trust “I’m done.” Check environment, tests, schema, or a judgeP1
5. Context policyWhat the model sees each turn; pin vs compact vs drop; tool-output capsP1
6. Graph / orchestrationNodes, routers, subagents, handoffs — only if work actually branchesP1
7. State & memorySession, artifacts, resume, rollback, append-only auditP1
8. ObservabilityEvery model call and tool call as a reconstructable trajectoryP2
9. Eval / feedbackFixed eval set, failure clustering, policy generated from real missesP2

Per-layer questions that catch real failures

Loop

  • What starts a run? User message, schedule, webhook, another agent?
  • Hard caps: max iterations, max tokens, max wall-clock, max $?
  • Exit: model says done, verifier passes, user stop, budget, error budget?
  • Same-tool/same-args loop detector?
  • Retries classified (timeout vs 4xx vs bad tool JSON vs policy deny)?

Tools

  • Closed registry or the model can invent tools?
  • Each tool: name, schema, side-effect (read / write / irreversible), auth identity
  • Arguments validated in code before execution?
  • Secrets injected by the harness, never by the model?
  • Sandbox / network allowlist / working directory?

Guardrails

  • Which rules are code (cannot be talked out of) vs prompt text (can)?
  • Pre-tool permission pipeline: allow / ask-human / deny
  • Input: injection, untrusted tool output labeled as untrusted
  • Output: PII, send-message, payments, deletes
  • Worst case if the harness is misconfigured?

Verify

  • Ground truth from the environment (tests, query result, HTTP status)?
  • Separate verifier from the actor when stakes are high?
  • False “done” path: agent claims success after a no-op?
  • Retry-from-failure feeds the actual error, not a paraphrase?

Context

  • Pinned always: system, task, policy, current plan?
  • Compaction: summarize middle, persist large tool output to files?
  • Instruction files versioned (AGENTS.md / CLAUDE.md)?
  • Tool descriptions costing tokens every turn — are they earned?

Graph

  • Is this a while-loop with tools, or a real state machine?
  • Which edges are deterministic vs model-routed?
  • Cycles bounded? Checkpoint before irreversible nodes?
  • Subagent: isolated context, reduced tools, summary-only return?

Rule of thumb: a graph is orchestration. A harness is governance plus verification. If someone shows you only a pretty node diagram, they have not shown you the harness.