PHP 8.2.33 (cli) (built: Aug 10 2026 16:44:03) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.33, Copyright (c) Zend Technologies with Zend OPcache v8.2.33, Copyright (c), by Zend Technologies === RUN 1: php php/aer1verify.php kit-snapshot/aer-1/test-vectors === FAIL [receipt] kit-snapshot/aer-1/test-vectors/anchored/anchored-bad-id-version.json — id is not a UUID v4 (strict profile) FAIL [receipt] kit-snapshot/aer-1/test-vectors/anchored/anchored-bad-leaf-hash.json — anchor.leaf_hash does not match canonical_bytes FAIL [receipt] kit-snapshot/aer-1/test-vectors/anchored/anchored-bad-timestamp.json — anchor.anchored_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/test-vectors/anchored/anchored-missing-proof.json — anchor has members other than log/leaf_hash/anchored_at/proof (+1 more) PASS [receipt] kit-snapshot/aer-1/test-vectors/anchored/anchored-valid.json PASS [receipt] kit-snapshot/aer-1/test-vectors/invalid-profile/missing-inputs.json FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bad-created-at.json — created_at is not RFC 3339 FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bad-id.json — id is not a lowercase UUID FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bad-offset-range.json — created_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bad-provenance.json — provenance_class is not a known class FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bad-verification-status.json — verification_status is not verified FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/base64-unpadded.json — canonical_bytes is not valid base64 FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/bytes-not-base64.json — canonical_bytes is not valid base64 FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/feb29-1900.json — created_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/feb29-non-leap.json — created_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/hash-bad-format.json — output_hash is not sha256: + lowercase hex digest FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/hash-mismatch.json — output_hash does not match sha256(canonical_bytes) FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/id-trailing-newline.json — id is not a lowercase UUID FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/impossible-date.json — created_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/missing-output-hash.json — missing required member: output_hash FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/non-utf8-bytes.json — canonical_bytes is not valid UTF-8 FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/provenance-trailing-newline.json — provenance_class is not a known class FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/tool-empty-name.json — tool is not an object with name/version/scope strings FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/tool-not-object.json — tool is not an object with name/version/scope strings FAIL [receipt] kit-snapshot/aer-1/test-vectors/invalid/uppercase-id.json — id is not a lowercase UUID PASS [receipt] kit-snapshot/aer-1/test-vectors/valid/feb29-leap.json PASS [receipt] kit-snapshot/aer-1/test-vectors/valid/fraction-one-digit.json PASS [receipt] kit-snapshot/aer-1/test-vectors/valid/receipt-01.json PASS [receipt] kit-snapshot/aer-1/test-vectors/valid/receipt-02.json PASS [receipt] kit-snapshot/aer-1/test-vectors/valid/receipt-03-live.json 7/30 verified CONFORMANCE: 7/30 exit=1 === RUN 2: php php/aer1verify.php kit-snapshot/aer-1/frozen-vectors/v1.3.0 === FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/anchored-bad-leaf-hash.json — anchor.leaf_hash does not match canonical_bytes FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/anchored-bad-timestamp.json — anchor.anchored_at is not a valid calendar date/time FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/anchored-missing-proof.json — anchor has members other than log/leaf_hash/anchored_at/proof (+1 more) PASS [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/anchored-valid.json FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/bad-created-at.json — created_at is not RFC 3339 FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/bad-id.json — id is not a lowercase UUID FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/bad-provenance.json — provenance_class is not a known class FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/bytes-not-base64.json — canonical_bytes is not valid base64 FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/hash-bad-format.json — output_hash is not sha256: + lowercase hex digest FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/hash-mismatch.json — output_hash does not match sha256(canonical_bytes) FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/impossible-date.json — created_at is not a valid calendar date/time PASS [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/missing-inputs.json FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/missing-output-hash.json — missing required member: output_hash FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/non-utf8-bytes.json — canonical_bytes is not valid UTF-8 PASS [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/receipt-01.json PASS [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/receipt-02.json PASS [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/receipt-03-live.json FAIL [receipt] kit-snapshot/aer-1/frozen-vectors/v1.3.0/tool-not-object.json — tool is not an object with name/version/scope strings 5/18 verified CONFORMANCE: 5/18 exit=1 === RUN 3: php php/run_negcorpus.php (neg-corpus must-fail oracle) === PASS r01-drop-id PASS r02-id-uppercase PASS r03-id-nonv4-strict PASS r04-schema-empty PASS r05-schema-nonstring PASS r06-created-feb30 PASS r07-created-nopad PASS r08-tool-nonobject PASS r09-tool-empty-name PASS r10-provenance-lower PASS r11-bytes-badb64 PASS r12-bytes-nonutf8 PASS r13-hash-noprefix PASS r14-hash-upperhex PASS r15-hash-mismatch PASS r16-status-pending PASS r17-profile-no-inputs PASS a01-anchor-extra-member PASS a02-anchor-missing-proof PASS a03-leaf-mismatch PASS a04-leaf-upperhex PASS a05-anchored-badcal PASS a06-log-empty PASS c01-last-seq-skip PASS c02-genesis-nonzero-relinked PASS c03-mid-link-broken PASS c04-mixed-job-relinked PASS c05-close-early-relinked PASS c06-no-close-last PASS c07-close-nonbool PASS c08-seq-float PASS c09-entry-badb64 PASS c10-entry-missing-jobid PASS c11-commitment-mismatch PASS c12-commitment-badfmt PASS c13-v06-chain-under-v07 PASS c14-first-seq-2-relinked PASS cm01-valid PASS cm02-valid-offset-frac PASS cm03-valid-single PASS cm04-valid-extra-member PASS cm05-digest-mismatch PASS cm06-digest-uppercase PASS cm07-digest-length PASS cm08-count-mismatch PASS cm09-count-float PASS cm10-count-string PASS cm11-job-mismatch PASS cm12-entry-job-mismatch PASS cm13-published-dateonly PASS cm14-published-notz PASS cm15-published-feb30 PASS cm16-not-object PASS cm17-missing-member PASS w01-steps-nonlist PASS w02-doc-not-object PASS w03-steps-reordered PASS w04-merkle-mismatch PASS w05-dup-receiptid-stale-root PASS w06-dup-receiptid PASS w07-stepseq-skip PASS w08-step-seq-dup PASS w09-step-seq-tail-skip PASS w10-steps-null PASS w11-empty-steps PASS w12-merkle-wrong-order PASS w14-step-seq-zero FAIL d01-id-trailing-newline (differential) looseDiff={"missing":[],"extra":["core :: id is not a lowercase UUID"]} strictDiff={"missing":[],"extra":[]} FAIL d02-offset-min-60 (differential) looseDiff={"missing":[],"extra":["core :: created_at is not a valid calendar date/time"]} strictDiff={"missing":[],"extra":[]} FAIL d03-prov-trailing-newline (differential) looseDiff={"missing":[],"extra":["core :: provenance_class is not a known class"]} strictDiff={"missing":[],"extra":[]} PASS d04-v06-chain-labeled (differential) PASS d05-id-nonv4-tiers (differential) PASS d06-schema-non03 (differential) 70/73 corpus cases conform exit=1 === DIFFERENTIAL SWEEP vs node verify.js === Every *.json under kit-snapshot + neg-corpus/vectors (1281 files) x 9 flag combos ("", --strict, --profile, --anchor, --chain06, --workflow, --receipt, --chain, "--strict --anchor"), comparing the full first verdict line: == 11529 runs, 531 mismatches All 531 differences are the documented parse-message text ("not valid JSON: " vs "not valid JSON: ") on 59 unparseable fuzz files x 9 combos. Zero verdict/check/kind divergences on any parseable input.