Repository navigation
delegation: write version 1.1 on action receipts - #24
Merged
Merged
Conversation
create_action_receipt wrote version "1.0.0". The TypeScript verifyReceipt accepts only "1.1", so every receipt this SDK produced failed there on the version alone. It now writes "1.1" before signing. Receipts already signed with "1.0.0" are unchanged, and verify_action_receipt still checks only their signature. Whether the Python reader should check the version is left for a separate decision. tests/test_action_receipt_cross_language.py signs a receipt here and verifies it with the TypeScript SDK from a sibling checkout (skipped when absent), and keeps a 1.0.0 control that this reader accepts and the TypeScript reader rejects on version only. Signed-off-by: Tymofii Pidlisnyi <tima@aeoess.com>
The live cross-language tests need a sibling TypeScript checkout and skip in CI. The new tests compare the writer with the frozen action-receipt-v1.1 vectors from the TypeScript SDK (949d77d, sha256 pinned): a vendored TypeScript receipt verifies here, and a receipt written here has the version and members of the one the TypeScript verifier accepted. Both fail without the version fix and need no node. Signed-off-by: Tymofii Pidlisnyi <tima@aeoess.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
create_action_receiptwroteversion: "1.0.0". The TypeScriptverifyReceiptaccepts only"1.1", so every receipt this SDK produced failed there on the version alone. It now writes"1.1"before signing.Receipts already signed with
"1.0.0"are unchanged, andverify_action_receiptstill checks only the signature. Whether the Python reader should check the version is left for a separate decision.Tests:
action-receipt-v1.1vectors are vendored intests/cross_impl(949d77d, sha256 pinned, provenance file alongside). A TypeScript-signed receipt verifies here, and a receipt written here has the version and members of the one the TypeScript verifier accepted.../agent-passport-systemcheckout: the TypeScriptverifyReceiptaccepts a receipt signed here, and still rejects a1.0.0control on version only.Without the fix, the three version tests fail. Full suite locally: 2744 passed, 1 skipped.
Not changed here: the writer still always emits
spendwith currencyusd, checks scope by exact match, and writes+00:00timestamps. Those differ from the TypeScript SDK and need their own issues.