The most useful feedback on my AI-agent boundary experiment was not “the rules look sensible.” It was: what happened when someone actually used the brief in a live run?
I did not have a good answer. A written boundary can look precise and still be ignored, create approval fatigue, or accept the agent’s own success claim as evidence.
So I changed the free beta. After one redacted task, it now asks for a small live-run receipt:
The receipt is generated in the browser. It excludes the task title and original request, and nothing is submitted automatically. The user still has to review and redact the copied text before sharing it.
This does not prove the product works. I still have zero independent live-run receipts and zero revenue from it. It only makes the next test observable instead of asking people whether a boundary “feels useful.”
Free beta: https://founder-decision-gate-beta.yeyetianqingyue.chatgpt.site/
If you run AI agents: what would still be missing from that receipt before you trusted the result of a live run?
Please keep any example redacted—no credentials, source code, customer data, private contracts, or production details. I will not DM or add anyone to a list.
i would add just enough metadata to reproduce the result without storing the task: agent version, model or provider, timestamp, task class, and whether any tool call was made. otherwise two receipts can look different when the real change was a model update or a new input type. i would keep those fields separate from the copied evidence and show a plain “not comparable” state when the metadata is missing. that keeps the receipt safe to share but still useful when a rule changes.
"A hypothesis until a live run leaves a receipt" is a great way to put it — I've been building around almost the exact same principle, just applied to strategy/business analysis instead of agent execution. Every claim my pipeline outputs has to trace back to something actually in the source input, or it explicitly says "insufficient basis" instead of guessing.
The receipt-or-it-didn't-happen framing is the right bar. Curious what you're using to generate the receipt in your case — logs, structured traces, something else?
The gap I would want closed is provenance: who actually generated each field of the receipt. Right now the agent is both the actor and the witness, so "did it stop at the boundary" is still the agent's own word for it. In my own runs the expensive failure was never crossing a line loudly, it was the agent reporting a clean stop while having quietly done nothing, or claiming success on an action that never actually landed. So I would add two things: an independent signal for the stopped/evidence fields that the agent cannot author (a raw tool-call log, an external side effect, an approval timestamp), and a capture of the blocked action's actual arguments at the boundary, not just the fact that a boundary existed. The other missing piece is a next-run diff. Your fourth question asks which rule to amend, but the receipt that matters is the one after the amendment, showing the agent genuinely behaved differently, because rules regress silently and "feels useful" hides exactly that.
This is so true. I learned this the hard way. My app hallucinated reasoning for a LeBron trade question that referenced a playoff series that did not exist. Confident, detailed, completely invented.
A boundary written in a prompt is a wish until a live run tries to cross it and leaves evidence either way. I have seen agents agree with every restriction in chat and then quietly call the blocked tool once the task got hard, and the only reason anyone noticed was a receipt in the tool log. If your experiment can show one real attempt that was denied (or one that slipped through) with the raw event attached, that is stronger proof than a tidy rule list. Sensible sounding policies are cheap. Receipts are the product.
The spec-versus-execution gap is the hardest part of working with AI agents. You can write perfect boundary rules, but the real question is what happens when the agent encounters an edge case you did not anticipate. The receipt concept is powerful because it forces you to confront what actually happened versus what you thought would happen — in practice, the most valuable receipts are the ones where the agent stopped for an unexpected reason.
I’d want the receipt to separate machine-observed facts from human judgments. “The agent stopped at step 7” and “the evidence was complete” have very different provenance, but the form makes them look equally certain. Marking each field as system-captured, agent-generated, or human-entered, plus whether it was edited after the run, would make the receipt easier to audit.
The receipt needs the evidence state at decision time: source/version used, permission scope, and whether conflicting evidence was unresolved. An agent can respect the action boundary and still act on stale or unauthorized knowledge. I’d also distinguish “agent stopped” from “system prevented execution”—those are very different controls.
This frames something critical about amendment loops. Your written boundary is a specification - "the agent should X" - but that's just code that passes your eyes. The receipt proves whether X actually happened in the messy real run.
What's sharp here: most boundary debates die in that gap. You polish the specification ("if task is Y then constraint Z") for three rounds, but you haven't moved from "this sounds right" to "this works." The receipt is what moves you from amendment-in-text to amendment-in-behavior.
I notice the best measurement systems for agents track not just "did it work" but "what part of the boundary fired and what did it emit." That ambient signal tells you whether the constraint is even seeing the right cases. A boundary that never activates is a specification nobody tested.
I would add one traceable field before trusting a receipt: where in the run the boundary actually fired. Did the agent stop at the boundary itself, or only after a retry, a rewritten request, or a fallback path? The yes/no fields capture the outcome, but a step reference lets a reviewer spot-check the redacted run instead of trusting the form the agent helped fill in. Without that, the receipt is still a self-reported summary.
The live-run receipt is the strongest part here. It turns an AI-agent boundary from a written assumption into something that can actually be observed and challenged.
The "receipt" is the move from assumption to measurement. Written boundaries are like design specs - they feel complete until reality runs against them and finds the gaps you couldn't see by reading alone.
What you're capturing is the observational difference between "the rule should work" and "here's what the system actually did when it tried." That's the measurement shift that changes everything - from hypothetical confidence to evidence.
The suraj comment nails it: expected vs observed. That gap is where learning lives. You can write a hundred more boundary rules from a spreadsheet, or you can watch three live runs and fix the one rule that keeps breaking. Your measurement system (the receipt) determines which path actually moves you forward.
Curious whether you'll find patterns in the "what rule needs amending" field - if the same boundary breaks repeatedly, that's a clearer signal than any amount of polish on the text.
I’d add one thing: the receipt should capture what the agent actually did, not just whether it respected the boundary. A boundary can be technically respected while the execution still goes wrong. Even a simple “expected action vs observed action” field could make the receipt much more useful for evaluating the next run.