Origin the evidence layer for AI agents

Evidence · traces

Evidence traces, the honest ladder.

Origin publishes evidence in rungs and never dresses one up as another. Available now: an authored specimen that shows the exact format of an evidence package (TR-A001), and a machine-emitted sandbox trace whose SHA-256 hash chain you can re-verify yourself (TR-A002). The first design-partner trace is forthcoming, and this page will not show it until a design partner has actually run it.

Proof status

TR-A001Authored specimen, shows the evidence-package format. See it ↓Available
TR-A002Machine-emitted sandbox trace, real, re-verifiable SHA-256 hash chain. See it ↓Available
TR-A003First external design-partner trace.Not earned yet

Why TR-A002 matters, in ten seconds: it proves the Origin trace engine can emit a deterministic, tamper-evident sandbox evidence chain that anyone can re-check. It does not prove production readiness or customer approval.

Is the trace generated by code?

Yes, emitted by scripts/generate-tr-a002.mjs, not hand-written.

Can the chain be independently checked?

Yes, download the JSON and run npm run proof:verify.

Does it capture a real control moment?

Yes, an above-cap action needs approval; an over-scope retry is blocked and recorded.

What does it not prove?

Customer deployment, production readiness, compliance, reviewer acceptance, or revenue.

Plumbing proof is not customer proof. TR-A002 proves the trace engine works; it is not a customer deployment, performance claim, or reviewer acceptance.

The ladder

Three rungs, labeled for exactly what they are.

Each rung is a different kind of evidence. We only publish a rung once it exists, and we never relabel a lower rung as a higher one.

Available now TR-A001

Authored evidence specimen

A hand-authored example of the evidence-package format, it shows the shape of the record. Illustrative, not a machine-emitted run.

Available now TR-A002

Machine-emitted sandbox agent trace

Emitted by Origin's trace engine over a sandboxed agent action, 12 events on a real SHA-256 hash chain you can re-verify. Sandbox only; no live money, no customer data.

When earned TR-A003

First design-partner trace

Evidence from a real external workflow, published only once a design partner has actually run it. Not yet available.

Forthcoming

TR-A001 · available now

Authored evidence specimen, the format of a package.

Authored specimen · illustrative, not a machine-emitted run. The fields below show the exact shape of an Origin evidence package; the scenario, timestamps, and hash are authored to that schema, not recorded from a live agent.

A single high-consequence action, a payments-ops agent proposing a refund above its auto-cap, worked through Origin's runtime semantics: the policy verdict, the controlled tool-call proxy, the human approval, a blocked over-scope action, and the audit-chain digest. This is the payments-ops sample from the homepage console, written out in full.

Agent workflow
payments-ops-agent, an internal-ops agent authorized to issue customer refunds, within scope and budget.
Proposed action
Refund $480.00 for order_8842 via tool payments.refund.
Policy in force
Tool in allowlist · auto-cap $250 · above-cap refunds require a human approval.
Policy verdict
require-approval, $480.00 is over the $250 auto-cap, so the action is held rather than auto-executed.
Risk owner
payments on-call, the named human who owns the decision on above-cap refunds.
Tool-call proxy event
payments.refund is held at the proxy until approval, the agent has no path to the side effect except through the controlled proxy, so nothing moves while the verdict is require-approval.
Human approval
payments on-call approves the held refund. The proxy then executes exactly the approved action ($480.00 → order_8842) and the approval is recorded with who, when, and scope.
Blocked over-scope action
A second refund attempt above the approved scope is blocked at the proxy and recorded, the earlier approval covered one action only; it does not widen the agent's standing authority.
Audit-chain digest
Every entry, proposal, verdict, proxy hold, approval, execution, and the blocked over-scope call, is written into a hash-chained, tamper-evident record that can be replayed and exported as the evidence package.

Illustrative package shape, authored / illustrative

// authored / illustrative — NOT a machine-emitted run
{
  "artifact": "TR-A001",
  "kind": "authored_specimen",
  "agent": "payments-ops-agent",
  "events": [
    { "t": "09:41:02", "type": "proposal",
      "tool": "payments.refund",
      "action": "refund $480.00 → order_8842" },
    { "t": "09:41:02", "type": "policy_verdict",
      "checks": { "scope": "in_allowlist", "budget": "over_auto_cap($250)" },
      "verdict": "require-approval",
      "risk_owner": "payments on-call" },
    { "t": "09:41:02", "type": "proxy_event",
      "tool": "payments.refund", "state": "held_pending_approval" },
    { "t": "09:41:26", "type": "approval",
      "approver": "payments on-call", "scope": "order_8842 · one action" },
    { "t": "09:41:27", "type": "execution",
      "via": "proxy", "result": "verified" },
    { "t": "09:42:10", "type": "proxy_event",
      "action": "second refund above approved scope",
      "state": "blocked", "recorded": true }
  ],
  "audit_chain": { "algorithm": "sha256", "state": "illustrative_digest" }
}

The values above are authored to the evidence-package schema to show its shape. The digest is a placeholder, no machine-emitted hash is claimed for TR-A001.

What TR-A001 shows, and what it doesn't.

This shows

  • The shape of an Origin evidence package, the fields a reviewer would read.
  • A policy verdict that holds a risky action instead of auto-executing it.
  • A named risk owner and a recorded human approval, scoped to a single action.
  • The tool-call proxy as the configured path to the side effect, the action is held until approved.
  • A blocked over-scope action, recorded, approval doesn't widen standing authority.
  • A hash-chained, tamper-evident audit record as the format of the package.

This does not show

  • Not a customer deployment, no customer site, customer data, or customer money.
  • Not a performance claim: no throughput, latency, reliability, or any measured metric.
  • No reviewer-acceptance claim, it is review-ready decision-support, not reviewer-accepted or certified.
  • TR-A001 is authored (illustrative), not a machine-emitted run, the scenario, timestamps, and digest are written to the schema, not recorded from a live agent.
  • TR-A001 is authored, not machine-emitted. The machine-emitted sandbox trace is TR-A002, now available; the first external design-partner trace is TR-A003, forthcoming when earned.

Origin is decision-support and evidence infrastructure. We use "tamper-evident" to mean alteration is detectable by replay and digest checks; "review-ready," not "reviewer-accepted." The prototype runs; it is not production SaaS, and it does not provide legal or compliance certification.

TR-A002 · available now

Machine-emitted sandbox trace, a real hash chain you can re-verify.

This one is not authored. Origin's trace emitter runs the same payments-ops workflow through the runtime, proposal, policy verdict, proxy hold, human approval, sandbox execution, a blocked over-scope retry, and commits every event to a SHA-256 hash chain. The published file below is the emitter's exact output; the verify command re-derives the chain and fails if a single byte changed.

TR-A002 is a machine-emitted sandbox trace. The Origin trace emitter produces proposal → policy verdict → proxy hold → approval → sandbox execution → blocked over-scope retry → a sealed hash-chain digest, as a real, re-verifiable SHA-256 chain over 12 events. It is not a customer deployment, not production SaaS, and not a performance claim. No live money moves, the payments.refund side effect executes in a sandbox only.

Final digest · sha256 ca1d4690206e4dcf3d654b907d02d2bccf9bcdc16ddc555071fec21874578b32
Emitted by
scripts/generate-tr-a002.mjs
Events · algorithm
12 · SHA-256 hash chain
Agent
payments-ops-agent
Policy
refund-cap-v0.3
Approver / risk owner
payments-on-call
Sandbox
true · no live money

The 12 events, in order.

  1. 1Proposal
  2. 2Policy evaluated
  3. 3Require approval
  4. 4Proxy held
  5. 5Approval requested
  6. 6Approval granted
  7. 7Sandbox execution
  8. 8Action recorded
  9. 9Over-scope retry
  10. 10Deny / block
  11. 11Proxy blocked
  12. 12Digest sealed

Blue = enforce · amber = held for a human · green = verified · red = blocked · dark = sealed. Detail below.

  1. proposal.createdAgent proposes a $480.00 refund on order_8842.
  2. policy.evaluatedChecked against refund-cap-v0.3: $480 is over the $250 auto-cap, within the $500 ceiling.
  3. verdict.require_approvalVerdict: require human approval. Risk owner: payments-on-call.
  4. proxy.heldSide effect held at the proxy, payments.refund not dispatched.
  5. approval.requestedApproval requested from payments-on-call with the verdict and side-effect scope.
  6. approval.grantedHuman approver grants the $480.00 refund.
  7. proxy.executed_sandboxExecuted in sandbox, simulated refund, no live money moved.
  8. action.recordedRecorded to the audit chain with approver, verdict, and scope.
  9. retry.proposed_over_scopeAgent proposes a second refund of $920.00, above the $500 ceiling.
  10. verdict.deny_or_blockVerdict: deny, $920 exceeds the approved scope.
  11. proxy.blockedSide effect BLOCKED at the proxy, the over-scope refund is never dispatched. The block is recorded.
  12. evidence.digest_sealedHash chain over the preceding 11 events is committed to the final digest.

Event 11 is the one that matters: the agent tried to exceed its scope. The proxy blocked it, and the block itself is in the chain.

Emitter output, verbatim excerpt (first + sealing event)

// machine-emitted — public/proof/tr-a002.json (12 events; excerpt)
{
  "seq": 1, "event_id": "evt_001",
  "ts": "2026-07-04T17:00:00.000Z",
  "actor": "payments-ops-agent", "action": "proposal.created",
  "tool": "payments.refund",
  "side_effect": { "amount_usd": 480, "target": "order_8842", "executed": false },
  "sandbox": true,
  "prev_hash": "0000…0000",
  "event_hash": "8fa159f391851f662390bcd4f43d7aa3b47c5634bae8e5fd887c93b424e0c57b"
}
// … events 2–11 (policy → held → approval → sandbox exec → over-scope → blocked) …
{
  "seq": 12, "event_id": "evt_012",
  "action": "evidence.digest_sealed", "actor": "origin-recorder",
  "chain_root": "3af6a34d3035faa9aa599c035dde7ae1e10d37e517df5e617cc6319ed0236453",
  "prev_hash": "3af6a34d3035faa9aa599c035dde7ae1e10d37e517df5e617cc6319ed0236453",
  "event_hash": "ca1d4690206e4dcf3d654b907d02d2bccf9bcdc16ddc555071fec21874578b32"
}

Each event_hash = SHA-256 of the event's canonical JSON together with the previous hash. The sealing event's hash is the final digest, so it commits every prior event.

Verify this artifact yourself

No install needed, paste the downloaded JSON into /verify and it re-checks offline in your browser (green = reproducible; tamper any field → VOID). Or clone the public repo github.com/bohueilin/Origin and run:

# in the repo — re-derive the hash chain of the published JSON
npm run proof:verify
# → PASS every event hash + prev_hash link verifies · digest recomputes

# or verify the *published* artifact directly:
curl -sO https://origin-physical-ai.pages.dev/proof/tr-a002.json
node scripts/verify-tr-a002.mjs tr-a002.json
# → PASS. Now edit one amount / actor / verdict and re-run → FAIL

The verifier recomputes every event hash from its own bytes and checks the links. Edit any field of any event and it exits non-zero, that is what "tamper-evident" means here. This demonstrates tamper-evident trace plumbing in sandbox, not production security.

In plain English: the published JSON commits each event to the next one, and the final digest commits the entire run. Change any byte of any event and re-verification fails.

What TR-A002 shows

  • Origin's trace engine emitting a real, tamper-evident record of an agent workflow, not authored by hand.
  • The full loop as machine events: proposal, policy verdict, proxy hold, human approval, sandbox execution.
  • A blocked over-scope retry, recorded, the approval covered one action, not standing authority.
  • A SHA-256 hash chain whose digest you can re-verify independently with the published file.

What TR-A002 does not show

  • Not a customer deployment, inputs are simulated; no customer site, data, or money.
  • Not live money, the payments.refund side effect executes in a sandbox only.
  • Not a performance claim: timestamps are deterministic pseudo-timestamps, not a latency measurement.
  • Not reviewer acceptance or compliance certification, it proves the trace engine works, nothing about a real reviewer's decision.
Book an Agent Evidence Review See the evidence roadmap Read the one-page brief

© 2026 Origin · the evidence layer for AI agents · Home · Trust center · Brief