== ARION AER-1 conformance run == kit: /tmp/aer1kit FAIL [valid] bound-04 — rejected: metadata_hash is required at receipt_schema_version 0.4 or later PASS [valid] feb29-leap PASS [valid] fraction-one-digit PASS [valid] legacy-02 PASS [valid] legacy-03 PASS [valid] receipt-01 PASS [valid] receipt-02 PASS [valid] receipt-03-live => valid: 7/8 PASS [invalid] ax-base64-unpadded — rejected: canonical_bytes is not valid base64 PASS [invalid] ax-feb29-1900 — rejected: created_at is not a valid calendar date/time PASS [invalid] ax-feb29-non-leap — rejected: created_at is not a valid calendar date/time PASS [invalid] ax-tool-empty-scope — rejected: tool is not an object with name/version/scope strings PASS [invalid] bad-created-at — rejected: created_at is not RFC 3339 PASS [invalid] bad-id — rejected: id is not a lowercase UUID PASS [invalid] bad-offset-range — rejected: created_at is not a valid calendar date/time PASS [invalid] bad-provenance — rejected: provenance_class is not a known class PASS [invalid] bad-verification-status — rejected: verification_status is not verified PASS [invalid] base64-unpadded — rejected: canonical_bytes is not valid base64 PASS [invalid] bytes-not-base64 — rejected: canonical_bytes is not valid base64 PASS [invalid] feb29-1900 — rejected: created_at is not a valid calendar date/time PASS [invalid] feb29-non-leap — rejected: created_at is not a valid calendar date/time PASS [invalid] hash-bad-format — rejected: output_hash is not sha256: + lowercase hex digest PASS [invalid] hash-mismatch — rejected: output_hash does not match sha256(canonical_bytes) PASS [invalid] id-trailing-newline — rejected: id is not a lowercase UUID PASS [invalid] impossible-date — rejected: created_at is not a valid calendar date/time PASS [invalid] missing-output-hash — rejected: missing required member: output_hash PASS [invalid] non-utf8-bytes — rejected: canonical_bytes is not valid UTF-8 PASS [invalid] provenance-trailing-newline — rejected: provenance_class is not a known class PASS [invalid] tampered-provenance — rejected: provenance binding: outer "LOGGED BY AGENT" does not match committed "EXECUTED BY ZAMBO" PASS [invalid] tool-empty-name — rejected: tool is not an object with name/version/scope strings PASS [invalid] tool-not-object — rejected: tool is not an object with name/version/scope strings PASS [invalid] uppercase-id — rejected: id is not a lowercase UUID PASS [invalid] version-downgrade — rejected: receipt_schema_version: outer "0.3" does not match committed "0.4" => invalid: 25/25 PASS [invalid-profile] missing-inputs => invalid-profile: 1/1 PASS [anchored] anchored-bad-id-version — tier: id is not a UUID v4 (strict profile) PASS [anchored] anchored-bad-leaf-hash — tier: anchor.leaf_hash does not match canonical_bytes PASS [anchored] anchored-bad-timestamp — tier: anchor.anchored_at is not a valid calendar date/time PASS [anchored] anchored-missing-proof — tier: anchor has members other than log/leaf_hash/anchored_at/proof PASS [anchored] anchored-valid — tier ok => anchored: 5/5 PASS [chain-v07 (-07/-08)] v07-valid-5 PASS [chain-v07 (-07/-08)] v07-valid-single PASS [chain-v07 (-07/-08)] v07-truncation-limit-prefix PASS [chain-v07 (-07/-08)] v07-relabel-provenance — entry 3 prev_digest does not match the digest of entry 2 PASS [chain-v07 (-07/-08)] v07-relabel-tool-id — entry 3 prev_digest does not match the digest of entry 2 PASS [chain-v07 (-07/-08)] v07-close-middle — entry 1 carries close:true before the last entry PASS [chain-v07 (-07/-08)] v07-close-wrong-type — entry 4 close is not a boolean PASS [chain-v07 (-07/-08)] v07-delete-identical-pair — entry 2 seq 4 breaks contiguity (expected 3) PASS [chain-v07 (-07/-08)] v07-insert-duplicate — entry 3 seq 3 breaks contiguity (expected 4) PASS [chain-v07 (-07/-08)] v07-splice-cross-job — entry 2 job_id mixes jobs PASS [chain-v07 (-07/-08)] v07-bad-genesis — entry 0 prev_digest is not 64 zero characters PASS [chain-v07 (-07/-08)] v07-seq-gap — entry 3 seq 99 breaks contiguity (expected 4) PASS [chain-v07 (-07/-08)] v07-mixed-job-id — entry 3 job_id mixes jobs PASS [chain-v07 (-07/-08)] v07-bad-base64 — entry 2 canonical_bytes is not valid base64 PASS [chain-v07 (-07/-08)] v07-v06-chain-rejected — entry 0 missing tool PASS [chain-v07 (-07/-08)] v07-seq-float-valid PASS [chain-v07 (-07/-08)] v07-seq-bool-invalid — entry 0 seq is not an integer PASS [chain-v07 (-07/-08)] v07-seq-fraction-invalid — entry 0 seq is not an integer PASS [chain-v07 (-07/-08)] v07-seq-negative-invalid — entry 0 seq -1 breaks contiguity (expected 1) PASS [chain-v07 (-07/-08)] v07-seq-string-invalid — entry 0 seq is not an integer PASS [chain-v07 (-07/-08)] v07-seq-null-invalid — entry 0 seq is not an integer PASS [chain-v07 (-07/-08)] v07-seq-missing-invalid — entry 0 seq is not an integer PASS [chain-v07 (-07/-08)] x-genesis-single — entry 0 prev_digest is not 64 zero characters PASS [chain-v07 (-07/-08)] x-encoding-reference PASS [chain-v07 (-07/-08)] x-encoding-draft-literal — entry 1 prev_digest does not match the digest of entry 0 PASS [chain-v07 (-07/-08)] ax-genesis-single — entry 0 prev_digest is not 64 zero characters PASS [chain-v07 (-07/-08)] ax-esc-hex-upper — entry 1 prev_digest does not match the digest of entry 0 PASS [chain-v07 (-07/-08)] ax-esc-long-escape — entry 1 prev_digest does not match the digest of entry 0 => chain-v07 (-07/-08): 28/28 PASS [commitment] commit-valid-1 PASS [commitment] commit-digest-mismatch — commitment final_entry_digest does not match the recomputed digest of the last entry PASS [commitment] commit-count-mismatch — commitment entry_count 7 does not match the timeline length 5 PASS [commitment] commit-job-mismatch — entry 0 job_id does not match the commitment job_id PASS [commitment] commit-malformed-missing — commitment final_entry_digest is not 64 lowercase hex characters PASS [commitment] commit-malformed-types — commitment final_entry_digest is not 64 lowercase hex characters PASS [commitment] commit-not-an-object — commitment is not a JSON object PASS [commitment] x-entry-count-float — commitment entry_count is not an integer => commitment: 8/8 PASS [chain-legacy (-06 construction)] chain-valid-3 PASS [chain-legacy (-06 construction)] chain-single-entry-valid PASS [chain-legacy (-06 construction)] chain-tampered-middle — entry 2 prev_digest does not match the digest of entry 1 PASS [chain-legacy (-06 construction)] chain-truncated-no-close — last entry does not carry close: true PASS [chain-legacy (-06 construction)] chain-reordered — entry 1 prev_digest does not match the digest of entry 0 PASS [chain-legacy (-06 construction)] chain-bad-genesis — entry 0 prev_digest is not 64 zero characters PASS [chain-legacy (-06 construction)] chain-close-wrong-type — last entry does not carry close: true => chain-legacy (-06 construction): 7/7 PASS [chain-legacy under -07/-08] chain-valid-3 — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-single-entry-valid — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-tampered-middle — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-truncated-no-close — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-reordered — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-bad-genesis — entry 0 missing tool PASS [chain-legacy under -07/-08] chain-close-wrong-type — entry 0 missing tool => chain-legacy under -07/-08: 7/7 PASS [merkle] canonical-5-step PASS [merkle] legacy-construction-rejected PASS [merkle] odd-duplication-3 PASS [merkle] ordering-matters PASS [merkle] single-leaf PASS [merkle] empty PASS [merkle] worked-example-byte-exact PASS [merkle] duplicate-receipt-id-collision => merkle: 8/8 PASS [frozen-v1.3.0] anchored-bad-leaf-hash — tier: anchor.leaf_hash does not match canonical_bytes PASS [frozen-v1.3.0] anchored-bad-timestamp — tier: anchor.anchored_at is not a valid calendar date/time PASS [frozen-v1.3.0] anchored-missing-proof — tier: anchor has members other than log/leaf_hash/anchored_at/proof PASS [frozen-v1.3.0] anchored-valid — tier ok PASS [frozen-v1.3.0] bad-created-at — rejected: created_at is not RFC 3339 PASS [frozen-v1.3.0] bad-id — rejected: id is not a lowercase UUID PASS [frozen-v1.3.0] bad-provenance — rejected: provenance_class is not a known class PASS [frozen-v1.3.0] bytes-not-base64 — rejected: canonical_bytes is not valid base64 PASS [frozen-v1.3.0] hash-bad-format — rejected: output_hash is not sha256: + lowercase hex digest PASS [frozen-v1.3.0] hash-mismatch — rejected: output_hash does not match sha256(canonical_bytes) PASS [frozen-v1.3.0] impossible-date — rejected: created_at is not a valid calendar date/time PASS [frozen-v1.3.0] missing-inputs PASS [frozen-v1.3.0] missing-output-hash — rejected: missing required member: output_hash PASS [frozen-v1.3.0] non-utf8-bytes — rejected: canonical_bytes is not valid UTF-8 PASS [frozen-v1.3.0] receipt-01 PASS [frozen-v1.3.0] receipt-02 PASS [frozen-v1.3.0] receipt-03-live PASS [frozen-v1.3.0] tool-not-object — rejected: tool is not an object with name/version/scope strings => frozen-v1.3.0: 18/18 PASS [frozen-v1] bad-timestamp.json — core:reject(created_at is not RFC 3339) expected reject | profile:accept expected accept PASS [frozen-v1] empty-object.json — core:reject(missing required member: id) expected reject | profile:reject(canonical_bytes is not valid base64) expected reject PASS [frozen-v1] future-dated.json — core:accept expected accept | profile:accept expected accept PASS [frozen-v1] missing-inputs.json — core:accept expected accept | profile:reject(reference-producer payload omits the 'inputs' member) expected reject PASS [frozen-v1] non-utf8-bytes.json — core:reject(canonical_bytes is not valid UTF-8) expected reject | profile:reject(canonical_bytes is not valid UTF-8) expected reject PASS [frozen-v1] replayed.json — core:accept expected accept | profile:accept expected accept PASS [frozen-v1] scope-inflation.json — core:accept expected accept | profile:accept expected accept PASS [frozen-v1] tampered-output.json — core:reject(output_hash does not match sha256(canonical_bytes)) expected reject | profile:accept expected accept PASS [frozen-v1] valid-minimal.json — core:accept expected accept | profile:accept expected accept PASS [frozen-v1] wrong-producer-profile.json — core:accept expected accept | profile:reject(canonical payload is not a JSON object) expected reject => frozen-v1: 10/10 PASS [adversarial (strict)] aer1-local-invalid-bytes-format — rejected: canonical_bytes is not valid base64 PASS [adversarial (strict)] aer1-local-invalid-bytes-padding — rejected: canonical_bytes is not valid base64 PASS [adversarial (strict)] aer1-local-invalid-bytes-utf8 — rejected: canonical_bytes is not valid UTF-8 PASS [adversarial (strict)] aer1-local-invalid-date-day — rejected: created_at is not a valid calendar date/time PASS [adversarial (strict)] aer1-local-invalid-date-hour — rejected: created_at is not a valid calendar date/time PASS [adversarial (strict)] aer1-local-invalid-date-zone — rejected: created_at is not a valid calendar date/time PASS [adversarial (strict)] aer1-local-invalid-hash-format — rejected: output_hash is not sha256: + lowercase hex digest PASS [adversarial (strict)] aer1-local-invalid-hash-mismatch — rejected: output_hash does not match sha256(canonical_bytes) PASS [adversarial (strict)] aer1-local-invalid-id-version — rejected: id is not a UUID v4 PASS [adversarial (strict)] aer1-local-invalid-id — rejected: id is not a UUID v4 PASS [adversarial (strict)] aer1-local-invalid-missing-hash — rejected: missing required member: output_hash PASS [adversarial (strict)] aer1-local-invalid-missing-id — rejected: missing required member: id PASS [adversarial (strict)] aer1-local-invalid-missing-tool — rejected: missing required member: tool PASS [adversarial (strict)] aer1-local-invalid-provenance — rejected: provenance_class is not a known class PASS [adversarial (strict)] aer1-local-invalid-schema — rejected: receipt_schema_version is not 0.3 PASS [adversarial (strict)] aer1-local-invalid-status — rejected: verification_status is not verified PASS [adversarial (strict)] aer1-local-invalid-tool-name — rejected: tool is not an object with name/version/scope strings PASS [adversarial (strict)] aer1-local-invalid-tool-scope — rejected: tool is not an object with name/version/scope strings PASS [adversarial (strict)] aer1-local-invalid-tool-version — rejected: tool is not an object with name/version/scope strings PASS [adversarial (strict)] aer1-local-invalid-tool — rejected: tool is not an object with name/version/scope strings PASS [adversarial (strict)] aer1-local-valid-01 PASS [adversarial (strict)] aer1-local-valid-02 PASS [adversarial (strict)] aer1-local-valid-03 PASS [adversarial (strict)] aer1-local-valid-04 PASS [adversarial (strict)] aer1-local-valid-05 => adversarial (strict): 25/25 PASS [certifier v1.3] receipt-01 PASS [certifier v1.3] receipt-02 PASS [certifier v1.3] receipt-03-live => certifier v1.3: 3/3 PASS [certifier v1.3-invalid] bad-created-at — rejected: created_at is not RFC 3339 PASS [certifier v1.3-invalid] bad-id — rejected: id is not a lowercase UUID PASS [certifier v1.3-invalid] bad-provenance — rejected: provenance_class is not a known class PASS [certifier v1.3-invalid] bad-verification-status — rejected: verification_status is not verified PASS [certifier v1.3-invalid] bytes-not-base64 — rejected: canonical_bytes is not valid base64 PASS [certifier v1.3-invalid] hash-bad-format — rejected: output_hash is not sha256: + lowercase hex digest PASS [certifier v1.3-invalid] hash-mismatch — rejected: output_hash does not match sha256(canonical_bytes) PASS [certifier v1.3-invalid] impossible-date — rejected: created_at is not a valid calendar date/time PASS [certifier v1.3-invalid] missing-output-hash — rejected: missing required member: output_hash PASS [certifier v1.3-invalid] non-utf8-bytes — rejected: canonical_bytes is not valid UTF-8 PASS [certifier v1.3-invalid] tool-not-object — rejected: tool is not an object with name/version/scope strings PASS [certifier v1.3-invalid] uppercase-id — rejected: id is not a lowercase UUID => certifier v1.3-invalid: 12/12 PASS [certifier v1.3-profile] missing-inputs => certifier v1.3-profile: 1/1 PASS [certifier v1.3-anchored] anchored-bad-leaf-hash — tier: anchor.leaf_hash does not match canonical_bytes PASS [certifier v1.3-anchored] anchored-bad-timestamp — tier: anchor.anchored_at is not a valid calendar date/time PASS [certifier v1.3-anchored] anchored-missing-proof — tier: anchor has members other than log/leaf_hash/anchored_at/proof PASS [certifier v1.3-anchored] anchored-valid — tier ok => certifier v1.3-anchored: 4/4 PASS [certifier adversarial (strict)] aer1-local-invalid-bytes-format — rejected: canonical_bytes is not valid base64 PASS [certifier adversarial (strict)] aer1-local-invalid-bytes-padding — rejected: canonical_bytes is not valid base64 PASS [certifier adversarial (strict)] aer1-local-invalid-bytes-utf8 — rejected: canonical_bytes is not valid UTF-8 PASS [certifier adversarial (strict)] aer1-local-invalid-date-day — rejected: created_at is not a valid calendar date/time PASS [certifier adversarial (strict)] aer1-local-invalid-date-hour — rejected: created_at is not a valid calendar date/time PASS [certifier adversarial (strict)] aer1-local-invalid-date-zone — rejected: created_at is not a valid calendar date/time PASS [certifier adversarial (strict)] aer1-local-invalid-hash-format — rejected: output_hash is not sha256: + lowercase hex digest PASS [certifier adversarial (strict)] aer1-local-invalid-hash-mismatch — rejected: output_hash does not match sha256(canonical_bytes) PASS [certifier adversarial (strict)] aer1-local-invalid-id-version — rejected: id is not a UUID v4 PASS [certifier adversarial (strict)] aer1-local-invalid-id — rejected: id is not a UUID v4 PASS [certifier adversarial (strict)] aer1-local-invalid-missing-hash — rejected: missing required member: output_hash PASS [certifier adversarial (strict)] aer1-local-invalid-missing-id — rejected: missing required member: id PASS [certifier adversarial (strict)] aer1-local-invalid-missing-tool — rejected: missing required member: tool PASS [certifier adversarial (strict)] aer1-local-invalid-provenance — rejected: provenance_class is not a known class PASS [certifier adversarial (strict)] aer1-local-invalid-schema — rejected: receipt_schema_version is not 0.3 PASS [certifier adversarial (strict)] aer1-local-invalid-status — rejected: verification_status is not verified PASS [certifier adversarial (strict)] aer1-local-invalid-tool-name — rejected: tool is not an object with name/version/scope strings PASS [certifier adversarial (strict)] aer1-local-invalid-tool-scope — rejected: tool is not an object with name/version/scope strings PASS [certifier adversarial (strict)] aer1-local-invalid-tool-version — rejected: tool is not an object with name/version/scope strings PASS [certifier adversarial (strict)] aer1-local-invalid-tool — rejected: tool is not an object with name/version/scope strings PASS [certifier adversarial (strict)] aer1-local-valid-01 PASS [certifier adversarial (strict)] aer1-local-valid-02 PASS [certifier adversarial (strict)] aer1-local-valid-03 PASS [certifier adversarial (strict)] aer1-local-valid-04 PASS [certifier adversarial (strict)] aer1-local-valid-05 => certifier adversarial (strict): 25/25 PASS [audit-bundle samples] receipt-01 PASS [audit-bundle samples] receipt-02 PASS [audit-bundle samples] receipt-03-live => audit-bundle samples: 3/3 => fuzz-corpus (strict, unlabeled): 1000 cases, 59 accepted, 941 rejected (59 unparseable) 177x id is not a UUID v4 176x output_hash does not match sha256(canonical_bytes) 118x created_at is not a valid calendar date/time 118x canonical_bytes is not valid base64 59x not valid JSON 59x created_at is not RFC 3339 59x missing required member: tool 59x tool is not an object with name/version/scope strings 58x canonical_bytes is not valid UTF-8 58x output_hash is not sha256: + lowercase hex digest == SUMMARY == valid: 7/8 invalid: 25/25 invalid-profile: 1/1 anchored: 5/5 chain-v07 (-07/-08): 28/28 commitment: 8/8 chain-legacy (-06 construction): 7/7 chain-legacy under -07/-08: 7/7 merkle: 8/8 frozen-v1.3.0: 18/18 frozen-v1: 10/10 adversarial (strict): 25/25 certifier v1.3: 3/3 certifier v1.3-invalid: 12/12 certifier v1.3-profile: 1/1 certifier v1.3-anchored: 4/4 certifier adversarial (strict): 25/25 audit-bundle samples: 3/3 fuzz-corpus (strict, unlabeled) (unscored): 59/1000 accepted/1000 vector checks: 197 passed, 1 failed