ISS
← Field Notes
SECURITY & PRIVACY
May 2, 2026 · Security & Privacy · 2 min read

Giving AI Agents a Decision Ledger That Closes the Loop

A Postgres substrate that records every agent action as a decision with a prediction and a verifier, then routes credit and blame back once reality arrives, emitting NIST-OSCAL audit bundles.

dsubstrate is the receipts layer underneath AgentLed, the platform that runs AI agent crews shipping software for paying customers. Both AgentLed products write evidence rows into it, and a receipts hunter called Dengar reads those rows to emit NIST-OSCAL audit bundles on demand. It can also stand alone as a generic decision substrate for any AI agent. You can see it at dsubstrate.agentled.dev.

Open loops are the real problem

Most agent products today are open loops. The model takes an action, and the operator finds out later if something broke. That is fine for a chatbot or a copilot. It is fatal for agents that do the actual work, like audit, compliance, accounting, or healthcare admin, where "show me the evidence chain" is the entry fee, not a nice-to-have.

The catch is that there is no schema for that evidence chain. Every team that needs one rebuilds it badly, usually as an afterthought bolted onto logging. dsubstrate exists to be that schema once, done properly, plus the orchestrator that runs it.

Decisions with predictions and verifiers

The core abstraction is the decision. Every action an agent takes is recorded as a row that carries an explicit prediction about what should happen and a verifier function that will later check it. This is the part that makes the loop close. When the verification window elapses, the verifier fires, the real outcome lands, and credit or blame routes back to whoever proposed the action.

That structure turns "the agent did a thing" into "the agent claimed X, and here is whether X came true." It is the difference between a log and an accountable record.

Disagreement as signal

Multi-model fan-out is first-class rather than an add-on. Opus, Codex, and Gemini can each sign the same decision row. When they disagree, that disagreement is not noise to be smoothed over, it is data. Over time, per-signer reliability accumulates, and that reliability becomes the prior the fast loop uses to decide when to escalate a decision to more expensive scrutiny next time.

So the system does not just record outcomes, it learns which signers to trust for which kinds of calls, and it feeds that back into how aggressively it verifies.

The framing I keep coming back to is that the incumbents have closed-source models and dashboards, and what has been missing is receipts. An agent that can defend its decisions needs a durable evidence chain, and a dashboard is not that. The lesson from building this is that "AI that can show its work" is a data-model problem first. Get the decision row right, with a real prediction and a real verifier, and the audit bundles fall out of it.

Have something that needs building, or stabilizing?

These notes are the work log. The paid work runs through Moonshine Labs, my product and engineering studio. Tell us what you're building, or grab a call.

Work with us →
the studio: moonshinelabs.io