Receipts

August 24, 2026 ยท View on GitHub

Every governed action should leave a local record. For public HELM, that record is the proof path: show what was proposed, what HELM decided, why it decided that, and where the receipt was written.

What Gets Written

For MCP and boundary decisions, HELM records:

  • decision_id
  • verdict: ALLOW, DENY, or ESCALATE
  • reason code
  • server id, tool name, and effect scope when available
  • receipt path
  • approval hint when a credential-verified admission path is available
  • policy epoch and record hash

Approvals and revocations also write receipts. A later evaluation must fail closed when an admission is expired, revoked, or outside its server, tool, or effect scope.

Inspect Local Receipts

helm-ai-kernel mcp receipts --json
helm-ai-kernel mcp pending --json
helm-ai-kernel boundary records --json
helm-ai-kernel receipts status --format json
helm-ai-kernel receipts list --format json

For a Kernel evaluate receipt.v5 file copied off-box (Foundation/offline verify, not AI OS live, not #859, not self-attested EvidencePack):

helm-ai-kernel verify receipt \
  --receipt <receipt.v5.json> \
  --trusted-public-key-file <expected-ed25519.pub>

Exit 0 only when integrity and signer trust both hold against the caller-supplied key. Hop fixtures are labeled DENY / no permit.

For a single workstation receipt:

helm-ai-kernel workstation verify-decision \
  --receipt ~/.helm-ai-kernel/receipts/hooks/wpd_<decision>.json

This workstation command reports integrity and trusted independently. integrity: true alone only means the contents match the receipt's declared public key. A zero exit status requires trusted: true against the expected local key or an explicit --trusted-public-key-file; use the latter for a receipt copied between machines.

For an EvidencePack:

helm-ai-kernel verify evidence-pack.tar

Compatibility form:

helm-ai-kernel verify --bundle evidence-pack.tar

Offline verification is the default. If a pack has no public anchor, HELM reports that directly; it does not invent one.

Read A Decision

Start with these fields:

FieldMeaning
decision_idThe decision to cite when debugging or rerunning
verdictALLOW, DENY, or ESCALATE
reason_codeWhy the boundary returned that verdict
receipt_pathLocal file written for the decision
record_hashTamper-evidence handle for the boundary record

An ESCALATE receipt is not permission to continue. Obtain a credential-verified durable dispatch admission for the exact scope, then rerun the original action so HELM evaluates it again. Local mcp approve does not mint that authority.

Export Evidence

Use an EvidencePack when you need to move proof material between machines or review it later:

helm-ai-kernel evidence export \
  --receipts ~/.helm-ai-kernel/receipts \
  --out evidence-pack.tar

helm-ai-kernel verify evidence-pack.tar

EvidencePacks are portable proof bundles for local review and offline replay.

Release Evidence

Current source release target: v0.8.5.

The v0.8.5 release is complete only after the listed local verification assets appear on the GitHub release and verify locally.

Check the GitHub release and local verification artifacts together:

  • release: https://github.com/Mindburn-Labs/helm-ai-kernel/releases/tag/v0.8.5
  • v0.8.5 Asset Contract
  • v0.8.5.openvex.json
  • v0.8.5.json