Skip to content

Bind action receipts to a monotonic host policy epoch - #466

Merged
aruintelligence merged 1 commit into
mainfrom
codex/policy-epoch-receipts
Oct 20, 2026
Merged

aruintelligence merged 1 commit into
mainfrom
codex/policy-epoch-receipts

Conversation

@aruintelligence

Copy link
Copy Markdown
Owner

Change

  • Add an optional host policyEpoch() to the four receipt-bound adapters. Its nonnegative safe integer is included in the signed receipt and rechecked after approval and before dispatch. A change or unavailable value suppresses dispatch and spends the grant; integrations without the option keep their receipt format.
  • Add four deterministic, project-authored A→B→A comparisons and a checked-in report: four callbacks without the epoch, zero with the epoch, four blocked approval crossings, and four unchanged controls that dispatch.
  • Append four receipts to the chain registry (508 total), add report and source to the reproducible manifest, CI, and publication notes.

Verification

  • npm test: 1,090 passed, 0 failed
  • bash reproduction/action-boundary/reproduce.sh: passed
  • node scripts/verify-action-receipt-registry.mjs --check --append-only-base HEAD before commit: 508 entries, previous 504 unchanged
  • npm run check:links: 423 Markdown files passed
  • git diff --check: clean

The epoch comparison uses in-memory host state and local callbacks. A production host must persist a monotonic epoch and increment it for policy and destination-mapping changes; this change does not prove that external behavior.

@aruintelligence
aruintelligence force-pushed the codex/policy-epoch-receipts branch from 96fab32 to aab770d Compare October 20, 2026 05:45
@aruintelligence
aruintelligence merged commit 79a24ba into main Oct 20, 2026
66 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