Align runtime tests with canonical metadata.proof schema#67
Merged
GsCommand merged 1 commit intoMay 17, 2026
Merged
Conversation
…ical metadata schema Why: Legacy proof-field assertions were still expecting pre-migration receipt shapes and were failing after runtime-core canonical proof adoption. Contract impact: none
GsCommand
added a commit
that referenced
this pull request
May 18, 2026
Merge pull request #67 from commandlayer/codex/fix-remaining-failing-…
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.
Motivation
metadata.proofshape (nestedcanonicalization,hash, andsignature) without reverting the canonicalization migration or reintroducing legacy fields.Description
runtime/tests/protocol-v1-1-0.test.mjsto assertmetadata.proof.canonicalization,metadata.proof.hashandmetadata.proof.signatureinstead of legacy top-level proof fields, and to validateSHA-256andEd25519algorithm names.runtime/tests/runtime-signing.test.mjsto requireproofwithcanonicalization, nestedhash(alg+value) and nestedsignature(alg+value+kid).receipt.metadata.proof.canonicalization,receipt.metadata.proof.hash.alg,receipt.metadata.proof.hash.value,receipt.metadata.proof.signature.alg,receipt.metadata.proof.signature.value, andreceipt.metadata.proof.signature.kid, and updated verify-path expectations to readvalues.canonicalization.alg,canonical,canonical_id,hash_sha256,signature_b64) with assertions that those legacy fields are absent or not required by the v1.1.0 shape.Testing
npm install(network-dependent git fetch failed in this environment due to DNS resolution togithub.com).npm run checkwhich passed (node --check server.mjs).npm testandnpm run ci, both of which currently fail because several runtime integration tests still fail; exact failing test names are listed below.Remaining failing tests (exact names):
Legacy receipt verification compatibility: v1 receipt still verifies after v2 key addedLegacy receipt verification compatibility: valid receipt verifiesboot fails fast without keys unless DEV_AUTO_KEYS=1makeReceipt production path emits signed receipts with runtime kid and canonical fields/verify accepts both wrapped and bare receipts from the production signing pathPOST /execute dispatches execution.verb to clean and keeps canonical commons receipt entryPOST /execute normalizes nested execution into the handler body and preserves execution metadataPOST /execute falls back to top-level verb for summarizePOST /execute returns JSON 400 when the verb is missingPOST /execute returns JSON 404 for unknown verbslegacy per-verb routes still work after adding POST /executeschema validation fails on malformed receipt/verify reports a hash/signature failure when a signed production receipt is tampered/verify?ens=1 passes with mocked ENS TXT response and preserves current kid behavior/verify?ens=1&strict_kid=1 rejects a receipt when ENS publishes a different kid/verify surfaces transient timeout failures separately from cryptographic failurescommons runtime ignores inbound x402 request metadata when building receiptsfabricated commons execution defaults use canonical execute entryfull chain clean -> summarize -> classify verifies with schema using commons execution defaultsCodex Task