ImageFirm Enquire
Sheet N°09 · Agent engineering · Rev. 2026.10

Harness, loop, graph: find the layer that failed.

Agents break in three different places: what they can see and touch, when they stop, and what runs next. This sheet redraws a widely shared reference from primary sources — Anthropic, OpenAI, Google, Microsoft, LangChain, UC Berkeley, OWASP — marks where it overreaches, and adds the fourth layer it leaves out: the human who signs.

Sources 28 Failure modes 21 Go-live checks 12 Verified 25 Oct 2026
01 · Definitions

Four questions. Every component answers exactly one.

The names are new; the concerns are not. LangChain's own retrospective calls graph engineering the latest name for an established way of building reliable agents.10 Treat each term as a question the system must answer, and assign every component to one of them.

Harness

What can the model see and do?

Owns
Context, tools and their scopes, sandbox, memory and session log, traces, the instruments the verifier reads.
Primitives
Repository as system of record, tool schemas, permission modes, sandbox, compaction, append-only session.15
Breaks as
Wrong tool, missing context, leaked credential, context rot.

Loop

Go again, or stop?

Owns
The goal and success criteria, verification on every pass, stop and escalation rules, budgets. IBM frames it as goal → action → observation → adjustment, with the goal re-evaluated each iteration.9
Primitives
max_turns, max_iterations, recursion_limit, spend caps, stuck detection, verify-on-stop.
Breaks as
Repeats, drifts, stops early, never stops.

Graph

What runs next, and with what state?

Owns
Nodes, edges, branching, fan-out and joins, typed state, checkpoints. LangChain describes it as a state machine whose nodes can be code, a model call, a tool call or a full agent.10
Primitives
Conditional edges, map-reduce fan-out, sub-graphs, a durable checkpointer keyed by thread id.13
Breaks as
Wrong order, lost handoff, broken join, bottleneck, unrecoverable crash.

Authority

ImageFirm addition

Who may say yes?

Owns
Approval gates on consequential actions, clarification requests, escalation targets, the sign-off record.
Primitives
Checkpointed interrupt and resume, an ask-a-human tool, approval nodes, an audit log with named owners.1224
Breaks as
Silent assumptions, side effects nobody approved, approvals that rubber-stamp.
Where each discipline sits in ImageFirm's 8-layer agent stack
Stack layerPrimary disciplineWhat that discipline decides there
InterfaceHarnessWhere work enters and where results and questions surface.
OrchestrationGraph · LoopGraph: order across steps. Loop: repetition within one step.
MemoryHarnessWhat persists outside the context window, and what is loaded just in time.
ModelsHarnessWhich model serves which node, swappable behind a stable interface.
ToolsHarness · AuthorityHarness: scope per tool. Authority: which calls need a recorded yes.
StateGraphTyped state between nodes, checkpoints, resume after failure or approval.
Observability · safety · evalsLoop · AuthorityLoop consumes the evidence to stop; Authority audits it after the fact.
DeploymentHarnessSandbox, secrets, hosting and the private network boundary.
02 · Redline

The reference, checked: seven marks before you design from it.

The source infographic28 is a useful map of the territory. Checked against the primary literature, its cut is right and several of its lines are drawn too firmly.

Holds

  • Three distinct failure locations — capability, termination, topology — is the right cut.
  • Stopping rules belong to the design, not to the model's judgment. Anthropic recommends explicit limits such as a maximum number of iterations.6
  • A verifier inside the harness and an approval node inside the graph are both established practice.412
  • Diagnosing by symptom before touching a prompt saves the most time.

Redlined

  1. 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.

  2. 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.

  3. 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).

  4. 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.

  5. 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.

  6. 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.

  7. 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.

Minor marks. "Branch V" should read Branch B. "Maxiterations" is two words. "Context lost, state inconsistent, data scattered" spans two layers — memory (harness) and the state schema between steps (graph); section 08 splits it.

03 · Anatomy

The anatomy, redrawn as concerns that nest.

Same disciplines, drawn as frames rather than rings. Authority is the outer frame because it is the only layer allowed to overrule the others.

Authority · who may say yes
  • Approve consequential actions
  • Answer clarification requests
  • Receive escalations
  • Sign-off record
Harness · the environment
  • Spec & docs in repo
  • Tools + scopes
  • Sandbox
  • Secrets vault · outside
  • Session log · outside context
  • Traces
  • Eval suite
Graph · order, state, joins
  1. Intakecode · validate input
  2. Research ×3fan-out · parallel
  3. Joinwait-all · timeout
  4. Draftagent loop · see below
  5. Approvehuman · checkpointed
  6. Publishidempotent · after yes
Loop · inside the Draft node
  1. Re-read goal
  2. Act
  3. Observe
  4. Verify
  5. Decide

Decide returns to step 1, or leaves by exactly one of four exits:

  • Donecheck passed on fresh evidence
  • Exhaustediteration, time or spend cap hit
  • Stuckno-progress detector fired
  • Escalatedneeds a decision it may not make
Fig. 1 — A content pipeline as worked example. The graph fixes the order and the join policy. The Draft node runs an agent loop with four named exits. The harness supplies tools, scopes, the session log and the eval suite; secrets stay outside it. The approval node is a checkpointed interrupt owned by a named person, and Publish runs only after a recorded yes.
04 · Defaults compared

What the leading frameworks actually ship.

Every major framework now offers the same primitives under different names and very different defaults. The left column is what the documentation says; the right column is the ImageFirm standard.

Loop, graph and authority primitives across systems — verified 25 Oct 2026
ConcernWhat leading systems shipImageFirm standard
Step cap
  • OpenAI Agents SDK: max_turns defaults to 10, raises MaxTurnsExceeded; None disables it.18
  • LangGraph: recursion_limit defaults to 25 super-steps, raises GraphRecursionError.13
  • Google ADK LoopAgent: stops only on max_iterations or an escalate signal you configure.15
  • Claude Agent SDK: max_turns unset by default.19
  • Coding agents: Gemini CLI 100 turns, Hermes 90 iterations, Pi and OpenCode no default cap.21
Never inherit a default. Declare the cap in config, next to the reason for its value.
Spend and time cap
  • Claude Agent SDK: max_budget_usd, unset by default.19
  • Anthropic's own long-run harness: a solo run cost $9 over 20 minutes; the full harness $200 over six hours for a markedly better result.4
Cap iterations, wall-clock and spend independently. The first cap hit decides the exit.
No-progress detection
  • OpenHands: flags 4 identical action–observation pairs, 3 action–error repeats or 6 alternating cycles, and can halt the run.22
  • OpenCode: 3 identical calls count as a "doom loop" and it asks the user rather than aborting.21
  • Hermes: warns after 2 identical failures, halts after 8 — with the hard stop off by default.21
Detect repeat, repeated error and alternation. Change strategy once, then escalate.
Success exit
  • ADK: a tool sets escalate when a critic agent reports no major issues.15
  • Hermes: a verify-on-stop guard blocks the final answer if code changed without fresh verification.21
  • Anthropic: every feature in a JSON list starts as failing; only its passes field may change.3
Done means an independent check passed on evidence produced after the last change.
Human pause
  • LangGraph: interrupt() and Command(resume=…), requiring a checkpointer and a thread id.12
  • Microsoft Agent Framework 1.0: human-in-the-loop approvals with pause and resume across its orchestration patterns.16
  • Google ADK 2.0: human-in-the-loop as a deterministic workflow step.14
  • Claude Agent SDK: permission modes (including plan) and a can_use_tool callback.19
Consequential actions pass a checkpointed approval with a named owner and a recorded answer.
Durable state
  • LangGraph: in-memory checkpointers are lost on restart; Postgres is the documented production choice.13
  • Microsoft Agent Framework 1.0: checkpointing and hydration for long-running processes.16
  • Anthropic Managed Agents: append-only session log outside the context; a stateless harness restarted from it.5
State lives in a store you control, outside the model, replayable by thread id.
Graph engine
  • Google ADK 2.0 (announced July 2026): in Python and Go, graph and dynamic workflows supersede templated workflow agents such as LoopAgent.1415
  • Microsoft Agent Framework 1.0 (April 2026): graph-based workflow engine declared stable.16
  • LangGraph: cyclic graphs, runtime fan-out, agent runs as nodes.10
Deterministic spine in code, agentic loops at the nodes that need judgment.

Default step caps, side by side

Units differ — turns, super-steps, iterations — which is the point: the same guard means different things in each system. Scale 0–100; hatched bars have no default limit.

  • OpenAI Agents SDKmax_turns · turns10
  • LangGraphrecursion_limit · super-steps25
  • Hermesiteration budget90
  • Gemini CLIsession turns100
  • Claude Agent SDKmax_turns · unsetno default
  • OpenCode · Pistep capno default
05 · Stop policy

Four exits. Every one of them leaves a state behind.

A loop is finished only when it leaves through a named door and writes down where it stopped. Anthropic's long-running agents keep a progress file and leave the codebase in a clean, mergeable state at the end of every session.3

Exit 1

Done

An independent check passed on evidence produced after the last change. Writes: what changed, the evidence, what was not attempted.

Exit 2

Exhausted

The first of the iteration, time or spend caps was hit. Writes: partial result flagged as partial, the cap that fired, the cheapest next step.

Exit 3

Stuck

No-progress detector fired after one change of strategy. Writes: the repeating pattern, what was tried, the hypothesis for why.

Exit 4

Escalated

The next step needs a decision the agent may not make. Writes: the question, the options, the agent's recommendation, the owner asked.

Starting values are ImageFirm defaults for a single drafting or coding node — judgment, not industry benchmarks. Tune them against your eval suite and record why each number is what it is.

Budgets · the exhausted exit
No progress · the stuck exit
Same tool, same arguments, same result.
Same action, same error.
A → B → A → B.
Completion · the done exit
Used only with an evaluator check.
Authority · the escalated exit
stop-policy.yaml
# ImageFirm stop policy — four exits, each writes a handoff
loop:
  goal_ref: spec.md#acceptance   # re-read on every pass
  budgets:
    max_iterations: 30
    wall_clock_minutes: 20
    max_cost_usd: 5.00
    max_tokens: 800000
  no_progress:
    identical_call_repeats: 3    # same tool + args + result
    repeated_error_limit: 3      # same action, same error
    alternating_cycles: 6        # A → B → A → B
    on_detect: change_strategy_once_then_escalate
  exits:
    done:
      check: tests_pass_fresh_run
      require_fresh_evidence: true
    exhausted:
      action: escalate_to_owner
    stuck:
      action: escalate_to_owner
    escalated:
      owner: "Content lead"
      wait: checkpointed_interrupt
  on_every_exit:
    write_handoff: [what_changed, evidence, what_remains, next_step]
    side_effects: after_recorded_approval_only
06 · Topology

Draw a graph only when the arrows already exist.

Default to the smallest structure that works. Microsoft's guidance is blunt: if a function can handle the task, write the function instead of an agent.17 Anthropic's is the same — start simple and add complexity only when it demonstrably helps.6

  1. Function

    Known steps, no judgment. Deterministic code. Cheapest, fastest, fully testable.

  2. Single model call

    One judgment, no tools needed. Classification, extraction, a rewrite. Verify the output schema, not the prose.

  3. Loop

    One job whose path cannot be predicted. One agent repeats until verified. The Ralph loop variant restarts with a fresh context each pass; Thoughtworks rates it Assess and notes the significant token cost.26

  4. Graph

    Named roles with arrows between them. Work splits into specialties, steps run in parallel then join, different models or tools per step, or the control flow must be auditable.11

  5. Graph of loops

    Deterministic spine, agentic nodes. LangChain's three-year view is that the strongest systems mix deterministic, model and agent steps;10 Google rebuilt ADK 2.0 around that idea.14 This is the ImageFirm default for production work.

If you can name the roles and draw the arrows between them, you have a graph. If it is one job that repeats until it is right, keep it a loop. Paraphrasing the quick test in AI Builder Club, July 202611

Five workflow shapes, after Anthropic6

  • Prompt chainsequential steps, checks between
  • Routerclassify, then one specialist
  • Parallelsectioning or voting, then join
  • Orchestrator–workersplan at run time, delegate, synthesise
  • Evaluator–optimizergenerate, critique, repeat
  1. Every cycle has a guard

    A counter or a condition that must change. LangChain reports that production agent graphs are rarely acyclic — retries, clarification and revision all loop back.10

  2. Every fan-out declares its join

    Wait-all, quorum, first-success or timeout — and what happens to results that arrive late.

  3. Routing lives in code where it can

    Model-based routing is slower, costlier and less predictable than code; Google cites exactly this as the reason for ADK 2.0's graph engine.14

  4. Nodes see only the state they need

    Typed state between nodes, with strict boundaries per node to limit context bloat.14 Unify execution state with business state.24

  5. Checkpoint before every pause

    Durable checkpointer, stable thread id, idempotent nodes; side effects after the approval, never before.12

  6. One role per node

    Small, focused agents with their own tool allowlists keep failures local and prompts short.24

07 · Harness

Guides before the act, sensors after it.

Birgitta Böckeler sorts harness elements into guides and sensors, each either computational (deterministic) or inferential (model-based).2 The matrix below places the practices with the strongest public evidence into that frame.

Guidesshape the action before it happens
Guides · computational
  • Fixed layering with one dependency direction, enforced mechanically — OpenAI's runs Types → Config → Repo → Service → Runtime → UI.1
  • A JSON feature list in which every item starts failing.3
  • Typed tool schemas, permission modes and a sandbox.19
Guides · inferential
  • AGENTS.md kept to about 100 lines as a map, with depth in a versioned docs folder — progressive disclosure.1
  • A planner that expands a one-to-four-sentence prompt into a full spec.4
  • Context curated to the smallest set of high-signal tokens.7
Sensorsobserve the result and feed it back
Sensors · computational
  • Custom linters whose error messages contain the fix.1
  • End-to-end tests that drive the product as a user would, not unit tests alone.3
  • Per-worktree logs, metrics and traces the agent can query itself.1
  • A stuck detector on the action stream.22
Sensors · inferential
  • A separate evaluator calibrated with scored examples — far easier to tune for scepticism than self-critique.4
  • Recurring clean-up agents that find drift and open small refactoring pull requests.1
  • A model-based approval reviewer for risky commands, as in Codex.21

Every component is a dated assumption

Each part of a harness encodes something the model could not do alone. Anthropic added context resets for one model and found them to be dead weight on the next.5 Re-run the eval suite with each component removed at every model release.

Small harnesses compete

A source-code study of eleven coding agents shows all seven harness subsystems can fit in about 100 lines, and found that loop sophistication did not predict benchmark results.21 Add parts only against a measured failure.

Long context decays

Chroma tested 18 models: reliability falls as input grows, even on simple tasks.25 Counter with compaction, notes stored outside the window and sub-agents that return condensed summaries.7

08 · Diagnose by failure

Start from the symptom, end at one layer.

Fourteen modes come from UC Berkeley's MAST taxonomy — 1,642 annotated traces across seven multi-agent frameworks, inter-annotator κ of 0.88.20 Seven more cover security and operations. The layer assignment is ImageFirm's.

Showing 21 of 21
  • MAST FM-1.1 · Harness11.8%

    Does something other than what was asked

    Mode
    Disobey task specification
    First fix
    Move the goal from the prompt into a versioned spec with machine-checkable acceptance criteria; agree what "done" means before work starts.4
    Instrument
    Share of runs passing spec checks on first exit.
  • MAST FM-1.2 · Graph1.5%

    An agent oversteps its role

    Mode
    Disobey role specification
    First fix
    One role per node, each with its own tool allowlist and a short prompt.24
    Instrument
    Tool calls outside the node's allowlist.
  • MAST FM-1.3 · Loop15.7%

    Repeats the same step

    Mode
    Step repetition
    First fix
    Hash tool, arguments and result; on the third repeat change strategy once, then escalate.22
    Instrument
    Duplicate-call ratio per run.
  • MAST FM-1.4 · Harness2.8%

    Forgets what happened earlier

    Mode
    Loss of conversation history
    First fix
    Append-only session log outside the context window; a progress file plus commit history for multi-session work.35
    Instrument
    Re-asked questions and re-done work per run.
  • MAST FM-1.5 · Loop12.4%

    Never knows when to stop

    Mode
    Unaware of stopping conditions
    First fix
    Four named exits in config, with a machine-verifiable done check the agent can see.
    Instrument
    Runs ending on a cap versus on a passed check.
  • MAST FM-2.1 · Graph2.2%

    Restarts from scratch mid-task

    Mode
    Conversation reset
    First fix
    Typed state carried across every edge; checkpoint each step under a stable thread id.13
    Instrument
    Threads with more than one start event.
  • MAST FM-2.2 · Authority6.8%

    Guesses instead of asking

    Mode
    Fail to ask for clarification
    First fix
    Give the agent a sanctioned way to ask — a human-contact tool backed by an interrupt — and add should-not-act cases to the evals.248
    Instrument
    Assumptions logged per run.
  • MAST FM-2.3 · Loop7.4%

    Drifts off the original goal

    Mode
    Task derailment
    First fix
    Re-read the spec on every pass; the evaluator scores against the original acceptance criteria, not the latest step.9
    Instrument
    Off-goal flags from the evaluator.
  • MAST FM-2.4 · Graph0.85%

    A key fact never reaches the next step

    Mode
    Information withholding
    First fix
    Required fields in each node's output schema; validate at the edge before the next node runs.
    Instrument
    Schema failures at edges.
  • MAST FM-2.5 · Graph1.9%

    One branch's result is ignored

    Mode
    Ignored other agent's input
    First fix
    Declare the join policy; the merge step must cite each input it used.
    Instrument
    Inputs received versus inputs cited.
  • MAST FM-2.6 · Harness13.2%

    Says one thing, does another

    Mode
    Reasoning–action mismatch
    First fix
    Precise tool descriptions, typed parameters and errors that name the remedy; check the effect against the stated intent.61
    Instrument
    Tool-call validation errors; intent-versus-effect checks.
  • MAST FM-3.1 · Loop6.2%

    Stops before the job is done

    Mode
    Premature termination
    First fix
    Every item starts as failing; a verify-on-stop guard blocks the final answer without fresh evidence.321
    Instrument
    Defects found after a done exit.
  • MAST FM-3.2 · Loop8.2%

    Checks too little

    Mode
    No or incomplete verification
    First fix
    End-to-end checks that use the product as a person would; unit tests and curl calls are not enough.3
    Instrument
    Escaped defects by check type.
  • MAST FM-3.3 · Loop9.1%

    Checks the wrong thing

    Mode
    Incorrect verification
    First fix
    A separate evaluator calibrated on scored examples, human spot-checks, and grading of outcomes rather than paths.48
    Instrument
    Agreement between grader and human reviewers.
  • OWASP ASI01 · Harness

    Follows instructions hidden in a page or file

    Mode
    Agent goal hijack
    First fix
    Everything observed through a tool is data, never instruction; consequential actions require a human gate.23
    Instrument
    Blocked actions traced to untrusted content.
  • OWASP ASI02–03 · Harness

    Uses a tool or credential it should not have

    Mode
    Tool misuse · identity and privilege abuse
    First fix
    Least agency per tool; credentials held in a vault behind a proxy, never in the model's environment.235
    Instrument
    Permission denials; secret-scanner hits.
  • OWASP ASI08 · Graph

    One failure takes the whole run down

    Mode
    Cascading failures
    First fix
    Per-node timeouts, bounded retries with backoff, circuit breakers and fail-closed defaults.23
    Instrument
    Nodes affected per incident.
  • Operations · Graph

    A crash or redeploy loses the run

    Mode
    No durable state
    First fix
    A durable checkpointer (Postgres in production), idempotent side effects, resume by thread id.1316
    Instrument
    Runs resumed versus restarted.
  • Operations · Harness

    Quality decays late in long runs

    Mode
    Context rot
    First fix
    Compaction, structured notes outside the window, sub-agents that return condensed summaries.725
    Instrument
    Output quality by context-fill decile.
  • Operations · Graph

    Slow end to end; steps wait on each other

    Mode
    Bottleneck
    First fix
    Fan out independent nodes; move routing decisions from the model into code.14
    Instrument
    Critical-path time per node.
  • Governance · Authority

    A consequential action ran without sign-off

    Mode
    Approval implied, not enforced
    First fix
    Approval as a checkpointed interrupt; side effects only after a recorded yes from a named owner.12
    Instrument
    Side effects without an approval record. Target: zero.
09 · Authority

The layer that signs.

ImageFirm adds a fourth discipline because the other three can each be correct and the system still be wrong. Its job is the one Böckeler names for any good harness: direct human input to where it matters most.2

ImageFirm's five principles, applied to each discipline
PrincipleHarnessLoopGraph
TransparencySession log and traces readable by people, not only by agents.Every exit writes its evidence.State at every edge can be inspected and replayed.
AgencyLeast-agency tool scopes.Escalation is a first-class exit, not an error.Approval nodes before consequential actions.
GrowthSpecs and docs live where people read them too.Handoffs teach the next person or agent.The workflow is drawn, so it can be learned.
ResponsibilityA named owner per tool scope.A named owner per stop policy.A named owner per node and per gate.
SovereigntyCredentials outside the model's environment; models swappable behind stable interfaces.5Budgets enforced in your runtime, not the vendor's.Checkpoints stored in systems you control.

The deadline moved. The requirement did not.

Article 14 of the EU AI Act requires human oversight of high-risk AI systems. The Digital Omnibus on AI — Regulation (EU) 2026/1744, in force since 27 July 2026 — moved Annex III high-risk obligations to 2 December 2027 and Annex I to 2 August 2028.27 An authority layer built now is cheaper than one retrofitted later. This is analysis, not legal advice; confirm scope and classification with licensed counsel.

The twelve-line minimum

0 of 12 in place

Ticks are kept only in this browser, on this device.

§ · Sources

Sources, checked 25 October 2026.

Primary sources first. Where only a secondary source carried a figure, it is named as such. Numbers are as published; percentages from MAST are shares of annotated failures.

  1. Harness Engineering — first thoughts — B. Böckeler, martinfowler.com, 17 Feb 2026
  2. Effective harnesses for long-running agents — J. Young, Anthropic, 26 Nov 2025
  3. Harness design for long-running application development — P. Rajasekaran, Anthropic, 24 Mar 2026
  4. Scaling Managed Agents with stable interfaces — Anthropic Engineering, 8 Apr 2026
  5. Building effective agents — E. Schluntz, B. Zhang, Anthropic, 19 Dec 2024
  6. Effective context engineering for AI agents — Anthropic Applied AI, 29 Sep 2025
  7. Demystifying evals for AI agents — M. Grace et al., Anthropic, 9 Jan 2026
  8. What is loop engineering? — I. Belcic, C. Stryker, IBM Think, 17 Jul 2026
  9. 3 years of graph engineering with LangGraph — S. Runkle, H. Chase, LangChain, 22 Jul 2026
  10. Graph engineering vs loop engineering — AI Builder Club, 20 Jul 2026, updated 24 Aug 2026 (secondary)
  11. LangGraph: persistence and checkpointers — LangChain documentation; recursion-limit default of 25 as given in the LangGraph docs and error message
  12. Why we built ADK 2.0 — S. Agarwal, A. Blount, F. Guan, Google, 1 Jul 2026
  13. Loop agents — Google Agent Development Kit documentation
  14. Microsoft Agent Framework version 1.0 — Microsoft, 3 Apr 2026
  15. Agent Framework overview — Microsoft Learn
  16. Running agents — OpenAI Agents SDK documentation; default of 10 per the openai-agents 0.16.0 release notes
  17. Claude Agent SDK for Python: ClaudeAgentOptions — Anthropic, repository and generated reference
  18. Why Do Multi-Agent LLM Systems Fail? — M. Cemri et al., UC Berkeley, NeurIPS 2025, arXiv:2503.13657 v3
  19. Harness Engineering: Anatomy, Architecture, and Evolution of Coding Agents — P. Barbaste et al., arXiv:2609.00006, Jul 2026 (preprint)
  20. Agent stuck detector — OpenHands SDK documentation
  21. OWASP Top 10 for Agentic Applications for 2026 — OWASP GenAI Security Project, 9 Dec 2025
  22. 12-Factor Agents — D. Horthy, HumanLayer
  23. Context Rot — K. Hong, A. Troynikov, J. Huber, Chroma, 14 Jul 2025
  24. Ralph loop — Thoughtworks Technology Radar vol. 34, 15 Apr 2026
  25. EU Digital Omnibus on AI enters into force — Mondaq (secondary); Regulation (EU) 2026/1744
  26. Harness Engineering vs Loop Engineering vs Graph Engineering — reference infographic by Gina Acosta Gutiérrez (@ginacostag); used as the blueprint for this sheet