CONFIRMED
Sufficient trustworthy evidence says the intended effect happened.
An open-source Python library and failure harness for the moment after an agent asks: did that action actually happen?
A timeout does not prove an action failed.
A successful tool call does not necessarily prove the intended external effect occurred.
The dangerous gap is between
The evidence model
Dataoad separates execution signals from evidence about the intended external effect. Ambiguity is a result, not an error to hide.
Sufficient trustworthy evidence says the intended effect happened.
Sufficient evidence says the intended effect did not happen.
There is not enough trustworthy evidence to know what happened.
retry_on_unknown=True is an explicit,
warning-emitting escape hatch. It can duplicate real-world side
effects.
The execution contract
The durable receipt connects an idempotency claim, the attempted mutation, and later read-only verification without pretending a network response is external truth.
Same key and request return the existing receipt.
Same key with a different request fails before mutation.
Verification binds evidence to the intended external effect.
Local claim deduplication coordinates callers sharing a ledger. It does not make a remote API idempotent.
# A timeout remains explicit.
result = await runner.execute(...)
if result.status is UNKNOWN:
result = await runner.reconcile(
result.receipt.action_id,
verifier,
)
The fault harness
The bundled payment example injects deterministic failures on both sides of commit and reports only what those scenarios establish.
Adversarial scenarios
python -m pip install dataoad==0.1.0
git clone --branch v0.1.0 --depth 1 https://github.com/getdatoad/datoad.git
cd datoad
python -m pip install .
dataoad test examples/payment_timeout_after_commit.py
Deterministic scenarios only—not formal verification or a universal safety claim.
Agent-native distribution
The same skills-only plugin works in Codex and Claude Code. It audits mutation adapters, idempotency, ambiguous failures, and verifier evidence without adding an MCP server or authorizing a live side effect.
Add Dataoad as a marketplace, install the plugin, then start a new task so Codex can discover the bundled skill.
codex plugin marketplace add getdatoad/datoad --ref main
codex plugin add dataoad-safety@dataoad
Use $audit-side-effecting-action to audit this payment adapter.
Dataoad also ships Claude Code's native plugin and marketplace manifests. The reusable skill is shared; only the packaging and invocation syntax differ.
claude plugin marketplace add getdatoad/datoad@main
claude plugin install dataoad-safety@dataoad
/dataoad-safety:audit-side-effecting-action
Auditing remains read-only unless you explicitly request a code change. Neither plugin treats testing as permission to charge, refund, email, deploy, or perform another live mutation.
Honest boundaries
Dataoad is an early, local-first contract and test harness. Its value is making uncertainty visible, not promising it away.
v0.1 external breakage phase
Built from failure modes practitioners described. Find the race, missing invariant, or real workflow that breaks the model.
What real-world action would break Dataoad's assumptions?