Skip to content

Bind execution audit events to receipt fields - #365

Merged
aruintelligence merged 1 commit into
mainfrom
fix/bind-execution-audit-to-receipt
Oct 15, 2026
Merged

aruintelligence merged 1 commit into
mainfrom
fix/bind-execution-audit-to-receipt

Conversation

@aruintelligence

Copy link
Copy Markdown
Owner

What changed

  • Require the five ordered execution audit events to agree with receipt timestamps, intent/profile, generated AML, simulations, selected policy/decisions, attention ledger balances, and output hash. Expose audit_receipt_binding_valid and reject contradictory receipts before signing.
  • Make the project-authored Python capsule verifier perform the same semantic check, with exact JSON value and signed-zero comparisons.
  • Add signed cross-runtime tampering fixtures for a stale intent event and a rehashed audit event that contradicts the ledger; update synthetic ledger fixtures to carry matching audit evidence.

Reproduction and verification

Before the fix, changing intent, recomputing intent_sha256 and receipt_sha256, and leaving the audit intent_received event unchanged still returned verified: true, including after signing. Both verifiers now reject this while their receipt, chain, capsule, and Ed25519 hashes remain valid.

  • node --test: 810 passed
  • node scripts/check-evidence-capsule-python.mjs: 44 cases passed
  • node scripts/check-http-exchange-python.mjs: 28 cases passed
  • API stability, upgrade contract, Markdown links, and packaged consumer compatibility passed

The checks establish internal consistency of project-authored evidence; they do not establish that declared inputs are true, policies are correct, or a signer is externally trusted.

@aruintelligence
aruintelligence merged commit c471f1b into main Oct 15, 2026
60 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant