The customer is refunded twice.
End-to-end verified execution
Proof that your payments, bookings and orders really went through.
When your software or AI agent asks another system to act and the reply goes missing, you're left guessing. Repeat it and a customer may be charged twice. Skip it and it may never happen. Truth Engine checks what really happened and gives you the evidence, or tells you honestly that it can't be proven yet.
Verified today on GitHub and Supabase. Developer evaluation, not production ready.
When the reply goes missing, someone guesses.
A system sends a $400 refund. The other system processes it. The reply never arrives.
The customer waits for money that was already sent.
Someone fixes it by hand later.
The customer is told it shipped. It didn't.
You retry, and the customer is charged twice.
"Received" does not mean "done".
Guessing means someone cleans up by hand.
For developers: a timeout does not mean it failed, and an HTTP 200 does not mean it worked.
Built from real failures.
Teams usually patch this problem with scattered retry code, idempotency keys and manual checks. Truth Engine turns it into one product, built after meeting this problem in real apps.
What you get.
Every action ends as SATISFIED, NOT_SATISFIED or UNKNOWN. Never a guess.
Fewer duplicate charges, bookings and records.
Every action leaves a record of what was checked and why. Useful for audits and support.
The same checked path for both.
Three states. Nothing invented.
Evidence supports that it happened. Confirm it to the customer.
Authoritative evidence supports that it did not happen. A retry can be authorized.
Neither result can be proved yet. Do not retry. Wait for evidence or escalate.
AI may decide what to do. It does not decide what happened.
What happened is decided by evidence from the other system, never by an AI's confidence.
How it works.
Your system sends one action.
Truth Engine decides whether and how it runs.
The action goes to the other system.
Truth Engine records what that system reports.
If the answer is unclear, it checks the other system directly.
SATISFIED, NOT_SATISFIED or UNKNOWN, with evidence.
Why not just use idempotency keys or a workflow engine?
Those tools each solve part of the problem. Truth Engine is built as one end-to-end alternative.
| Approach | What it gives you | What it leaves to you |
|---|---|---|
| Provider idempotency keys | Safe retries where the provider supports them | Not every provider supports them, and there is no independent check of what really happened |
| Your own database table and retry code | Full control | You build and maintain it for every action, and unclear cases need manual reconciliation |
| Workflow engines (Temporal, DBOS and similar) | Reliable long-running processes and retries | Capabilities vary by product. In the systems compared, none exposes the complete action → evidence → proven outcome model as one built-in abstraction. |
| Truth Engine | Execution, verification and an evidence-backed outcome in one product | Needs a provider adapter per action. Verified on GitHub and Supabase only. In developer evaluation |
Designed to replace this stack for protected actions once it passes production tests.
Protected action = an action routed through Truth Engine for execution and verification.Full comparison →Where it fits.
GitHub repository creationSupabase durable record creation
↩ Refunds□ Orders▣ Bookings▤ Provisioning◎ Account changes⇄ Transactions⌁ Access changes◉ Agent actions
Who it's for.
Current stage
Built and tested. Independent validation is next.
Tested on two different real integrations and against duplicate-execution and blind-retry attack cases.
Developer evaluation
We built the system. Now we want professional engineers to try to break it.
Questions.
It is an API. Your application or AI agent sends one action to Truth Engine and reads back the outcome and the evidence.
Truth Engine could not prove either result yet. It does not authorize a retry.
If occurrence cannot be proven through an allowed evidence path, UNKNOWN can persist.
Request evaluation access.
[[TODO-JAMAL: what the person receives, one sentence]]
[[TODO-JAMAL: your name and one line about you]]