Conductance: Private-Sector Agentic Stacks Shipping Faster Than CBDCs
Part 2 of the sovereign-money series: Stripe ACP, Mastercard Agent Pay, Visa TAP/Intelligent Commerce, Google AP2, x402 — how private rails already run agentic spend at card-network scale while CBDCs remain pilots.
Agents already spend. This essay is the layer underneath the payment MCP: what the agent is allowed to do, when it is allowed to stop, and who may run next.

By 2026 the public argument about agents is still mostly about models. Frontier versus open weights. Cloud versus local. Context window size as a product feature. That is the wrong flag.

The model is rented inference. The harness is the jurisdiction. Two teams with the same weights diverge because one gave the model a filesystem, a sandbox, least privilege, and a stop rule that is a check — and the other gave it a prompt and an unreliable API wrapper. Similar intelligence; different working conditions.

I have watched this on my own desk: OpenCode, Hermes, Goose, Ollama for what must not leave the LAN, vLLM when the box is a real GPU. Session on, prompt in, answer out — until the session dies, the same task is re-explained, and two hours of debugging become a token bill with no artefact. Prompt engineering captures maybe a tenth of what is possible. If the job is only a prompt, Zapier is cheaper.

The field already moved through context engineering and skill engineering. The layer almost nobody operates is three stacked decisions. LangChain wrote the anatomy in March 2026 and the loop essay in June. The names are not the point. The failure modes are.

H → L → G

Order of need: environment first, then a loop that actually finishes, then a graph. Starting with a graph before a single loop is stable just spreads unreliability.

Harness Loop Graph
Question Can the model do the work safely? Does it finish for a reason? Who may run next?
Object Runtime around the model Bounded cycle Directed workflow / state machine
Fixes No files, no resume, wrong perms, lost state Stops early, retries forever, “looks done” Unreadable multi-step, no joins/approvals
Risk Unbounded runtime with too many tools Token burn, gaming the stop condition Over-specified brittle paths
Do not confuse with “Better prompt” Prompt engineering Knowledge graphs (entities, not control)

LangChain’s one-liner is the whole essay: Agent = Model + Harness. If you are not the model, you are the harness.

Harness: delete the model from the diagram

Everything that is not the weights: system prompts, tool and MCP schemas, filesystem, sandbox, browser, orchestration (subagents, handoffs, routing), middleware (compaction, continuation, lint), permissions, traces, graders.

A raw model cannot keep durable state, execute code, see post-cutoff facts, install packages, restart a failed job, or enforce an approval. Those are harness features. Chat itself is already a harness — a while-loop that appends messages.

Wanted behaviour Harness move
Durable work, offload context, multi-session Filesystem (+ git as versioned ledger)
Solve problems without a tool for every action Bash / code exec
Safe, scalable execution Sandboxes (allow-lists, network isolation, on-demand fan-out)
Memory past the window / past the cutoff Files the next session can read; search; MCP
Context that does not fill with junk Compaction, tool-output offload, skills loaded only when needed
Long-running work Planning files + a loop that restates the original goal on a clean window; filesystem carries state

Terminal Bench still shows large gaps for the same model in different harnesses. The same weights in OpenCode are not the same weights in a thin REST loop, and not the same weights behind Hermes or Goose. Changing the harness for your task still changes results — even as some of this is slowly absorbed into weights.

There is a coupling you cannot ignore. Coding agents that ship a full runtime (filesystem, bash, MCP, compaction) train and run with a harness in the loop. Changing tool semantics can tank performance: the model overfitted to that tool set. That does not mean OpenCode’s, Hermes’, or Goose’s harness is optimal for your job. Steal the pieces. Do not pick one runtime as a flag.

Too many tools is its own failure mode. Selection error. Noisy context. Permissions wide enough that “the agent did it” is not an audit trail. Least privilege is the difference between a lab and a liability.

Loop: evidence, not confidence

Every tool-using agent already has a tiny loop: call model → look → tool → repeat. Loop engineering starts when you design that cycle with a stop rule that is a check, not a self-report.

  • Trigger — user, cron, webhook, failed test, new doc
  • Goal — a state, not “keep improving”
  • State — what the next cycle needs without replaying everything
  • Action policy — what it may change, spend, or delegate
  • Evidence — tests, schema, citations, diffs, metrics, a human
  • Feedback — compact, actionable, not “try harder”
  • Stop — success, budget, timeout, irrecoverable, escalate

“The agent says it is done” is not a terminal condition. Tests pass, links resolve, schema validates, reviewer approved — that is.

The 2026 operator line is: I don’t prompt the model anymore, I start loops that prompt the model. Products shipping /goal and /loop make the shift visible. A goal loop is the same idea: work until a check still passes after a real verification.

Do not mix loop types. They fail for different reasons:

Kind Runs until / when Example
Turn-based Each user command Chat coding session
Goal-based A check is met Bug-fix until pytest is green
Time-based Schedule Daily briefing
Event-driven Event, no user in the loop Cron, webhook, a Slack channel that means “docs please”

LangChain stacks four levels: agent until task complete → grader/retry → event-driven → traces rewrite the harness. Level 4 is the one that compounds. Organisations that log traces and feed them back into prompts and tools early get an advantage that is hard to copy. That is flag theory for agent ops: the loop is the asset, not the chat log.

Every grader/retry is another call. The standing rule still holds: simplest architecture that works; add agentic complexity only when the gain pays for the latency. Add a loop where cost of failure > cost of verification.

Anti-patterns: unbounded “keep trying”; the same model writes and grades with no split context or deterministic check; stopping because the model reported high confidence.

Graph: what is allowed to continue

Not “what the agent does.” What is allowed to continue.

Nodes = work (function, LLM, specialist agent, human). Edges = sequence, branch, fan-out, join, cycle, interrupt. State schema is first-class. A single loop is a graph with one node and a self-edge. Graph engineering embeds loops in nodes and adds routing on top. It does not replace loops.

This is not a knowledge graph. Entities and GraphRAG are a data problem. Workflow graphs are a control problem. Mixing the words is how teams buy a graph database when they needed a stop rule.

The extra structure is worth it for branches, parallelism, approvals, recovery, multiple specialists. It is not worth it for “one agent, three tools, run until done.” If the model must invent the plan, freezing every path into a diagram makes the system brittle. Start from traces of a simpler harness, then formalise stable paths.

A research brief as a worked example:

  • Harness: browser, search, citation store, secrets, traces, approval UI
  • Graph: scope → parallel research → screen → synthesise → draft → legal → publish (human gate before release)
  • Loops inside nodes: retrieve again if coverage is weak; send the draft back if citations fail; scheduled refresh

The reviewer node should see the brief and an accuracy measure — not the writer’s scratchpad. Fresh context beats self-review.

A three-bug lab (integer divide, reverse-words returns a list, off-by-one dates) makes the cost trade-off clear:

Round What you buy
Harness only (read/write/test once) Makes the work possible; proves failure
Loop (bounded attempts, feed the test log) Accuracy; paid in latency
Graph (parallel coder nodes + suite reviewer) Wall-clock, independent check — not more bug-fixing power

If a team optimises the latency dashboard, they will delete the loop and silently drop from 3/3 to 2/3. That is a management failure, not a model failure.

Diagnose by symptom

Symptom Start here Likely fix
Cannot reach the tool or data safely Harness Contract, perms, sandbox, context
Forgets across sessions Harness Durable state, progress file, git, compaction
First try close but unreliable Loop External grader, tests, bounded retry
Works after “success” / stops before proof Loop Evidence terminals + budget
Specialists must run in a known order Graph Nodes, edges, joins
Cannot find the failure in a long run Graph + harness Traces aligned to nodes
Workflow changes weekly Simpler harness Keep control model-driven; delay the diagram

When something breaks in production: environment → feedback → flow. A workflow diagram cannot recover state the harness never stored. A large harness without a stop rule burns tokens.

Costly mistakes

  • Draw 40 nodes before watching one capable agent solve the task
  • Same model writes and grades without a split context or a deterministic check
  • “Keep trying” as the loop spec
  • Harness as dumping ground
  • Blame the model for stale state, broken APIs, missing exits
  • Start at the graph

Flag theory for agent runtimes

Classic flag theory diversifies banks, residencies, and legal entities. Agentic work needs the same instinct — pointed at runtime, not at the logo on the model card.

  • Do not let one cloud host hold every tool, every secret, and every stop rule.
  • Do not bind power in prompt text. Bind it in credentials, sandboxes, and evidence.
  • Do keep a human-gated break-glass path (the same non-negotiable as in Conductance).
  • Do treat MCP servers like HSMs: change control, pinned versions, least privilege.
  • Do assume the model host will change behaviour. The harness you own is the part that survives a vendor swap.

On a sovereign lab the split is clean: Talos (or another immutable host) is the metal — API-only nodes, no SSH on the cluster. The harness is the agent’s working conditions on top of that host — OpenCode or Hermes on the desk, Goose where you want a different runtime, Ollama or vLLM for weights that stay home. The loop is how you know the job finished. The graph is only for the paths that have already proven stable.

Coding agents on a rich desktop already have most of the harness. The gap is usually loops (tests as stop) and trace feedback (logs rewrite the prompt). Self-hosted gateways already poll on a schedule; do not draw a graph until one goal passes its check. Enterprise buyers who ask “who is the agent, who is the supervisor, who holds the kill switch” are asking graph + human gates — they are not asking for a better system prompt.

Final thoughts

Conductance argued that agents already spend, on rails that already clear. This essay argues that spend is a loop with a credential, and that most “agent failures” are harness and stop-rule failures blamed on the model.

The next years will not replace the three-layer vocabulary. They will productise it until the words become as boring as “VPC.” Own the filesystem, own the proof that work finished, and only then draw who may run next.

Privacy is still a stack. The 2026 error is to treat the model as the whole problem.


The website and the information contained therein are not intended to be a source of advice. Agent architectures have operational, security, and legal consequences; verify configurations and threat models independently.

Addendum: LangChain harness/loop essays (2026-03 / 2026-06) and practitioner posts through August 2026; re-check upstream before deployment. Editorial assembly from a Markdown vault with AI assistance.