From c9798a001392a626e17fee8e27a92636ed745b0e Mon Sep 17 00:00:00 2001 From: Aere Network Date: Mon, 5 Oct 2026 17:17:59 +0300 Subject: [PATCH] conformance: 97 rules of 9 verifiers, 206 vectors; verify-layer and agents refuse a classical key under an ML-DSA-65 name; market-settlement reads the notarization time from the certified read; proof-of-ai README in English --- README.md | 12 +- agents/README.md | 7 +- agents/agent-ledger.mjs | 76 +- agents/control-negativ-aprobare.mjs | 10 +- agents/proba-agent-ledger.mjs | 19 + ai-trust/lant-de-incredere.mjs | 9 +- conformance/README.md | 195 +++-- conformance/REGULI.json | 502 ++++++++++- conformance/conformance.mjs | 7 +- conformance/genereaza-vectori.mjs | 258 +++++- conformance/implementare-aere.mjs | 61 +- conformance/implementare-integritate.py | 5 + conformance/proba-conformance.mjs | 59 +- conformance/reguli.mjs | 96 ++- conformance/surse-proaspete.json | 812 +++++++++++++++++ conformance/vectori/INDEX.json | 816 +++++++++++++++++- .../agent-ledger/four-entries.anchor.json | 185 ++++ .../agent-ledger/four-entries.approvals.json | 176 ++++ .../agent-ledger/four-entries.body.json | 176 ++++ .../agent-ledger/four-entries.chain.json | 175 ++++ .../agent-ledger/four-entries.decision.json | 176 ++++ .../agent-ledger/four-entries.hash.json | 175 ++++ .../agent-ledger/four-entries.identity.json | 178 ++++ .../four-entries.key-classical.json | 96 +++ .../agent-ledger/four-entries.key.json | 173 ++++ .../four-entries.ledger-form.json | 74 ++ .../four-entries.other-policy.json | 173 ++++ .../agent-ledger/four-entries.policy.json | 173 ++++ .../agent-ledger/four-entries.revocation.json | 175 ++++ .../agent-ledger/four-entries.seq.json | 175 ++++ .../agent-ledger/four-entries.session.json | 173 ++++ .../agent-ledger/four-entries.signature.json | 175 ++++ .../agent-ledger/four-entries.time.json | 173 ++++ .../agent-ledger/four-entries.valid.json | 164 ++++ .../ai-trust/fresh-agent.action-refused.json | 140 +++ .../fresh-agent.ledger-time-mismatch.json | 144 ++++ .../vectori/ai-trust/fresh-agent.partial.json | 130 +++ .../recorded-28001.provenance-finality.json | 270 ++++++ .../ai-trust/recorded-28001.valid.json | 253 ++++++ .../ai-trust/recorded-28001.witness-head.json | 265 ++++++ .../vectori/ai-trust/recorded.audit-head.json | 260 ++++++ .../ai-trust/recorded.audit-log-broken.json | 261 ++++++ .../vectori/ai-trust/recorded.form.json | 258 ++++++ .../ai-trust/recorded.identity-key.json | 259 ++++++ .../ai-trust/recorded.identity-mismatch.json | 259 ++++++ .../ai-trust/recorded.ledger-invalid.json | 266 ++++++ .../recorded.output-not-in-ledger.json | 268 ++++++ .../vectori/ai-trust/recorded.partial.json | 249 ++++++ .../ai-trust/recorded.policy-hash.json | 259 ++++++ .../vectori/ai-trust/recorded.policy.json | 250 ++++++ .../recorded.provenance-envelope.json | 261 ++++++ .../recorded.runtime-after-output.json | 268 ++++++ .../recorded.runtime-artifact-mismatch.json | 268 ++++++ .../recorded.runtime-not-in-audit-log.json | 239 +++++ .../ai-trust/recorded.runtime-record.json | 260 ++++++ .../recorded.version-artifact-mismatch.json | 270 ++++++ .../recorded.version-attestation.json | 263 ++++++ .../recorded.version-label-mismatch.json | 269 ++++++ .../four-to-six.consistency-end.json | 77 ++ .../four-to-six.consistency-start.json | 77 ++ .../four-to-six.consistency.json | 78 ++ .../audit-consistency/four-to-six.valid.json | 68 ++ .../audit-inclusion/entry-2.head-form.json | 87 ++ .../audit-inclusion/entry-2.head-hash.json | 87 ++ .../entry-2.inclusion-entry.json | 88 ++ .../entry-2.inclusion-envelope.json | 90 ++ .../entry-2.inclusion-head.json | 98 +++ .../entry-2.inclusion-index.json | 87 ++ .../entry-2.inclusion-leaf.json | 87 ++ .../entry-2.inclusion-path.json | 88 ++ .../audit-inclusion/entry-2.proof-form.json | 87 ++ .../audit-inclusion/entry-2.valid.json | 78 ++ .../audit-log/head-at-four.head-form.json | 131 +++ .../audit-log/head-at-four.head-hash.json | 131 +++ .../head-at-four.head-rewritten.json | 140 +++ .../audit-log/head-at-four.head-short.json | 111 +++ .../vectori/audit-log/head-at-four.valid.json | 122 +++ .../audit-log/signed-head.head-key.json | 143 +++ ...signed-head.head-scheme-classical-key.json | 149 ++++ .../audit-log/signed-head.head-scheme.json | 143 +++ .../audit-log/signed-head.head-signature.json | 143 +++ .../audit-log/signed-head.head-signer.json | 141 +++ .../audit-log/signed-head.head-unsigned.json | 136 +++ .../vectori/audit-log/signed-head.valid.json | 133 +++ .../vectori/audit-log/six-entries.chain.json | 152 ++++ .../vectori/audit-log/six-entries.entry.json | 132 +++ .../vectori/audit-log/six-entries.hash.json | 152 ++++ .../vectori/audit-log/six-entries.seq.json | 152 ++++ .../vectori/audit-log/six-entries.valid.json | 142 +++ .../vectori/envelope/data.form-list.json | 62 ++ .../vectori/envelope/data.form-not-json.json | 40 + .../vectori/envelope/data.form-null.json | 36 + .../vectori/envelope/data.form-number.json | 36 + .../envelope/data.form-statement-list.json | 47 + .../vectori/envelope/data.form-string.json | 36 + .../vectori/envelope/data.form-true.json | 36 + .../signed-head.signature-classical-key.json | 62 ++ .../signed-head.signature-no-key.json | 54 ++ .../signed-head.signature-not-object.json | 51 ++ .../s1-28001.proof-claim-early.json | 166 ++++ conformance/verdict.mjs | 4 +- market-settlement/README.md | 7 +- market-settlement/piata.mjs | 22 +- market-settlement/proba-judecata.mjs | 7 + proof-of-ai/README.md | 28 +- verify-layer/README.md | 16 +- verify-layer/control-negativ-arbore.mjs | 10 +- verify-layer/control-negativ-sidecar.mjs | 14 +- verify-layer/jurnal-arbore.mjs | 42 +- verify-layer/proba-sidecar.mjs | 5 + verify-layer/sidecar.mjs | 54 +- 111 files changed, 15871 insertions(+), 292 deletions(-) create mode 100644 conformance/vectori/agent-ledger/four-entries.anchor.json create mode 100644 conformance/vectori/agent-ledger/four-entries.approvals.json create mode 100644 conformance/vectori/agent-ledger/four-entries.body.json create mode 100644 conformance/vectori/agent-ledger/four-entries.chain.json create mode 100644 conformance/vectori/agent-ledger/four-entries.decision.json create mode 100644 conformance/vectori/agent-ledger/four-entries.hash.json create mode 100644 conformance/vectori/agent-ledger/four-entries.identity.json create mode 100644 conformance/vectori/agent-ledger/four-entries.key-classical.json create mode 100644 conformance/vectori/agent-ledger/four-entries.key.json create mode 100644 conformance/vectori/agent-ledger/four-entries.ledger-form.json create mode 100644 conformance/vectori/agent-ledger/four-entries.other-policy.json create mode 100644 conformance/vectori/agent-ledger/four-entries.policy.json create mode 100644 conformance/vectori/agent-ledger/four-entries.revocation.json create mode 100644 conformance/vectori/agent-ledger/four-entries.seq.json create mode 100644 conformance/vectori/agent-ledger/four-entries.session.json create mode 100644 conformance/vectori/agent-ledger/four-entries.signature.json create mode 100644 conformance/vectori/agent-ledger/four-entries.time.json create mode 100644 conformance/vectori/agent-ledger/four-entries.valid.json create mode 100644 conformance/vectori/ai-trust/fresh-agent.action-refused.json create mode 100644 conformance/vectori/ai-trust/fresh-agent.ledger-time-mismatch.json create mode 100644 conformance/vectori/ai-trust/fresh-agent.partial.json create mode 100644 conformance/vectori/ai-trust/recorded-28001.provenance-finality.json create mode 100644 conformance/vectori/ai-trust/recorded-28001.valid.json create mode 100644 conformance/vectori/ai-trust/recorded-28001.witness-head.json create mode 100644 conformance/vectori/ai-trust/recorded.audit-head.json create mode 100644 conformance/vectori/ai-trust/recorded.audit-log-broken.json create mode 100644 conformance/vectori/ai-trust/recorded.form.json create mode 100644 conformance/vectori/ai-trust/recorded.identity-key.json create mode 100644 conformance/vectori/ai-trust/recorded.identity-mismatch.json create mode 100644 conformance/vectori/ai-trust/recorded.ledger-invalid.json create mode 100644 conformance/vectori/ai-trust/recorded.output-not-in-ledger.json create mode 100644 conformance/vectori/ai-trust/recorded.partial.json create mode 100644 conformance/vectori/ai-trust/recorded.policy-hash.json create mode 100644 conformance/vectori/ai-trust/recorded.policy.json create mode 100644 conformance/vectori/ai-trust/recorded.provenance-envelope.json create mode 100644 conformance/vectori/ai-trust/recorded.runtime-after-output.json create mode 100644 conformance/vectori/ai-trust/recorded.runtime-artifact-mismatch.json create mode 100644 conformance/vectori/ai-trust/recorded.runtime-not-in-audit-log.json create mode 100644 conformance/vectori/ai-trust/recorded.runtime-record.json create mode 100644 conformance/vectori/ai-trust/recorded.version-artifact-mismatch.json create mode 100644 conformance/vectori/ai-trust/recorded.version-attestation.json create mode 100644 conformance/vectori/ai-trust/recorded.version-label-mismatch.json create mode 100644 conformance/vectori/audit-consistency/four-to-six.consistency-end.json create mode 100644 conformance/vectori/audit-consistency/four-to-six.consistency-start.json create mode 100644 conformance/vectori/audit-consistency/four-to-six.consistency.json create mode 100644 conformance/vectori/audit-consistency/four-to-six.valid.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.head-form.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.head-hash.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-entry.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-envelope.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-head.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-index.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-leaf.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.inclusion-path.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.proof-form.json create mode 100644 conformance/vectori/audit-inclusion/entry-2.valid.json create mode 100644 conformance/vectori/audit-log/head-at-four.head-form.json create mode 100644 conformance/vectori/audit-log/head-at-four.head-hash.json create mode 100644 conformance/vectori/audit-log/head-at-four.head-rewritten.json create mode 100644 conformance/vectori/audit-log/head-at-four.head-short.json create mode 100644 conformance/vectori/audit-log/head-at-four.valid.json create mode 100644 conformance/vectori/audit-log/signed-head.head-key.json create mode 100644 conformance/vectori/audit-log/signed-head.head-scheme-classical-key.json create mode 100644 conformance/vectori/audit-log/signed-head.head-scheme.json create mode 100644 conformance/vectori/audit-log/signed-head.head-signature.json create mode 100644 conformance/vectori/audit-log/signed-head.head-signer.json create mode 100644 conformance/vectori/audit-log/signed-head.head-unsigned.json create mode 100644 conformance/vectori/audit-log/signed-head.valid.json create mode 100644 conformance/vectori/audit-log/six-entries.chain.json create mode 100644 conformance/vectori/audit-log/six-entries.entry.json create mode 100644 conformance/vectori/audit-log/six-entries.hash.json create mode 100644 conformance/vectori/audit-log/six-entries.seq.json create mode 100644 conformance/vectori/audit-log/six-entries.valid.json create mode 100644 conformance/vectori/envelope/data.form-list.json create mode 100644 conformance/vectori/envelope/data.form-not-json.json create mode 100644 conformance/vectori/envelope/data.form-null.json create mode 100644 conformance/vectori/envelope/data.form-number.json create mode 100644 conformance/vectori/envelope/data.form-statement-list.json create mode 100644 conformance/vectori/envelope/data.form-string.json create mode 100644 conformance/vectori/envelope/data.form-true.json create mode 100644 conformance/vectori/envelope/signed-head.signature-classical-key.json create mode 100644 conformance/vectori/envelope/signed-head.signature-no-key.json create mode 100644 conformance/vectori/envelope/signed-head.signature-not-object.json create mode 100644 conformance/vectori/market-timeline/s1-28001.proof-claim-early.json diff --git a/README.md b/README.md index ed7363c..0c39e35 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ notarization command of the verification layer, and the agents' x402 wallet (EIP | [`market-settlement/`](market-settlement/) | the dispute and settlement rail of a verifiable infrastructure market, measured end to end on testnet 28001: an order with its reward in escrow and a provider bond, the result committed on chain with its execution envelope notarized under a post-quantum certified anchor, a challenge window in which anyone disputes with a recomputed result and a bond, an arbiter that can only route the escrow (with a permissionless 14-day timeout), deadline reclaims, and an AIP-23 settlement receipt; a pure judge over the job's timeline that checks deadlines, the window, who resolved, the payout, the replay and the proof | | [`verifiable-data/`](verifiable-data/) | a dataset whose every answer is checkable against a short commitment without the data: RFC 9162 commitments per version (append-only, consistency proofs), equality and range queries proven correct AND complete (contiguous run of a sorted index plus its two neighbours), hash-based selective disclosure of fields, availability sampling against the serving endpoint, and the version's AIP-23 envelope notarized and read back under a post-quantum certified anchor; not zero knowledge, and says so | | [`ai-trust/`](ai-trust/) | the trust chain of an AI result: the agent's identity (agents/), the model artifact's attestation, the host's runtime record (verify-layer/), the policy and signed ledger, the Proof of AI envelope and the chain as witness, joined in one bundle whose verifier checks only the links between them | -| [`conformance/`](conformance/) | a conformance suite for the AIP-23 proof kinds: one verdict form over the verifiers published here (four levels: integrity, authenticity, anchoring, finality; each passed, failed or not measured, with the named rule), 122 vectors derived from the producers and from evidence recorded on testnet 28001 (each invalid one is one operation away from a valid one and must be refused for exactly its named rule), and a runner that scores any implementation given as a command, in any language. Not a certification and not an audit | +| [`conformance/`](conformance/) | a conformance suite for the AIP-23 proof kinds: one verdict form over the verifiers published here (four levels: integrity, authenticity, anchoring, finality; each passed, failed or not measured, with the named rule), 97 rules of nine verifiers read from their code, 206 vectors derived from the producers and from evidence recorded on testnet 28001 (each invalid one is one operation away from a valid one and must be refused for exactly its named rule), and a runner that scores any implementation given as a command, in any language; a second implementation in Python covers 6 of the 97 rules. Not a certification and not an audit | | [`identity/`](identity/) | post-quantum credentials: an issuer signs claims (hybrid Ed25519 + ML-DSA-65, both required), the holder shows only the claims it picks (selective disclosure in the manner of SD-JWT, RFC 9901, in a format of its own), bound to the verifier's audience and nonce; delegation to a phone, an agent or a ten-minute session key that can only narrow; revocation and an issuer status list in the manner of W3C Bitstring Status List; all checked offline from the files; and compliance without surveillance: a verifier's policy (issuers, required claims) judged on a presentation, recorded as an AIP-23 envelope that carries no personal data; and the Travel Rule between VASPs, the IVMS101 data sealed for the receiving VASP with a hybrid X25519 + ML-KEM-768 key encapsulation, signed, bound to the transfer and acknowledged; and the same credentials as standard SD-JWT (IETF RFC 9901): issued with the issuer's Ed25519 key (EdDSA) or its ML-DSA-65 key, presented with a key binding JWT, and verified against the RFC's own example vectors (`identity-cli.mjs verify-sdjwt`, behind Aere Cloud's POST /v1/identity/sd-jwt/verify) | Each component's README says what it is **not** and what is **not measured**. No third party has reviewed any of them. @@ -37,18 +37,18 @@ test, counts as a failure of the control. Results measured on 2026-09-29 (Node.j | pq-kms | 62/62 (`node test/proba.mjs`); HSM root on SoftHSM2 + OpenSC 20/20 (`test/proba-hsm.mjs`, Linux); sealed-file trust rules 7/7 (`test/proba-hsm-incredere.mjs`) | 16/16 (`node test/control-negativ.mjs`); sealed-file rules 2/2 in this repository (`test/control-negativ-hsm-incredere.mjs`) | | pq-pki | 27/27 (`node test/proba.mjs`), each verdict compared with OpenSSL 3.5 | 22/22 (`node test/control-negativ.mjs`) | | crypto-inventory | 37/37 (`node test/proba.mjs`); cost on hostile input 8/8 linear (`node test/proba-timp.mjs`) | 18/18 (`node test/control-negativ.mjs`); cost 3/3 in this repository (`node test/control-negativ-timp.mjs`; its fourth case compares with version 0.1.0 from the development history and is skipped here) | -| verify-layer | 44/44 with the AIP-23 reference verifier (`AERE_VERIFY_PROOF= node proba-sidecar.mjs`); without it 39 run, 5 are reported as skipped and the exit code is 2; the Merkle tree 20/20 (`node proba-arbore.mjs`: the reference roots of Certificate Transparency, every proof up to 64 leaves, each attack), measured 2026-09-30 | 9/9 in this repository (`node control-negativ-sidecar.mjs`; its tenth case compares with the version from the development history and is skipped here); the tree 14/14 (`node control-negativ-arbore.mjs`) | +| verify-layer | 45/45 with the AIP-23 reference verifier, measured 2026-10-05 (`AERE_VERIFY_PROOF= node proba-sidecar.mjs`); without it 40 run, 5 are reported as skipped and the exit code is 2; the Merkle tree 20/20 (`node proba-arbore.mjs`: the reference roots of Certificate Transparency, every proof up to 64 leaves, each attack), measured 2026-09-30 | 10/10 in this repository on 2026-10-05 (`node control-negativ-sidecar.mjs`; its eleventh case compares with the version from the development history and is skipped here); the tree 14/14 (`node control-negativ-arbore.mjs`) | | proof-kinds | 24/24 with the same verifier (`AERE_VERIFY_PROOF=... node proba-proof-kinds.mjs`) | six negative controls inside the test | | readiness | 6/6 (`node proba-adrese-private.mjs`: the private-address rules, and a local listener no scan may touch) | the rate limit and the queue bound are tested where the service runs, not here (its README says so) | | control-plane | planner 30/30, command line 9/9, execution 30/30 on real products started locally, remediation 33/33 on real TLS servers, compliance report 27/27 (with the AIP-23 verifier), console 8/8; the console viewer in a real Chromium, phone and desktop, 26/26 (`node proba-consola-web.mjs`, measured 2026-09-30; needs `playwright-core` and a Chromium, otherwise it exits 2) | remediation 7/7, compliance report 3/3 in this repository; viewer 8/8 (`node control-negativ-consola-web.mjs`) | | identity | 44/44 (`node proba-identity.mjs`, with the AIP-23 verifier for its envelope test; without it that test is reported as skipped and the exit code is 2), compliance 15/15 (`node proba-conformitate.mjs`), Travel Rule 19/19 (`node proba-travel-rule.mjs`), SD-JWT 23/23 (`node proba-sdjwt.mjs`, the RFC 9901 vectors included), measured 2026-09-30 | 49/49 (`node control-negativ-identity.mjs`); compliance 14/14 (`node control-negativ-conformitate.mjs`); Travel Rule 19/19 (`node control-negativ-travel-rule.mjs`); SD-JWT 28/28 (`node control-negativ-sdjwt.mjs`) | -| agents | policy 27/27 with the AIP-23 verifier (without it 25 run, 2 are reported as skipped and the exit code is 2), ledger 51/51, approval and revocation 39/39, the chain as witness 26/26 without a network and 7/7 on testnet 28001 on 2026-09-30 (`proba-agent-ancora-testnet.mjs`, needs a funded testnet key and the AIP-23 verifier), command line 23/23 through files and processes only (on Linux and macOS one more test checks the key file mode; not measured here); x402 wallet 25/25, 2-of-2 co-signing 16/16 and payment verifier 14/14 without a network; on the public testnet 28001, 9/9 with the wallet key and 13/13 with the 2-of-2 contract wallet (`x402/proba-x402-testnet.mjs`, `x402/proba-cosign-testnet.mjs`, each needs a funded testnet key); the contract's artifact recompiles byte for byte with solc 0.8.23 (`node x402/recompileaza-contract.mjs --solc `) | 26/26 (`node control-negativ-aprobare.mjs`); the chain as witness 11/11 (`node control-negativ-ancora.mjs`); x402 30/30 (`node x402/control-negativ-wallet.mjs`); the contract's own tests (7) and their negative control (4/4) run in the Aere Network contracts project, not in this repository | +| agents | policy 27/27 with the AIP-23 verifier (without it 25 run, 2 are reported as skipped and the exit code is 2), ledger 54/54 on 2026-10-05, approval and revocation 39/39, the chain as witness 26/26 without a network and 7/7 on testnet 28001 on 2026-09-30 (`proba-agent-ancora-testnet.mjs`, needs a funded testnet key and the AIP-23 verifier), command line 23/23 through files and processes only (on Linux and macOS one more test checks the key file mode; not measured here); x402 wallet 25/25, 2-of-2 co-signing 16/16 and payment verifier 14/14 without a network; on the public testnet 28001, 9/9 with the wallet key and 13/13 with the 2-of-2 contract wallet (`x402/proba-x402-testnet.mjs`, `x402/proba-cosign-testnet.mjs`, each needs a funded testnet key); the contract's artifact recompiles byte for byte with solc 0.8.23 (`node x402/recompileaza-contract.mjs --solc `) | 26/26 (`node control-negativ-aprobare.mjs`); the chain as witness 11/11 (`node control-negativ-ancora.mjs`); x402 30/30 (`node x402/control-negativ-wallet.mjs`); the contract's own tests (7) and their negative control (4/4) run in the Aere Network contracts project, not in this repository | | proof-of-ai | 6/6 with the AIP-23 verifier (`AERE_VERIFY_PROOF=... node proba-proof-of-ai.mjs`); without it the probe reports NEMASURAT and exits 2 | one negative control inside the test (an envelope touched after its hash: INVALID) | | payments | 23/23 without a chain (`node proba-risc.mjs`: the verdicts under a policy, the reproducible verdict hash, a receipt verified, nine forged ones refused by name, a malformed payment refused by name); 9/9 on testnet 28001 on 2026-10-02 (`AERE_TESTNET_KEY_FILE=... AERE_ETHERS_DIR=... node proba-plata-28001.mjs`: a payment allowed, paid, its receipt notarized and read back with finality PASSED, the public reader VALID; a payment above the limit refused with nothing sent; the fourth in the window refused; a forged receipt and a loosened policy INVALID) | 10/10 (`node proba-risc.mjs --control-negativ`: form, asset, counterparty, rate, per-payment limit, window, linkage, USD arithmetic, verdict reproduction, chain facts, each planted out on a copy and each forged fixture then accepted) | -| market-settlement | 20/20 on testnet 28001 on 2026-10-02 (`AERE_TESTNET_KEY_FILE=... AERE_ETHERS_DIR=... node proba-piata-28001.mjs`: five scenarios on AereComputeMarketV3 deployed from the committed artifact, every refusal by its named custom error, the provider's notarized envelope read back under a post-quantum certified anchor); the judge on the recorded timelines 21/21 without a chain (`node proba-judecata.mjs`: five honest timelines VALID, fifteen forged or malformed ones INVALID for their named reason, the settlement receipt) | 10/10 (`node proba-judecata.mjs --control-negativ`: form, completeness of the timeline, posting, deadline, window, arbiter, payout, result bytes, replay, proof, each planted out on a copy and each forged fixture then accepted) | +| market-settlement | 20/20 on testnet 28001 on 2026-10-02 (`AERE_TESTNET_KEY_FILE=... AERE_ETHERS_DIR=... node proba-piata-28001.mjs`: five scenarios on AereComputeMarketV3 deployed from the committed artifact, every refusal by its named custom error, the provider's notarized envelope read back under a post-quantum certified anchor); the judge on the recorded timelines 26/26 without a chain (`node proba-judecata.mjs`: seven honest readings VALID, eighteen forged or malformed ones INVALID for their named reason, the settlement receipt) | 10/10 (`node proba-judecata.mjs --control-negativ`: form, completeness of the timeline, posting, deadline, window, arbiter, payout, result bytes, replay, proof, each planted out on a copy and each forged fixture then accepted) | | verifiable-data | 23/23 with the AIP-23 verifier (`AERE_VERIFY_PROOF=... node proba-verifiable-data.mjs`: honest answers VALID, ten forged or malformed ones INVALID for their named reason, availability sampling on a local server; the envelope row is NEMASURAT without the verifier, exit 2); the two chain rows of `--viu` measured on testnet 28001 on 2026-10-02 (a version notarized with a test key and read back under a post-quantum certified anchor; evidence in `dovezi/`) | 5/5 (`node proba-verifiable-data.mjs --control-negativ`: field commitment, index order, completeness, consistency, sampling, each planted out on a copy and each forged fixture then accepted) | | ai-trust | 13/13 with the AIP-23 verifier (`AERE_VERIFY_PROOF=... node proba-lant-de-incredere.mjs`: the whole chain on a committed fixture, then ten links broken on purpose, each refused for its named reason); without the verifier it exits 2 | 8/8 (`node proba-lant-de-incredere.mjs --control-negativ`) | -| conformance | 10/10 on 2026-10-03 with the AIP-23 verifier, Python 3 and testnet 28001 read (`AERE_VERIFY_PROOF=... node proba-conformance.mjs --online`: the rules and the vectors are what the code derives, every rule has a vector, every invalid vector is one operation from its base, the published verifiers pass 122/122, an independent Python implementation passes the 55 it claims, 6,847 malformed inputs each get a verdict); without `--online` the five chain vectors are reported unmeasured and the exit code is 2 | 35/35 rules (`node proba-conformance.mjs --control-negativ --online`: each rule planted out of its verifier in a copy; the vectors that expect it, and only they, must fail), then five controls of the instruments | +| conformance | 10/10 on 2026-10-05 with the AIP-23 verifier, Python 3 and testnet 28001 read (`AERE_VERIFY_PROOF=... node proba-conformance.mjs --online`: the rules and the vectors are what the code derives, every rule has a vector, every invalid vector is one operation from its base, the published verifiers pass 206/206, an independent Python implementation passes the 62 it claims and the other 144 are reported not covered, 9,333 malformed inputs each get a verdict); without `--online` the nine chain vectors are reported unmeasured and the exit code is 2 | 97/97 rules (`node proba-conformance.mjs --control-negativ --online`: each rule planted out of its verifier in a copy; the vectors that expect it, and only they, must fail), then five controls of the instruments | Code comments, most function and variable names (also many exported between the files of a component), test names and control messages are in Romanian, and so are the two command words of the KMS HSM tool (explained in its README). Error codes, error @@ -57,4 +57,4 @@ interface, command line and data (`definePolicy`, `verifyLedger`, `approve`, ... ## Licence -MIT, see [LICENSE](LICENSE). Files: 325 (pq-gateway 6, pq-kms 10, pq-pki 6, crypto-inventory 42, verify-layer 12, proof-kinds 3, control-plane 19, agents 39, identity 15, proof-of-ai 3, ai-trust 6, verifiable-data 7, market-settlement 9, payments 8, conformance 134, readiness 4). +MIT, see [LICENSE](LICENSE). Files: 409 (pq-gateway 6, pq-kms 10, pq-pki 6, crypto-inventory 42, verify-layer 12, proof-kinds 3, control-plane 19, agents 39, identity 15, proof-of-ai 3, ai-trust 6, verifiable-data 7, market-settlement 9, payments 8, conformance 218, readiness 4). diff --git a/agents/README.md b/agents/README.md index 0975841..95cfc67 100644 --- a/agents/README.md +++ b/agents/README.md @@ -99,6 +99,11 @@ key's account) unless `AERE_CONFIRM_MAINNET=yes`. ledger cannot continue it without looking like a branch: keep the ledger durable, or start under a new policy. - **Revocation time** is the owner's statement, as the agent's entry times are the agent's. - Nothing here proves that the actions happened in the world, only what the agent recorded and whether the policy allowed it. +- **Corrected on 2026-10-03: the agent key must be an ML-DSA-65 key.** Until then `verifyLedger` did not require it: the agent id + is derived from any key and the signature check accepts whatever key it is given, so a ledger written and signed with an Ed25519 + key verified as the ledger of a post-quantum identity, and `openLedger` opened one for such a key. Found while this verifier was + enrolled in the conformance suite (`conformance/`), where it is now a vector. Both now refuse by name. Every refusal of + `verifyLedger` also carries a rule id from a declared list (`REGULI`, the field `rule`). ## Tests @@ -107,7 +112,7 @@ Measured on 2026-09-29 (Node.js 24.14.1, Windows): | test | result | |---|---| | `node proba-agent-policy.mjs` | 27/27 with the AIP-23 reference verifier (`AERE_VERIFY_PROOF=`); without it 25 run, 2 are reported as skipped and the exit code is 2 | -| `node proba-agent-ledger.mjs` | 51/51: limits over the ledger, identity, tampering, a re-signed false decision, a looser policy under the real hash, backdating (refused when written; caught with anchors or `notBefore`), a branch, equivocation proofs, resuming | +| `node proba-agent-ledger.mjs` | 54/54 (measured 2026-10-05): a ledger written and signed with a classical key refused by name, by the verifier and by the writer; limits over the ledger, identity, tampering, a re-signed false decision, a looser policy under the real hash, backdating (refused when written; caught with anchors or `notBefore`), a branch, equivocation proofs, resuming | | `node proba-agent-aprobare.mjs` | 39/39: threshold, unnamed or repeated approvers, classical keys, another action or other tool arguments, reused nonces (also after a restart), expiry, approvals across branches, revocation, an omitted revocation | | `node proba-agent-cli.mjs` | 23/23 on Windows, through files and processes only; on Linux and macOS one more test checks the 0600 mode of the key (not measured here) | | `node proba-agent-ancora.mjs` | 26/26 without a network (the AIP-23 verifier's answer in its own form): the head, the time read from the finality level (pending, failed, a mismatched or unknown form: no anchor), an envelope that claims another time, backdating caught with the anchor and not without it, another branch, the refusals before any transaction (a modified head, chain 2800 without confirmation, no contract at the notary) | diff --git a/agents/agent-ledger.mjs b/agents/agent-ledger.mjs index f887bcc..49463d3 100644 --- a/agents/agent-ledger.mjs +++ b/agents/agent-ledger.mjs @@ -90,6 +90,7 @@ export function sessionId(agentId, policyHash) { return sha(`aere-agent-ledger-s const ceasulLocal = () => Math.floor(Date.now() / 1000); function pregateste({ identity, policy: politicaData, policyHash: hashDat }) { if (!identity || !identity.privateKey || !identity.publicKey) throw new Error('agent-ledger: an identity with privateKey and publicKey is required'); + if (identity.publicKey.asymmetricKeyType !== ALG || identity.privateKey.asymmetricKeyType !== ALG) throw new Error('agent-ledger: the identity key is not ML-DSA-65'); if (identity.agentId !== agentIdFromKey(identity.publicKey)) throw new Error('agent-ledger: agentId is not derived from the identity key'); const { policy, policyHash } = hashPolicy(politicaData); if (hashDat != null && String(hashDat).toLowerCase() !== policyHash) throw new Error('agent-ledger: the policy does not hash to the policyHash given'); @@ -214,32 +215,41 @@ function registru(identity, { policy, policyHash }, now, entries, revocatInitial * @param {number} [o.anchorTolerance] cat poate intarzia martorul fata de scriere (implicit TOLERANTA_S) * @returns {{ok:boolean, seq?:number, error?:string, allowedPayments?:number, spent?:string, humanApproved?:number, revocations:object, time:object}} */ +/** The rules verifyLedger names: every refusal carries `rule`, one of these (the helper throws on any other). Each check of a rule + * carries its marker, so that a conformance suite can take the rule out, in a copy, and see which of its vectors then pass. */ +export const REGULI = ['registru', 'politica', 'alta-politica', 'sesiune', 'cheie', 'identitate', 'ancora', 'seq', 'lant', 'corp', 'semnatura', 'hash', 'timp', 'revocare', 'aprobari', 'decizie']; export function verifyLedger(ledger, { policy: politicaData, policyHash: hashFixat, maxTime = Math.floor(Date.now() / 1000) + TOLERANTA_S, revocations = [], anchors = [], notBefore = null, anchorTolerance = TOLERANTA_S } = {}) { const timp = { maxTime: Number(maxTime), notBefore: notBefore == null ? null : Number(notBefore), anchors: (anchors || []).length, lowerBound: notBefore != null || (anchors || []).length ? 'witnessed' : 'none: entry times are the statement of the agent key holder' }; const rezultat = (x, extra = {}) => ({ ...x, ...extra, time: timp }); - if (!ledger || !Array.isArray(ledger.entries)) return rezultat({ ok: false, error: 'a ledger with entries is required' }); - let policy, policyHash; - try { ({ policy, policyHash } = hashPolicy(politicaData)); } catch (e) { return rezultat({ ok: false, error: `the policy given is not valid: ${e.message}` }); } - if (hashFixat != null && String(hashFixat).toLowerCase() !== policyHash) return rezultat({ ok: false, error: 'the policy given does not hash to the pinned policyHash (a different policy)' }); + const refuz = (rule, error, extra = {}, seq = undefined) => { if (!REGULI.includes(rule)) throw new Error('agent-ledger: undeclared rule ' + rule); return rezultat({ ok: false, ...(seq === undefined ? {} : { seq }), rule, error }, extra); }; + if (!(!!ledger && Array.isArray(ledger.entries) /*PAZA:registru*/)) return refuz('registru', 'a ledger with entries is required'); + let policy = null, policyHash = null, politicaRea = null; + try { ({ policy, policyHash } = hashPolicy(politicaData)); } catch (e) { politicaRea = e.message; } + if (!(politicaRea === null /*PAZA:politica*/)) return refuz('politica', `the policy given is not valid: ${politicaRea}`); + if (!(hashFixat == null || String(hashFixat).toLowerCase() === policyHash /*PAZA:politica*/)) return refuz('politica', 'the policy given does not hash to the pinned policyHash (a different policy)'); const ext = validRevocations(revocations, { policy, policyHash }); let revokedAt = ext.revokedAt; const judecat = () => ({ revocations: { given: (revocations || []).length, rejected: ext.rejected.length, revokedAt, setHash: ext.setHash } }); - if (String(ledger.policyHash).toLowerCase() !== policyHash) return rezultat({ ok: false, error: 'the ledger names another policy (policyHash differs)' }, judecat()); - if (ledger.session !== sessionId(ledger.agentId, policyHash)) return rezultat({ ok: false, error: 'the ledger session is not the one derived from the agent and the policy' }, judecat()); - let pub; - try { pub = crypto.createPublicKey(ledger.publicKeyPem); } catch { return rezultat({ ok: false, error: 'the public key cannot be read' }, judecat()); } - if (ledger.agentId !== agentIdFromKey(pub)) return rezultat({ ok: false, error: 'agentId is not derived from the public key (false identity)' }, judecat()); - if (policy.agentId !== ledger.agentId) return rezultat({ ok: false, error: 'the policy belongs to another agent' }, judecat()); + if (!(String(ledger.policyHash).toLowerCase() === policyHash /*PAZA:alta-politica*/)) return refuz('alta-politica', 'the ledger names another policy (policyHash differs)', judecat()); + if (!(ledger.session === sessionId(ledger.agentId, policyHash) /*PAZA:sesiune*/)) return refuz('sesiune', 'the ledger session is not the one derived from the agent and the policy', judecat()); + let pub = null; try { pub = crypto.createPublicKey(ledger.publicKeyPem); } catch { pub = null; } + if (!(pub !== null /*PAZA:cheie*/)) return refuz('cheie', 'the public key cannot be read', judecat()); + // The agent's key must BE an ML-DSA-65 key. The id is derived from whatever key is shown and crypto.verify(null, ...) verifies with + // whatever key it is handed: until 2026-10-03 a ledger whose "agent identity" was an Ed25519 (or RSA, or P-256) key verified here + // as the ledger of a post-quantum identity. + if (!(!!pub && pub.asymmetricKeyType === ALG /*PAZA:cheie*/)) return refuz('cheie', `the agent key is ${pub ? pub.asymmetricKeyType : 'unreadable'}, not ML-DSA-65: an agent identity is an ML-DSA-65 key`, judecat()); + if (!(!!pub && ledger.agentId === agentIdFromKey(pub) /*PAZA:identitate*/)) return refuz('identitate', 'agentId is not derived from the public key (false identity)', judecat()); + if (!(policy.agentId === ledger.agentId /*PAZA:alta-politica*/)) return refuz('alta-politica', 'the policy belongs to another agent', judecat()); // ancorele: fiecare numeste o intrare a ACESTUI registru (altfel e alta ramura sau alt registru) const anc = []; for (const a of anchors || []) { const s = Number(a && a.seq); - if (!Number.isInteger(s) || s < 0 || s >= ledger.entries.length) return rezultat({ ok: false, error: `anchor at seq ${a && a.seq} is outside the ledger` }, judecat()); - if (!ledger.entries[s] || ledger.entries[s].hash !== a.hash) return rezultat({ ok: false, seq: s, error: `anchor at seq ${s} does not match the ledger (another branch or another ledger)` }, judecat()); - if (!Number.isFinite(Number(a.at))) return rezultat({ ok: false, error: `anchor at seq ${s} has no time` }, judecat()); - anc.push({ seq: s, at: Number(a.at) }); + if (!(Number.isInteger(s) && s >= 0 && s < ledger.entries.length /*PAZA:ancora*/)) return refuz('ancora', `anchor at seq ${a && a.seq} is outside the ledger`, judecat()); + if (!(!!ledger.entries[s] && !!a && ledger.entries[s].hash === a.hash /*PAZA:ancora*/)) return refuz('ancora', `anchor at seq ${s} does not match the ledger (another branch or another ledger)`, judecat(), s); + if (!(!!a && Number.isFinite(Number(a.at)) /*PAZA:ancora*/)) return refuz('ancora', `anchor at seq ${s} has no time`, judecat()); + anc.push({ seq: s, at: Number(a && a.at) }); } const tol = Number(anchorTolerance); let prev = GEN, humanApproved = 0; @@ -247,44 +257,44 @@ export function verifyLedger(ledger, { policy: politicaData, policyHash: hashFix const permise = []; // cheltuielile permise re-derivate, pentru fereastra for (let i = 0; i < ledger.entries.length; i++) { const e = ledger.entries[i]; - const esec = (error) => rezultat({ ok: false, seq: i, error }, judecat()); - if (e.seq !== i) return esec(`seq ${e.seq} instead of ${i}`); - if (e.prev !== prev) return esec('prev does not link to the previous hash (an entry was removed or reordered)'); + const esec = (rule, error) => refuz(rule, error, judecat(), i); + if (!(!!e && e.seq === i /*PAZA:seq*/)) return esec('seq', `seq ${e && e.seq} instead of ${i}`); + if (!(e.prev === prev /*PAZA:lant*/)) return esec('lant', 'prev does not link to the previous hash (an entry was removed or reordered)'); const b = e.body; - if (!b || b.v !== 2 || b.seq !== i || b.agentId !== ledger.agentId || b.session !== ledger.session) return esec('the entry body does not match its header (agent, session or seq)'); - if (String(b.policyHash).toLowerCase() !== policyHash) return esec('the entry names another policy'); + if (!(!!b && b.v === 2 && b.seq === i && b.agentId === ledger.agentId && b.session === ledger.session /*PAZA:corp*/)) return esec('corp', 'the entry body does not match its header (agent, session or seq)'); + if (!(!!b && String(b.policyHash).toLowerCase() === policyHash /*PAZA:alta-politica*/)) return esec('alta-politica', 'the entry names another policy'); const mesaj = Buffer.from(`${i}|${prev}|${canonical(b)}`, 'utf8'); let sigOk = false; try { sigOk = crypto.verify(null, mesaj, pub, Buffer.from(String(e.signature), 'base64')); } catch { sigOk = false; } - if (!sigOk) return esec('the signature does not verify (content changed or another key)'); + if (!(sigOk /*PAZA:semnatura*/)) return esec('semnatura', 'the signature does not verify (content changed or another key)'); const hash = sha(`${i}|${prev}|${canonical(b)}|${e.signature}`); - if (hash !== e.hash) return esec('the entry hash does not reproduce'); + if (!(hash === e.hash /*PAZA:hash*/)) return esec('hash', 'the entry hash does not reproduce'); // timpul: nedescrescator, sub marginea de sus, peste marginea de jos si intre ancorele care il incadreaza const atI = Number(b.at); - if (!Number.isFinite(atI) || !b.action || Number(b.action.at) !== atI) return esec('the entry time is missing or differs from the time judged'); - if (i > 0 && atI < Number(ledger.entries[i - 1].body.at)) return esec('entry times go backwards'); - if (atI > Number(maxTime)) return esec(`entry from the future: ${atI} > ${maxTime} (the verifier clock or an anchored head)`); - if (notBefore != null && atI < Number(notBefore)) return esec(`entry declares ${atI}, before the witnessed start ${notBefore}`); + if (!(Number.isFinite(atI) && !!b.action && Number(b.action.at) === atI /*PAZA:timp*/)) return esec('timp', 'the entry time is missing or differs from the time judged'); + if (!(i === 0 || atI >= Number(ledger.entries[i - 1].body.at) /*PAZA:timp*/)) return esec('timp', 'entry times go backwards'); + if (!(atI <= Number(maxTime) /*PAZA:timp*/)) return esec('timp', `entry from the future: ${atI} > ${maxTime} (the verifier clock or an anchored head)`); + if (!(notBefore == null || atI >= Number(notBefore) /*PAZA:timp*/)) return esec('timp', `entry declares ${atI}, before the witnessed start ${notBefore}`); for (const a of anc) { - if (i <= a.seq && atI > a.at + tol) return esec(`entry declares ${atI}, after the anchor at seq ${a.seq} that covers it was witnessed (${a.at})`); - if (i > a.seq && atI < a.at - tol) return esec(`entry declares ${atI}, before the anchor at seq ${a.seq} that precedes it was witnessed (${a.at}): backdated`); + if (!(!(i <= a.seq && atI > a.at + tol) /*PAZA:timp*/)) return esec('timp', `entry declares ${atI}, after the anchor at seq ${a.seq} that covers it was witnessed (${a.at})`); + if (!(!(i > a.seq && atI < a.at - tol) /*PAZA:timp*/)) return esec('timp', `entry declares ${atI}, before the anchor at seq ${a.seq} that precedes it was witnessed (${a.at}): backdated`); } // o intrare de revocare: revocarea din ea trebuie sa verifice, si ea nu permite nimic if (b.revocation !== undefined) { const r = verifyRevocation(b.revocation, { policy, policyHash }); - if (!r.ok) return esec(`the revocation entry carries a revocation that does not verify (${r.error})`); - if (b.action.kind !== 'revocation' || Number(b.action.revokedAt) !== r.revokedAt || b.decision.allowed) return esec('the revocation entry does not say what it carries'); + if (!(r.ok /*PAZA:revocare*/)) return esec('revocare', `the revocation entry carries a revocation that does not verify (${r.error})`); + if (!(b.action.kind === 'revocation' && Number(b.action.revokedAt) === r.revokedAt && !b.decision.allowed /*PAZA:revocare*/)) return esec('revocare', 'the revocation entry does not say what it carries'); revokedAt = revokedAt == null ? r.revokedAt : Math.min(revokedAt, r.revokedAt); prev = hash; continue; } - if (b.action.kind === 'revocation') return esec('a revocation entry without the revocation'); - if (b.approvals !== undefined && !(Array.isArray(b.approvals) && b.approvals.length)) return esec('the approvals field is empty or not a list'); + if (!(b.action.kind !== 'revocation' /*PAZA:revocare*/)) return esec('revocare', 'a revocation entry without the revocation'); + if (!(b.approvals === undefined || (Array.isArray(b.approvals) && b.approvals.length > 0) /*PAZA:aprobari*/)) return esec('aprobari', 'the approvals field is empty or not a list'); const { valizi } = aprobatoriValizi(b.approvals, { policy, policyHash, action: b.action, at: atI, folosite }); for (const n of nonceuri(b.approvals)) folosite.add(n); const decizieReala = checkAction(policy, b.action, permise, { approvers: valizi, revokedAt }); - if (!b.decision || !!decizieReala.allowed !== !!b.decision.allowed) { - return esec(`false decision: the ledger says allowed=${b.decision && b.decision.allowed}, the policy gives allowed=${decizieReala.allowed} (${decizieReala.reason})`); + if (!(!!b.decision && !!decizieReala.allowed === !!b.decision.allowed /*PAZA:decizie*/)) { + return esec('decizie', `false decision: the ledger says allowed=${b.decision && b.decision.allowed}, the policy gives allowed=${decizieReala.allowed} (${decizieReala.reason})`); } if (decizieReala.allowed && decizieReala.approvedBy) humanApproved++; if (decizieReala.allowed && b.action.kind === 'payment') permise.push({ amount: String(b.action.amount), at: b.action.at }); diff --git a/agents/control-negativ-aprobare.mjs b/agents/control-negativ-aprobare.mjs index 40459a1..4a39578 100644 --- a/agents/control-negativ-aprobare.mjs +++ b/agents/control-negativ-aprobare.mjs @@ -27,12 +27,12 @@ const PLANTARI = [ ['revocarea nu mai cere proprietarul', 'agent-aprobare.mjs', "if (humanIdFromKey(k) !== policy.owner) return { ok: false, error: 'the revocation is not signed by the owner named in the policy' };", '', P.apr], ['aprobarea nu mai e legata de continutul actiunii', 'agent-aprobare.mjs', 'if (ap.actionHash !== actionHash(action)) return', 'if (false) return', P.apr], ['argumentele uneltei nu mai intra in continutul aprobat', 'agent-aprobare.mjs', 'if (a.args !== undefined) c.argsHash = sha(canonical(a.args));', '', P.apr], - ['verificatorul crede hash-ul dat in loc sa il recalculeze', 'agent-ledger.mjs', 'if (hashFixat != null && String(hashFixat).toLowerCase() !== policyHash) return', 'if (hashFixat != null) policyHash = String(hashFixat).toLowerCase(); if (false) return', P.reg], + ['verificatorul crede hash-ul dat in loc sa il recalculeze', 'agent-ledger.mjs', 'if (!(hashFixat == null || String(hashFixat).toLowerCase() === policyHash /*PAZA:politica*/)) return', 'if (hashFixat != null) policyHash = String(hashFixat).toLowerCase(); if (false) return', P.reg], ['registrul accepta la scriere o intrare antedatata', 'agent-ledger.mjs', 'if (Number(at) < acum - TOLERANTA_S) throw', 'if (false) throw', P.reg], - ['ancora nu mai margineste timpul de jos', 'agent-ledger.mjs', 'if (i > a.seq && atI < a.at - tol) return', 'if (false) return', P.reg], - ['ancora nu mai trebuie sa numeasca o intrare a registrului', 'agent-ledger.mjs', 'if (!ledger.entries[s] || ledger.entries[s].hash !== a.hash) return', 'if (false) return', P.reg], - ['verificatorul nu mai cere sesiunea registrului in intrare', 'agent-ledger.mjs', ' || b.session !== ledger.session) return', ') return', P.reg], - ['sesiunea registrului nu mai trebuie sa fie cea derivata', 'agent-ledger.mjs', 'if (ledger.session !== sessionId(ledger.agentId, policyHash)) return', 'if (false) return', P.reg], + ['ancora nu mai margineste timpul de jos', 'agent-ledger.mjs', 'if (!(!(i > a.seq && atI < a.at - tol) /*PAZA:timp*/)) return', 'if (false) return', P.reg], + ['ancora nu mai trebuie sa numeasca o intrare a registrului', 'agent-ledger.mjs', 'if (!(!!ledger.entries[s] && !!a && ledger.entries[s].hash === a.hash /*PAZA:ancora*/)) return', 'if (false) return', P.reg], + ['verificatorul nu mai cere sesiunea registrului in intrare', 'agent-ledger.mjs', ' && b.session === ledger.session /*PAZA:corp*/)) return', ' /*PAZA:corp*/)) return', P.reg], + ['sesiunea registrului nu mai trebuie sa fie cea derivata', 'agent-ledger.mjs', 'if (!(ledger.session === sessionId(ledger.agentId, policyHash) /*PAZA:sesiune*/)) return', 'if (false) return', P.reg], ['dovada de echivocare fara semnaturile agentului', 'agent-ledger.mjs', "if (!intrareSemnata(e, pub)) return { ok: false, error: 'an entry is not signed by the agent' };", '', P.reg], ['un registru atins se poate relua', 'agent-ledger.mjs', 'if (!v.ok) throw new Error(`agent-ledger: the ledger to resume does not verify', 'if (false) throw new Error(`agent-ledger: the ledger to resume does not verify', P.reg], ['reluarea uita nonce-urile folosite', 'agent-ledger.mjs', 'for (const e of entries) for (const n of nonceuri(e.body.approvals)) folosite.add(n);', '', P.apr], diff --git a/agents/proba-agent-ledger.mjs b/agents/proba-agent-ledger.mjs index 522ba91..767088b 100644 --- a/agents/proba-agent-ledger.mjs +++ b/agents/proba-agent-ledger.mjs @@ -11,6 +11,9 @@ const cer = (c, ce) => { linii.push((c ? 'OK ' : 'RAU ') + ce); c ? ok++ : ra const arunca = (fn) => { try { fn(); return null; } catch (e) { return e.message; } }; // identitate legata de cheie +// (20) martorul probei cheii clasice: un registru de o intrare al unei identitati ML-DSA-65 +const id20 = newAgentIdentity(); const polBun20 = definePolicy({ agentId: id20.agentId, tools: ['retrieval'] }); +const regBun20 = () => { const l = openLedger({ identity: id20, policy: polBun20.policy, policyHash: polBun20.policyHash, now: () => 6000 }); l.record({ kind: 'tool', tool: 'retrieval' }); return l.export(); }; const id = newAgentIdentity(); cer(id.agentId.startsWith('aere-agent:') && id.agentId === agentIdFromKey(id.publicKey), '1. agentId derivat din cheia publica'); const id2 = newAgentIdentity(); @@ -209,6 +212,22 @@ cer(!vt4.ok && /false identity/.test(vt4.error), `11. CONTROL: cheia publica inl cer(/another agent/.test(arunca(() => resumeLedger({ identity: idC, policy: pc.policy, ledger: regX, now: () => 5010 })) || ''), '19. CONTROL: registrul altui agent nu se poate relua'); } +// 20. o identitate de agent e o cheie ML-DSA-65: un registru scris cu o cheie CLASICA (Ed25519), cu agentId derivat din ea si fiecare +// intrare semnata de ea, e refuzat pe nume. Pana la 2026-10-03 verifica: id-ul se deriva din orice cheie, iar crypto.verify(null, ...) +// verifica cu orice cheie i se da, deci "identitatea post-cuantica" a agentului putea fi o cheie clasica. +{ + const { publicKey, privateKey } = crypto.generateKeyPairSync('ed25519'); const agentId = agentIdFromKey(publicKey); + const pc = definePolicy({ agentId, tools: ['retrieval'] }); const session = sessionId(agentId, pc.policyHash); const sha = (s) => crypto.createHash('sha256').update(Buffer.from(s, 'utf8')).digest('hex'); + const body = { v: 2, agentId, policyHash: pc.policyHash, session, at: 6000, action: { kind: 'tool', tool: 'retrieval', at: 6000 }, decision: { allowed: true, reason: 'tool allowed' }, provenance: null, seq: 0 }; + const prev = '0'.repeat(64); const signature = crypto.sign(null, Buffer.from(`0|${prev}|${canonical(body)}`, 'utf8'), privateKey).toString('base64'); + const clasic = { version: 2, agentId, publicKeyPem: publicKey.export({ type: 'spki', format: 'pem' }), policyHash: pc.policyHash, session, entries: [{ seq: 0, prev, body, signature, hash: sha(`0|${prev}|${canonical(body)}|${signature}`) }] }; + const v = verifyLedger(clasic, { policy: pc.policy, maxTime: 7000 }); + cer(!v.ok && v.rule === 'cheie' && /not ML-DSA-65/.test(v.error), `20. CONTROL: un registru al unei chei Ed25519 e refuzat pe nume (${v.rule}: ${String(v.error).slice(0, 60)})`); + cer(/not ML-DSA-65/.test(arunca(() => openLedger({ identity: { agentId, publicKey, privateKey }, policy: pc.policy, policyHash: pc.policyHash, now: () => 6000 })) || ''), '20. CONTROL: nici scriitorul nu deschide un registru pentru o cheie care nu e ML-DSA-65'); + const bun = verifyLedger(regBun20(), { policy: polBun20.policy, maxTime: 7000 }); + cer(bun.ok === true && bun.rule === undefined, '20. martor: acelasi fel de registru, cu o cheie ML-DSA-65, verifica'); +} + for (const l of linii) console.log(l); console.log(`agent-ledger: ${ok}/${ok + rau} cum trebuia`); process.exitCode = rau ? 1 : 0; diff --git a/ai-trust/lant-de-incredere.mjs b/ai-trust/lant-de-incredere.mjs index 65cf44c..7d6fe03 100644 --- a/ai-trust/lant-de-incredere.mjs +++ b/ai-trust/lant-de-incredere.mjs @@ -30,6 +30,10 @@ const AICI = path.dirname(fileURLToPath(import.meta.url)); export const FORMAT = 'aere-ai-trust-chain-1'; export const LEVELS = ['form', 'identity', 'version', 'runtime', 'permissions', 'provenance', 'witness']; export const TOLERANCE_S = 300; +/** The rules this verifier names: the reason codes of its refusals. `fail` throws on any other, so the list is the whole list. */ +export const REGULI = ['form', 'identity-mismatch', 'identity-key', 'version-attestation', 'version-artifact-mismatch', 'version-label-mismatch', 'runtime-record', 'runtime-artifact-mismatch', + 'runtime-after-output', 'audit-log-broken', 'runtime-not-in-audit-log', 'audit-head', 'witness-head', 'policy-hash', 'ledger-invalid', 'output-not-in-ledger', 'action-refused', 'ledger-time-mismatch', + 'policy', 'provenance-envelope', 'provenance-finality']; export const VERIFY_PROOF_DEFAULT = process.env.AERE_VERIFY_PROOF || path.resolve(AICI, '..', '..', 'verificator-falcon', 'verify-proof.mjs'); const H32 = /^0x[0-9a-f]{64}$/; const sha = (b) => '0x' + crypto.createHash('sha256').update(b).digest('hex'); @@ -77,7 +81,7 @@ const envelopeOk = (j) => j && ['form', 'integrity'].every((n) => parsed(j, n).s export async function verifica(bundle, { verifyProof = VERIFY_PROOF_DEFAULT, rpc = null, chain = null, now = Math.floor(Date.now() / 1000) } = {}) { const levels = Object.fromEntries(LEVELS.map((l) => [l, lvl('ABSENT')])); const assumptions = {}; - const fail = (l, reason, detail) => { levels[l] = lvl('FAILED', { reason, detail }); }; + const fail = (l, reason, detail) => { if (!REGULI.includes(reason)) throw new Error('ai-trust: undeclared rule ' + reason); levels[l] = lvl('FAILED', { reason, detail }); }; const unm = (l, reason, detail) => { levels[l] = lvl('UNMEASURED', { reason, detail }); }; // 1. form const isObj = (x) => x !== null && typeof x === 'object' && !Array.isArray(x); @@ -208,6 +212,7 @@ function verdict(levels, assumptions) { else if (levels.witness.state !== 'PASSED') { v = 'PARTIAL'; reason = 'unwitnessed'; } else v = 'VALID'; } - return { verdict: v, reason, levels: Object.fromEntries(LEVELS.map((l) => [l, levels[l].state])), details: levels, assumptions, + // `rules`: the reason code of every level that failed (the verdict's `reason` is only the first) + return { verdict: v, reason, rules: LEVELS.filter((l) => levels[l].state === 'FAILED').map((l) => levels[l].reason).sort(), levels: Object.fromEntries(LEVELS.map((l) => [l, levels[l].state])), details: levels, assumptions, notice: 'A verdict says that the bytes link and who vouches for each link. It does not say the model is good, the host is honest, or the output is true.' }; } diff --git a/conformance/README.md b/conformance/README.md index 3c53231..87cb554 100644 --- a/conformance/README.md +++ b/conformance/README.md @@ -1,7 +1,8 @@ # Conformance suite for the AIP-23 proof kinds Every component beside this one ships its own verifier and its own way of saying no: the AIP-23 reference verifier prints four -levels, the payment modules return `reasons`, the market judge `motive`, the dataset module `ok`. This folder adds the one place that +levels, the payment modules return `reasons`, the market judge `motive`, the dataset module `ok`, the audit log and the agents' +ledger a refusal text. This folder adds the one place that says, in the same form for all of them, **this artifact passes or does not, at level N, for reason M**, and a set of vectors that any implementation, in any language, can be run against. @@ -23,8 +24,8 @@ are the ones those verifiers name, read from their code. | level | what it says | |---|---| | `integrity` | the artifact is what it says: its hashes bind its content, and the rules it declares (a policy, deadlines, a challenge window, Merkle paths, a payout) hold when recomputed from the evidence supplied | -| `authenticity` | the signature the artifact carries verifies (today: an ML-DSA signature on an AIP-23 envelope) | -| `anchoring` | its `statementHash` is recorded in the notary contract, under a state root that a post-quantum anchor covers | +| `authenticity` | the signature the artifact carries verifies, with a key of the scheme declared, and the identity it names is the one derived from that key (an ML-DSA signature on an AIP-23 envelope, the ML-DSA-65 signature of an audit head, the ML-DSA-65 key and signatures of an agent's ledger) | +| `anchoring` | its `statementHash` (or, for a trust chain, the head of its ledger) is recorded in the notary contract, under a state root that a post-quantum anchor covers | | `finality` | that anchor's post-quantum certificate verifies. The finality is the one of the chain the artifact was notarized on | Each level is `PASSED`, `FAILED` or `NOT_MEASURED`, with the reason; a level nobody judged says why (`cause`). The verdict is @@ -39,57 +40,79 @@ verdict (`vectori/payment-receipt/company-p1-28001.valid.json`). ## What is enrolled -`REGULI.json` is derived from the code (`node deriva-reguli.mjs --verifica`): 35 rules of 5 verifiers, 8 artifact kinds. +`REGULI.json` is derived from the code (`node deriva-reguli.mjs --verifica`): 97 rules of 9 verifiers, 13 artifact kinds. By level: +83 rules are reported at `integrity`, 11 at `authenticity`, 3 at `anchoring` (one of them, `envelope.finality`, is reported at +`anchoring` or at `finality` by the place that refused). | artifact kind | judged by | rules | |---|---|---| -| `envelope` (every AIP-23 kind) | the AIP-23 reference verifier, run as the program it is (`AERE_VERIFY_PROOF=`, published with aere-node) | `envelope.form`, `.integrity`, `.signature`, `.finality` | -| `payment-risk` (a payment presented as allowed under a declared policy) | `payments/risc.mjs` | `risk.form`, `.asset`, `.counterparty`, `.rate`, `.limit`, `.window` | -| `payment-receipt` | `payments/chitanta.mjs` | `receipt.binding`, `.amount`, `.policy`, `.risk`, `.chain` | -| `market-timeline` | `market-settlement/piata.mjs` | `market.form`, `.complete`, `.posting`, `.deadline`, `.window`, `.arbiter`, `.payout`, `.result`, `.replay`, `.proof` | -| `dataset-record`, `-answer`, `-consistency`, `-sample` | `verifiable-data/baza.mjs` | `dataset.form`, `.commitment`, `.field`, `.inclusion`, `.index`, `.range`, `.order`, `.completeness`, `.consistency`, `.sample` | +| `envelope` (every AIP-23 kind) | the AIP-23 reference verifier, run as the program it is (`AERE_VERIFY_PROOF=`, published at aere.network/tools) | 4: `envelope.form`, `.integrity`, `.signature`, `.finality` | +| `payment-risk` (a payment presented as allowed under a declared policy) | `payments/risc.mjs` | 6: `risk.form`, `.asset`, `.counterparty`, `.rate`, `.limit`, `.window` | +| `payment-receipt` | `payments/chitanta.mjs` | 5: `receipt.binding`, `.amount`, `.policy`, `.risk`, `.chain` | +| `market-timeline` | `market-settlement/piata.mjs` | 10: `market.form`, `.complete`, `.posting`, `.deadline`, `.window`, `.arbiter`, `.payout`, `.result`, `.replay`, `.proof` | +| `dataset-record`, `-answer`, `-consistency`, `-sample` | `verifiable-data/baza.mjs` | 10: `dataset.form`, `.commitment`, `.field`, `.inclusion`, `.index`, `.range`, `.order`, `.completeness`, `.consistency`, `.sample` | +| `ai-trust-bundle` (the trust chain of an AI result) | `ai-trust/lant-de-incredere.mjs` | 21: `aitrust.form`, `.identity-mismatch`, `.identity-key`, `.version-attestation`, `.version-artifact-mismatch`, `.version-label-mismatch`, `.runtime-record`, `.runtime-artifact-mismatch`, `.runtime-after-output`, `.audit-log-broken`, `.runtime-not-in-audit-log`, `.audit-head`, `.witness-head`, `.policy-hash`, `.ledger-invalid`, `.output-not-in-ledger`, `.action-refused`, `.ledger-time-mismatch`, `.policy`, `.provenance-envelope`, `.provenance-finality` | +| `audit-log` (a hash-chained log, alone or against an attested head, signed or not) | `verify-layer/sidecar.mjs` | 13: `auditlog.entry`, `.seq`, `.chain`, `.hash`, `.head-form`, `.head-hash`, `.head-unsigned`, `.head-scheme`, `.head-key`, `.head-signature`, `.head-signer`, `.head-short`, `.head-rewritten` | +| `audit-inclusion`, `audit-consistency` (RFC 9162 proofs over that log) | `verify-layer/jurnal-arbore.mjs` | 12: `audittree.proof-form`, `.head-form`, `.head-hash`, `.inclusion-index`, `.inclusion-entry`, `.inclusion-envelope`, `.inclusion-leaf`, `.inclusion-path`, `.inclusion-head`, `.consistency-start`, `.consistency-end`, `.consistency` | +| `agent-ledger` (an agent's signed ledger under its policy) | `agents/agent-ledger.mjs` | 16: `agents.ledger-form`, `.policy`, `.other-policy`, `.session`, `.key`, `.identity`, `.anchor`, `.seq`, `.chain`, `.body`, `.signature`, `.hash`, `.time`, `.revocation`, `.approvals`, `.decision` | -A module verifier exports the list of rules it can name (`REGULI`; its helper throws on any other) and marks every check of a rule; -the derivation requires declared == marked == mapped here. A rule added to a verifier and not mapped is a refusal of the derivation; -a mapped rule without a vector is a refusal of the probe. For the reference verifier, a published program this suite does not edit, -the rules are its level names, and each of the six places where its `finality` level can refuse is classified as `anchoring` or -`finality` (a seventh place would be a refusal of the derivation). +A module verifier exports the list of rules it can name (`REGULI`; its helper throws on any other) and marks its rules in one of two +ways, both read by the derivation: a marker on every check of a rule (seven modules), or the rule named at every call of the +verifier's one refusal helper (`ai-trust`). The derivation requires declared == marked == mapped here. A rule added to a verifier and +not mapped is a refusal of the derivation; a mapped rule without a vector is a refusal of the probe. For the reference verifier, a +published program this suite does not edit, the rules are its level names, and each of the six places where its `finality` level +can refuse is classified as `anchoring` or `finality` (a seventh place would be a refusal of the derivation). -**Not enrolled**, measured in the same file: `ai-trust` (20 refusal sites; its refusals already carry a level and a code, enrolling it -is a vector per code), `agents` ledger (17), `identity` (15), `verify-layer` log and tree (36): their refusals are free text, and a -rule id per refusal comes first. Their own probes and negative controls stay what checks them. +**Not enrolled**, counted in the same file: `identity`. Its presentation verifier reports 41 labelled check rows, not rule ids, and +its verdict depends on what the verifier brings (audience, nonce, clock, trusted issuers); a rule id per row and a vector input that +carries those come first. Its SD-JWT, Travel Rule and compliance verifiers are not counted at all. Their own probes and negative +controls stay what checks them. ## The vectors -`vectori/` holds 122 vectors (117 offline, 5 that read testnet 28001), listed with their digests in `vectori/INDEX.json`: -envelope 54, payment-risk 11, payment-receipt 10, market-timeline 25, dataset 22. None is typed by hand (`node genereaza-vectori.mjs ---verifica` regenerates them and compares byte for byte): +`vectori/` holds 206 vectors (197 offline, 9 that read testnet 28001), listed with their digests in `vectori/INDEX.json`: +envelope 64, payment-risk 11, payment-receipt 10, market-timeline 26, dataset 22, ai-trust-bundle 24, audit-log 17, audit-inclusion +10, audit-consistency 4, agent-ledger 18. By expected verdict: 40 `VALID`, 5 `PARTIAL`, 161 `INVALID`. None is typed by hand +(`node genereaza-vectori.mjs --verifica` regenerates them and compares byte for byte): -- the 16 AIP-23 kinds come from their producers on fixed inputs (the same envelopes as the published AIP-23 kind vectors); -- the receipt, the five market timelines and the notarized dataset commitment are the evidence recorded on testnet 28001 on - 2026-10-02 beside those components; -- `surse-proaspete.json` holds what needed a key, randomness or the chain, made once by `--proaspat`: a tree head signed with an - ML-DSA-65 key that was generated and discarded in that call, an envelope with random content that nobody notarized, a dataset of - 16 records with random salts, and the transaction of the recorded receipt read from the chain (two read calls). +- the 16 AIP-23 kinds come from their producers on fixed inputs (the same envelopes as the published AIP-23 kind vectors); the audit + log, its heads and its inclusion and consistency proofs come from the verify-layer producers on fixed inputs; +- the receipt, the five market timelines, the notarized dataset commitment and one trust chain of an AI result are the evidence + recorded on testnet 28001 on 2026-10-02 beside those components; +- `surse-proaspete.json` holds what needed a key, randomness or the chain, made once by `--proaspat` (which only adds what is + missing). Every key was generated and discarded in that call: a tree head signed with an ML-DSA-65 key and the same head "signed" + with an Ed25519 key that declares itself ml-dsa-65; an audit head signed by an operator key, by another key, and by a classical + key; the ledger of an agent (a tool call, a payment, a payment refused above the limit, a tool call) with the forged siblings + that only the agent's key can make (an empty approvals list, a false decision, a revocation entry without a revocation) and one + written with a classical key; three trust chains of a fresh agent (allowed, refused by the policy, dated apart); an envelope with + random content that nobody notarized; a dataset of 16 records with random salts; and the transaction of the recorded receipt read + from the chain (two read calls). An `INVALID` vector names its `base` and its `mutation`: **one operation** (set, remove or add at one JSON path) applied to the input -of a vector that is not invalid, and it must be refused for exactly the rules in `expected.failed`, not merely refused. Where the rule -sits under a hash, one place is not reachable (changing an amount under the instruction hash trips the binding first): six vectors -are then made at the producer, the commitments above the change recomputed with the published formulas, and every path that moved is -declared (`mutation.changed`). Three vectors expect two rules: rules that guard the same field cannot be separated (a looser policy -shown under a receipt also makes the risk verdict not reproduce). +of a vector that is not invalid, and it must be refused for exactly the rules in `expected.failed`, not merely refused: 137 of the +161 are made this way. Where the rule sits under a hash or a signature, one place is not reachable (changing an amount under the +instruction hash trips the binding first; a false decision in a ledger must still be signed by the agent): the other 24 are made at +the producer, the commitments above the change recomputed with the published formulas, and every path that moved is declared +(`mutation.changed`). Five vectors expect two rules: rules that guard the same field cannot be separated (a looser policy shown +under a receipt also makes the risk verdict not reproduce; a Proof of AI envelope that is changed is also no longer the one the +ledger links). ## Run it ``` -AERE_VERIFY_PROOF= -node conformance.mjs --impl "node implementare-aere.mjs" # the published verifiers behind the one verdict form: 117 offline vectors -node conformance.mjs --impl "node implementare-aere.mjs" --online # and the 5 that read testnet 28001 (nothing is sent) -node conformance.mjs --impl "python3 implementare-integritate.py" # an independent implementation: 55 vectors, 67 reported NOT COVERED +AERE_VERIFY_PROOF= +node conformance.mjs --impl "node implementare-aere.mjs" # the published verifiers behind the one verdict form: 197 offline vectors +node conformance.mjs --impl "node implementare-aere.mjs" --online # and the 9 that read testnet 28001 (nothing is sent) +node conformance.mjs --impl "python3 implementare-integritate.py" # an independent implementation: 62 vectors, 144 reported NOT COVERED node conformance.mjs --impl "" # yours node implementare-aere.mjs [--online] # one artifact { artifact, input }: its verdict ``` +For the artifact `envelope` the input is `{ "envelope": }`, or `{ "raw": "" }` when the file is +not JSON at all: a file that is not an envelope is refused at the form level, by name, like any other. The other inputs are the ones +the vectors show (`{ log, head?, signer? }` for an audit log, `{ ledger, policy }` for an agent's ledger, `{ bundle }` for a trust +chain). + An implementation is a command that answers three calls with JSON on stdout: `--capabilities` (`{ artifacts, rules, online, batch }`: what it claims to judge), ` [--online]` (the verdict above for the file's `{ artifact, input }`), and, if it says `batch`, `--batch ` (one verdict per line). A vector is scored only if the implementation claims its artifact kind and @@ -98,63 +121,95 @@ exact set of failed rules and the state of each of the four levels are the expec refusal. Without `--online` an implementation must not open a connection. `implementare-integritate.py` is the second implementation: Python, standard library only, written from the rules and not from the -JavaScript. It claims 6 of the 35 rules (the form and the statement hash of an envelope; the form, the commitment, the salted field -commitments and the RFC 9162 inclusion of a dataset record) and passes all 55 vectors it claims. It cannot check an ML-DSA signature -or read a chain, says so in its capabilities, and the runner reports the rest as not covered. +JavaScript. It claims 6 of the 97 rules (the form and the statement hash of an envelope; the form, the commitment, the salted field +commitments and the RFC 9162 inclusion of a dataset record) and passes all 62 vectors it claims. It cannot check an ML-DSA signature +or read a chain, says so in its capabilities, and the runner reports the rest as not covered: 144 vectors, among them every vector of +the trust chain, the audit log and the agents' ledger. For those four verifiers the suite has one implementation, ours. ## How the suite itself is checked -Measured on 2026-10-03 (Node.js 24.14.1, Python 3.14.4, testnet 28001 read): +Measured on 2026-10-05 (Node.js 24.14.1, Python 3.14.4, testnet 28001 read): - `node proba-conformance.mjs --online`: every row green, 10 in this copy (an eleventh, the comparison of the 16 kind envelopes with the published AIP-23 kind vectors, runs where their generator is, in the development repository: 11/11 there, and here it is - printed as information). The rules and the vectors are what the code derives now; every rule has a vector that - expects it; every kind has a valid vector; every invalid vector is its base with one operation (80) or one declared producer change - (6); the published verifiers pass 122/122; the independent implementation passes all 55 it claims; and 6,847 malformed inputs (every - path of every vector removed, or replaced by null, a string, a number, a list, an object) given to the module verifiers each got a - verdict, none threw. Without `--online` the five chain vectors are reported unmeasured and the exit code is 2. -- `node proba-conformance.mjs --control-negativ --online`: 35 of 35 rules. Each rule is planted out of its verifier, one at a time, in - a copy (every check that carries its marker made true at run time); the suite is run against the planted verifier; the vectors that - expect the rule, **and only they**, must fail, and none may break. Then the instruments: an implementation that calls everything - valid fails every vector that is not plainly valid; the coverage gate goes red when one rule's vector is taken away; a rule added - to a verifier and not mapped is refused by the derivation; a judge that throws again turns the malformed-input row red. -- `node proba-conformance.mjs --pe-loc` is a measurement, not a gate: each of the 60 marked checks of the module verifiers planted - out alone. For 46 of them a vector then fails. The other 14 are checks whose vector trips a second check of the same rule at the - same time, so removing one alone changes nothing (the three checks of `market.replay`, the run and neighbour checks of - `dataset.completeness`), or checks no vector reaches (a dispute timed out before the arbitration timeout: no recorded timeline has - one). The control above shows that each **rule** is load-bearing, not each of its checks. + printed as information). The rules and the vectors are what the code derives now; every rule has a vector that expects it (97 of + 97); every artifact kind has a valid vector (13); every invalid vector is its base with one operation (137) or one declared + producer change (24); the published verifiers pass 206/206; the independent implementation passes all 62 it claims; and 9,333 + malformed inputs (every path of every offline vector that is not invalid removed, or replaced by null, a string, a number, a list, + an object) given to the module verifiers each got a verdict, none threw. That row covers the modules of seven verifiers; the + trust chain verifier is not in it (each case would run the reference verifier several times), and the reference verifier, a + program, was tried apart (below). Without `--online` the nine chain vectors are reported unmeasured and the exit code is 2. +- `node proba-conformance.mjs --control-negativ --online`: 97 of 97 rules. Each rule is planted out of its verifier, one at a time, in + a copy (every check that carries its marker made true at run time; for `ai-trust`, its refusal helper made to drop the refusals of + that rule; for the reference verifier, the level made to pass); the suite is run against the planted verifier; the vectors that + expect the rule, **and only they**, must fail, and none may break. Then five controls of the instruments: an implementation that + calls everything valid fails every vector that is not plainly valid (165 of the 197 offline vectors); the coverage gate goes red when one rule's vector + is taken away; a rule added to a verifier and not mapped is refused by the derivation; a judge that throws again turns the + malformed-input row red; no planted copy is left behind. +- `node proba-conformance.mjs --pe-loc` is a measurement, not a gate: each of the 122 marked checks of the module verifiers + planted out alone (the trust chain verifier has no per-check markers and is not in this count). For 87 of them a vector + then fails. The others are checks whose vector trips a second check of the same rule at the same time, so removing one alone + changes nothing (the three checks of `market.replay`, the three of `agents.anchor`, the run and neighbour checks of + `dataset.completeness`), or checks no vector reaches (a dispute timed out before the arbitration timeout; five of the six checks + of `agents.time`). The control above shows that each **rule** is load-bearing, not each of its checks. -On its first day the suite found three defects in the verifiers it enrols, all fixed the same day and each now a vector or a probe -row: a malformed payment made the risk module throw instead of refusing by name; malformed dataset answers made the dataset verifier -throw; and the market judge accepted a timeline from which the submission event had been withheld, which skipped the challenge-window -rule (the judge now requires every event the job state implies: `market.complete`). +The suite found defects in the verifiers it enrols, on 2026-10-03, while they were being enrolled; all are fixed and each is now a +vector or a probe row: + +- **three verifiers accepted a classical key under a post-quantum name.** The AIP-23 reference verifier reported a signature that + declared `ml-dsa-65` and was made with an Ed25519, Ed448, RSA or P-256 key as `signature PASSED: ml-dsa-65: verifies`; the audit + log verifier accepted a head "signed" the same way as a head signed with ML-DSA-65; the agents' ledger verifier did not require + the agent key to be an ML-DSA-65 key, so the ledger of a "post-quantum identity" could be written and signed with an Ed25519 key + and verify. In each, the key was never required to be a key of the scheme declared. Each is now a refusal by name + (`envelope/signed-head.signature-classical-key`, `audit-log/signed-head.head-scheme-classical-key`, + `agent-ledger/four-entries.key-classical`); +- the reference verifier exited with an exception on a file holding the JSON value `null`, let a statement that is a list pass its + form level, and reported a malformed ML-DSA signature (no key, a key that cannot be parsed) as unmeasured "needs OpenSSL 3.5" on a + runtime that has it; each is now a refusal by name, and a file that is not JSON is refused at the form level instead of ending + the run; +- a malformed payment made the risk module throw instead of refusing by name; malformed dataset answers made the dataset verifier + throw; +- the market judge accepted a timeline from which the submission event had been withheld, which skipped the challenge-window rule + (the judge now requires every event the job state implies: `market.complete`); +- the market judge took the time an execution envelope was notarized from the envelope's own claim, so a claim written earlier than + the truth passed. The time now comes from the reference verifier's reading under the anchor, and the claim is only compared with + it (`market-timeline/s1-28001.proof-claim-early`). ## What it is not, and what is not measured - **Not a certification, not an audit, not a mark.** Passing says that an implementation agrees with the published verifiers on these - 122 inputs. It does not say either of them is correct, and no third party has reviewed the verifiers, the vectors or this suite. + 206 inputs. It does not say either of them is correct, and no third party has reviewed the verifiers, the vectors or this suite. - **The vectors and the verifiers have the same authors.** The expected verdicts were written by the people who wrote the verifiers. - The second implementation is independent in code and language, not in authorship, and it covers 6 rules of 35. + The second implementation is independent in code and language, not in authorship, and it covers 6 rules of 97; the other + 91 rules, among them every rule of the trust chain, the audit log and the agents' ledger, are judged here by one implementation. - **Finality is the chain's.** The level says that the post-quantum certificate of the covering anchor verified on the chain where the artifact was notarized. Every notarized vector here is on chain 28001, a testnet; nothing in this suite ran on mainnet. - **Five of the six finality refusals have no vector.** The reference verifier can refuse at its finality level in six places; the vectors reach one (a notarization claimed that the chain does not hold). The others need an endpoint that lies or an anchor that - does not verify, and are not exercised here. + does not verify: they are exercised by that verifier's own probe, through a local proxy that lies to it, not by these vectors. - **The chain vectors depend on the testnet's state.** The notary contract is open: anyone can notarize the fresh envelope's hash on 28001, and `envelope/fresh-28001.*` then change verdict. The runner would show it; `--proaspat` makes a new one. - **Integrity is over the evidence supplied.** A market timeline and the transaction facts of a receipt are the caller's reading of the chain; this suite does not certify that reading under an anchor. The market judge now refuses a timeline that lacks an event the job state implies; it does not prove that the job state shown is the chain's. -- **A notarization time is taken from the claim.** `market.proof` compares the envelope's claimed first-seen time with the challenge - window; the reference verifier certifies the time it reads from the chain, and nothing here compares the two. -- **Authenticity is one scheme.** The reference verifier checks ML-DSA signatures on envelopes; a hybrid signature (as on identity - credentials) is reported unmeasured and the verdict is `PARTIAL`. -- **What a damaged artifact can still pass.** Of the 6,847 malformed inputs, 1,810 were still accepted, at 81 distinct paths: parts a - verifier treats as optional (the transaction facts of a receipt, the envelope of a timeline) and fields no rule reads +- **Offline, a notarization time is only a claim.** With the chain, `market.proof` takes the time an execution envelope was first + seen from the reference verifier's reading under the anchor and refuses a claim that differs from it. Offline there is no such + reading: the claim is all there is, the verdict is `PARTIAL`, and a `certified` field that an artifact brings itself is dropped. +- **Authenticity is ML-DSA only.** The reference verifier checks ML-DSA signatures on envelopes, the audit log verifier the + ML-DSA-65 signature of a head, the ledger verifier the agent's ML-DSA-65 key and signatures, each with a key that must be of the + scheme declared; a hybrid signature (as on identity credentials) is reported unmeasured and the verdict is `PARTIAL`. +- **Most times in a trust chain and in a ledger are claims.** A trust chain without a witness is `PARTIAL`: every time in it is the + statement of whoever holds the keys. Three trust-chain vectors read a ledger head notarized on testnet 28001. No vector gives an + agent's ledger an anchor that verifies: `agents.anchor` is reached only through an anchor that is refused, and five of the six + checks of `agents.time` have no vector. +- **What a damaged artifact can still pass.** Of the 9,333 malformed inputs, 1,870 were still accepted, at 94 distinct paths: parts a + verifier treats as optional (the transaction facts of a receipt, the envelope of a timeline, the head of an audit log), a policy + field removed that falls back to its default, a log or a ledger without its last entry (still a valid shorter one), and fields no + rule reads (`node proba-conformance.mjs --acceptate` lists them). A policy that cannot be defined makes the risk module throw, by design. The - reference envelope verifier is run as published: given the JSON value `null` as an envelope it exits with an exception instead of - a verdict (1 of 88 malformed envelopes tried on 2026-10-03); the runner scores that `BROKEN`. + reference envelope verifier, a program, was tried apart with 526 malformed envelopes (every field removed or replaced, files that + hold null, a number, a string, a list, text that is not JSON): each gets a verdict. - **Not part of AIP-23.** The rule ids, the four levels and the verdict form are this suite's reading of the published verifiers; - AIP-23 defines the envelope. Four verifiers published beside these are not enrolled. + AIP-23 defines the envelope. The identity verifiers published beside these are not enrolled. - **The Python implementation** writes numbers the way JavaScript does only for integers and plain decimals, and sorts keys by code point (JavaScript's order for keys in the Basic Multilingual Plane). diff --git a/conformance/REGULI.json b/conformance/REGULI.json index c494130..d58e258 100644 --- a/conformance/REGULI.json +++ b/conformance/REGULI.json @@ -31,7 +31,7 @@ "id": "envelope.signature", "source": "signature", "level": "authenticity", - "sites": 1, + "sites": 5, "says": "the ML-DSA signature the envelope carries verifies over the canonical statement text" }, { @@ -122,7 +122,8 @@ "sites": 1, "says": "the amount and the count stay within the sliding window of the policy" } - ] + ], + "marked": "by a marker on every check" }, "payment-receipt": { "artifacts": [ @@ -164,7 +165,8 @@ "sites": 1, "says": "the transaction supplied is this payment: payer, payee, value, block, mined" } - ] + ], + "marked": "by a marker on every check" }, "market-timeline": { "artifacts": [ @@ -238,10 +240,11 @@ "id": "market.proof", "source": "dovada", "level": "integrity", - "sites": 2, + "sites": 5, "says": "the execution envelope names this job and existed before the window closed" } - ] + ], + "marked": "by a marker on every check" }, "dataset": { "artifacts": [ @@ -321,29 +324,482 @@ "sites": 1, "says": "every sampled position is served and verifies" } - ] + ], + "marked": "by a marker on every check" + }, + "ai-trust": { + "artifacts": [ + "ai-trust-bundle" + ], + "rules": [ + { + "id": "aitrust.form", + "source": "form", + "level": "integrity", + "sites": 1, + "says": "the bundle has the format, an identity, a ledger with its policy, and a Proof of AI envelope" + }, + { + "id": "aitrust.identity-mismatch", + "source": "identity-mismatch", + "level": "authenticity", + "sites": 1, + "says": "the id derived from the key is the one the bundle, the ledger and the output name" + }, + { + "id": "aitrust.identity-key", + "source": "identity-key", + "level": "authenticity", + "sites": 1, + "says": "the public key of the identity can be read" + }, + { + "id": "aitrust.version-attestation", + "source": "version-attestation", + "level": "integrity", + "sites": 1, + "says": "the Proof of Software attestation of the model artifact verifies as an envelope" + }, + { + "id": "aitrust.version-artifact-mismatch", + "source": "version-artifact-mismatch", + "level": "integrity", + "sites": 1, + "says": "the output names model weights that the attestation covers" + }, + { + "id": "aitrust.version-label-mismatch", + "source": "version-label-mismatch", + "level": "integrity", + "sites": 1, + "says": "the output and the attestation name the same model version" + }, + { + "id": "aitrust.runtime-record", + "source": "runtime-record", + "level": "integrity", + "sites": 1, + "says": "the runtime record is a verified runtime attestation" + }, + { + "id": "aitrust.runtime-artifact-mismatch", + "source": "runtime-artifact-mismatch", + "level": "integrity", + "sites": 1, + "says": "the host ran the artifact the output names" + }, + { + "id": "aitrust.runtime-after-output", + "source": "runtime-after-output", + "level": "integrity", + "sites": 1, + "says": "the runtime record is not dated after the output" + }, + { + "id": "aitrust.audit-log-broken", + "source": "audit-log-broken", + "level": "integrity", + "sites": 1, + "says": "the hash chain of the audit log given is intact" + }, + { + "id": "aitrust.runtime-not-in-audit-log", + "source": "runtime-not-in-audit-log", + "level": "integrity", + "sites": 1, + "says": "the runtime record is an entry of the audit log given" + }, + { + "id": "aitrust.audit-head", + "source": "audit-head", + "level": "integrity", + "sites": 1, + "says": "the audit log continues the attested head given" + }, + { + "id": "aitrust.witness-head", + "source": "witness-head", + "level": "anchoring", + "sites": 1, + "says": "every notarized head given is a head of this ledger, recorded on the chain" + }, + { + "id": "aitrust.policy-hash", + "source": "policy-hash", + "level": "integrity", + "sites": 1, + "says": "the policy given hashes to the policy hash the bundle pins" + }, + { + "id": "aitrust.ledger-invalid", + "source": "ledger-invalid", + "level": "integrity", + "sites": 1, + "says": "the ledger verifies under its policy (signatures, chain, every decision re-derived)" + }, + { + "id": "aitrust.output-not-in-ledger", + "source": "output-not-in-ledger", + "level": "integrity", + "sites": 1, + "says": "a ledger entry links this Proof of AI envelope" + }, + { + "id": "aitrust.action-refused", + "source": "action-refused", + "level": "integrity", + "sites": 1, + "says": "the ledger entry of the output was allowed by the policy" + }, + { + "id": "aitrust.ledger-time-mismatch", + "source": "ledger-time-mismatch", + "level": "integrity", + "sites": 1, + "says": "the ledger entry and the output are dated within the tolerance" + }, + { + "id": "aitrust.policy", + "source": "policy", + "level": "integrity", + "sites": 1, + "says": "the policy given is a policy" + }, + { + "id": "aitrust.provenance-envelope", + "source": "provenance-envelope", + "level": "integrity", + "sites": 1, + "says": "the Proof of AI envelope verifies as an envelope of its kind" + }, + { + "id": "aitrust.provenance-finality", + "source": "provenance-finality", + "level": "anchoring", + "sites": 1, + "says": "a notarization the Proof of AI envelope claims is on the chain" + } + ], + "marked": "at the refusal helper" + }, + "audit-log": { + "artifacts": [ + "audit-log" + ], + "rules": [ + { + "id": "auditlog.entry", + "source": "intrare", + "level": "integrity", + "sites": 2, + "says": "the log is a list, and each entry is a log entry" + }, + { + "id": "auditlog.seq", + "source": "seq", + "level": "integrity", + "sites": 1, + "says": "the entries are numbered from zero, without a gap" + }, + { + "id": "auditlog.chain", + "source": "lant", + "level": "integrity", + "sites": 1, + "says": "each entry links the hash of the one before it" + }, + { + "id": "auditlog.hash", + "source": "hash", + "level": "integrity", + "sites": 1, + "says": "the hash of each entry is the hash of its content" + }, + { + "id": "auditlog.head-form", + "source": "cap-forma", + "level": "integrity", + "sites": 2, + "says": "the attested head is an audit head attestation with a count and a head hash" + }, + { + "id": "auditlog.head-hash", + "source": "cap-hash", + "level": "integrity", + "sites": 1, + "says": "the statementHash of the attested head is the hash of its statement" + }, + { + "id": "auditlog.head-unsigned", + "source": "cap-nesemnat", + "level": "authenticity", + "sites": 1, + "says": "the head is signed when a signer is required" + }, + { + "id": "auditlog.head-scheme", + "source": "cap-schema", + "level": "authenticity", + "sites": 2, + "says": "the head signature is an ml-dsa-65 signature, made with an ML-DSA-65 key" + }, + { + "id": "auditlog.head-key", + "source": "cap-cheie", + "level": "authenticity", + "sites": 1, + "says": "the public key of the head signature can be read" + }, + { + "id": "auditlog.head-signature", + "source": "cap-semnatura", + "level": "authenticity", + "sites": 1, + "says": "the head signature verifies over the statement" + }, + { + "id": "auditlog.head-signer", + "source": "cap-semnatar", + "level": "authenticity", + "sites": 1, + "says": "the head is signed by the expected signer" + }, + { + "id": "auditlog.head-short", + "source": "cap-scurt", + "level": "integrity", + "sites": 1, + "says": "the log has at least as many entries as the attested head covers" + }, + { + "id": "auditlog.head-rewritten", + "source": "cap-rescris", + "level": "integrity", + "sites": 1, + "says": "the entry at the attested point is the attested head (the history before it was not rewritten)" + } + ], + "marked": "by a marker on every check" + }, + "audit-tree": { + "artifacts": [ + "audit-inclusion", + "audit-consistency" + ], + "rules": [ + { + "id": "audittree.proof-form", + "source": "dovada-forma", + "level": "integrity", + "sites": 2, + "says": "the proof is an inclusion or a consistency proof that can be read" + }, + { + "id": "audittree.head-form", + "source": "arbore-forma", + "level": "integrity", + "sites": 2, + "says": "the tree head is a tree head attestation with a size and a root" + }, + { + "id": "audittree.head-hash", + "source": "arbore-hash", + "level": "integrity", + "sites": 1, + "says": "the statementHash of the tree head is the hash of its statement" + }, + { + "id": "audittree.inclusion-index", + "source": "includere-index", + "level": "integrity", + "sites": 1, + "says": "the entry shown is the entry of the index proven" + }, + { + "id": "audittree.inclusion-entry", + "source": "includere-intrare", + "level": "integrity", + "sites": 1, + "says": "the hash of the entry shown is the hash of its content" + }, + { + "id": "audittree.inclusion-envelope", + "source": "includere-plic", + "level": "integrity", + "sites": 1, + "says": "the envelope inside the entry hashes to its statementHash" + }, + { + "id": "audittree.inclusion-leaf", + "source": "includere-frunza", + "level": "integrity", + "sites": 1, + "says": "the leaf is the leaf of this entry" + }, + { + "id": "audittree.inclusion-path", + "source": "includere-drum", + "level": "integrity", + "sites": 1, + "says": "the path leads from the leaf to the root (RFC 9162 inclusion)" + }, + { + "id": "audittree.inclusion-head", + "source": "includere-cap", + "level": "integrity", + "sites": 1, + "says": "the proof is for the tree of the head given (size and root)" + }, + { + "id": "audittree.consistency-start", + "source": "consistenta-inceput", + "level": "integrity", + "sites": 1, + "says": "the consistency proof starts at the old head" + }, + { + "id": "audittree.consistency-end", + "source": "consistenta-sfarsit", + "level": "integrity", + "sites": 1, + "says": "the consistency proof ends at the new head" + }, + { + "id": "audittree.consistency", + "source": "consistenta", + "level": "integrity", + "sites": 1, + "says": "the new tree extends the old one (RFC 9162 consistency)" + } + ], + "marked": "by a marker on every check" + }, + "agent-ledger": { + "artifacts": [ + "agent-ledger" + ], + "rules": [ + { + "id": "agents.ledger-form", + "source": "registru", + "level": "integrity", + "sites": 1, + "says": "a ledger with a list of entries is given" + }, + { + "id": "agents.policy", + "source": "politica", + "level": "integrity", + "sites": 2, + "says": "the policy given is a policy, and hashes to the hash the verifier pins" + }, + { + "id": "agents.other-policy", + "source": "alta-politica", + "level": "integrity", + "sites": 3, + "says": "the ledger and every entry name the policy given, and the policy is this agent's" + }, + { + "id": "agents.session", + "source": "sesiune", + "level": "integrity", + "sites": 1, + "says": "the session is the one derived from the agent and the policy" + }, + { + "id": "agents.key", + "source": "cheie", + "level": "authenticity", + "sites": 2, + "says": "the agent key can be read and is an ML-DSA-65 key" + }, + { + "id": "agents.identity", + "source": "identitate", + "level": "authenticity", + "sites": 1, + "says": "the agent id is derived from the key" + }, + { + "id": "agents.anchor", + "source": "ancora", + "level": "integrity", + "sites": 3, + "says": "every anchor given names an entry of this ledger, with a time" + }, + { + "id": "agents.seq", + "source": "seq", + "level": "integrity", + "sites": 1, + "says": "the entries are numbered from zero, without a gap" + }, + { + "id": "agents.chain", + "source": "lant", + "level": "integrity", + "sites": 1, + "says": "each entry links the hash of the one before it" + }, + { + "id": "agents.body", + "source": "corp", + "level": "integrity", + "sites": 1, + "says": "the body of an entry names the agent, the session and the sequence number of its header" + }, + { + "id": "agents.signature", + "source": "semnatura", + "level": "authenticity", + "sites": 1, + "says": "every entry is signed by the agent key" + }, + { + "id": "agents.hash", + "source": "hash", + "level": "integrity", + "sites": 1, + "says": "the hash of each entry reproduces" + }, + { + "id": "agents.time", + "source": "timp", + "level": "integrity", + "sites": 6, + "says": "entry times do not go backwards and stay within the bounds the verifier has (its clock, a witnessed start, the anchors)" + }, + { + "id": "agents.revocation", + "source": "revocare", + "level": "integrity", + "sites": 3, + "says": "a revocation entry carries a revocation that verifies, and says what it carries" + }, + { + "id": "agents.approvals", + "source": "aprobari", + "level": "integrity", + "sites": 1, + "says": "an approvals field, when present, is a list that is not empty" + }, + { + "id": "agents.decision", + "source": "decizie", + "level": "integrity", + "sites": 1, + "says": "every decision written is the decision the policy gives when replayed" + } + ], + "marked": "by a marker on every check" } }, "notEnrolled": [ - { - "verifier": "ai-trust", - "refusalSites": 20, - "why": "its refusals already carry a level and a code; enrolling it is a vector per code, not done here" - }, - { - "verifier": "agents (ledger)", - "refusalSites": 17, - "why": "its refusals are free text; a rule id per refusal comes first" - }, { "verifier": "identity", - "refusalSites": 15, - "why": "its checks are labelled rows, not rule ids" - }, - { - "verifier": "verify-layer (log and tree)", - "refusalSites": 36, - "why": "its refusals are free text; a rule id per refusal comes first" + "refusalSites": 41, + "why": "its checks are labelled rows, not rule ids (counted: the check rows of its presentation verifier; its SD-JWT, Travel Rule and compliance verifiers are not counted)" } ] } diff --git a/conformance/conformance.mjs b/conformance/conformance.mjs index f8348c5..559e7c8 100644 --- a/conformance/conformance.mjs +++ b/conformance/conformance.mjs @@ -1,7 +1,7 @@ #!/usr/bin/env node // conformance.mjs: runs the conformance vectors against ANY implementation, given as a command in any language. // -// node conformance.mjs --impl "" [--online] [--only ] [--vectors ] [--json] +// node conformance.mjs --impl "" [--online] [--only ] [--artifacts ] [--vectors ] [--json] // // The contract of an implementation (three calls, JSON on stdout): // --capabilities { artifacts: [...], rules: [...], online: bool, batch: bool } what it claims to judge @@ -50,7 +50,7 @@ export function compara(v, r) { * Runs the suite. @returns {{ caps, rezultate: [{ id, stare: 'PASS'|'FAIL'|'BROKEN'|'NOT_COVERED'|'SKIPPED_ONLINE', detaliu }], eroare? }} * `env` is added to the environment of the implementation (the planting control points it at planted copies through it). */ -export function ruleazaSuita({ impl, online = false, dir, doar = null, env = {}, vectori: dati = null }) { +export function ruleazaSuita({ impl, online = false, dir, doar = null, artefacte = null, env = {}, vectori: dati = null }) { const cmd = desparte(impl); if (!cmd.length) return { eroare: 'no implementation command' }; if (cmd[0] === 'node') cmd[0] = process.execPath; const mediu = { ...process.env, ...env }; @@ -59,6 +59,7 @@ export function ruleazaSuita({ impl, online = false, dir, doar = null, env = {}, if (!Array.isArray(caps.artifacts) || !Array.isArray(caps.rules)) return { eroare: 'capabilities need artifacts and rules' }; let vectori = dati; if (!vectori) { const s = incarcaVectorii(dir); if (s.eroare) return { eroare: s.eroare }; vectori = s.vectori; } if (doar) vectori = vectori.filter((v) => v.id.startsWith(doar)); + if (artefacte) vectori = vectori.filter((v) => artefacte.includes(v.artifact)); const rezultate = []; const deRulat = []; for (const v of vectori) { const lipsa = !caps.artifacts.includes(v.artifact) ? ['artifact ' + v.artifact] : v.exercises.filter((r) => !caps.rules.includes(r)); @@ -89,7 +90,7 @@ export function ruleazaSuita({ impl, online = false, dir, doar = null, env = {}, if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { const a = process.argv.slice(2); const opt = (n) => { const i = a.indexOf(n); return i >= 0 ? a[i + 1] : null; }; const impl = opt('--impl'); if (!impl) { console.error('usage: node conformance.mjs --impl "" [--online] [--only ] [--vectors ] [--json]'); process.exit(2); } - const s = ruleazaSuita({ impl, online: a.includes('--online'), dir: opt('--vectors') || undefined, doar: opt('--only') }); + const s = ruleazaSuita({ impl, online: a.includes('--online'), dir: opt('--vectors') || undefined, doar: opt('--only'), artefacte: opt('--artifacts') ? opt('--artifacts').split(',') : null }); if (s.eroare) { console.log('NOT MEASURED: ' + s.eroare); process.exit(2); } const n = (st) => s.rezultate.filter((r) => r.stare === st).length; if (a.includes('--json')) console.log(JSON.stringify({ implementation: s.caps.name || impl, results: s.rezultate }, null, 1)); diff --git a/conformance/genereaza-vectori.mjs b/conformance/genereaza-vectori.mjs index cf20638..f201dbe 100644 --- a/conformance/genereaza-vectori.mjs +++ b/conformance/genereaza-vectori.mjs @@ -5,9 +5,11 @@ // recorded on testnet 28001 beside the products (a receipt, five market timelines, a notarized // dataset commitment), and surse-proaspete.json (what needs a key, randomness or the chain) // node genereaza-vectori.mjs --verifica regenerates in memory and compares with vectori/ byte for byte: LA ZI (0) or DIFERIT (1) -// node genereaza-vectori.mjs --proaspat rebuilds surse-proaspete.json: an ML-DSA-65 key made and discarded here signs a tree head, -// a random envelope nobody notarized, a small dataset (random salts), and the transaction of -// the recorded receipt READ from testnet 28001 (two eth_ calls; nothing is sent) +// node genereaza-vectori.mjs --proaspat completes surse-proaspete.json with what is MISSING from it (what is there stays, so the +// vectors derived from it stay): keys made and discarded here sign a tree head (ML-DSA-65) +// and its classical impostor (Ed25519), a random envelope nobody notarized, a small dataset +// (random salts), and the transaction of the recorded receipt READ from testnet 28001 (two +// eth_ calls; nothing is sent). With --tot everything is made anew // // A vector is { artifact, input, expected: { verdict, failed, levels } }. An INVALID vector names its `base` (a vector that is not // INVALID) and its `mutation`: ONE operation (set, remove, add at one JSON path) applied to the base input, so that it differs from the @@ -20,17 +22,20 @@ import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path' import { buildProof, KINDS } from '../proof-kinds/proof-kinds.mjs'; import { buildProofOfAi } from '../proof-of-ai/proof-of-ai.mjs'; import { definePolicy, checkAction, decisionEnvelope } from '../agents/agent-policy.mjs'; -import { capDeArbore } from '../verify-layer/jurnal-arbore.mjs'; -import { hashIntrare } from '../verify-layer/sidecar.mjs'; +import { capDeArbore, dovadaIncludere, dovadaConsistenta } from '../verify-layer/jurnal-arbore.mjs'; +import { hashIntrare, semneazaCap } from '../verify-layer/sidecar.mjs'; import { merkleTree } from '../verify-layer/arbore-merkle.mjs'; import * as RISC from '../payments/risc.mjs'; import * as BAZA from '../verifiable-data/baza.mjs'; +import { newAgentIdentity, openLedger, agentIdFromKey, sessionId, canonical as canonicLedger } from '../agents/agent-ledger.mjs'; +import { construieste as lantAI } from '../ai-trust/lant-de-incredere.mjs'; import { hartaPublica, LEVELS } from './reguli.mjs'; const AICI = path.dirname(fileURLToPath(import.meta.url)); const DIR = path.join(AICI, 'vectori'); const PROASPETE = path.join(AICI, 'surse-proaspete.json'); const DOV = { chitanta: new URL('../payments/dovezi/chitanta-28001-2026-10-02T1716Z.json', import.meta.url), piata: new URL('../market-settlement/dovezi/piata-28001-2026-10-02T1652Z.json', import.meta.url), - date: new URL('../verifiable-data/dovezi/notarizare-28001-2026-10-02T0820Z.json', import.meta.url) }; + date: new URL('../verifiable-data/dovezi/notarizare-28001-2026-10-02T0820Z.json', import.meta.url), + lantAI: new URL('../ai-trust/dovezi/lant-28001-2026-10-02T0519Z.json', import.meta.url) }; const citeste = (u) => JSON.parse(fs.readFileSync(fileURLToPath(u), 'utf8')); const clona = (x) => JSON.parse(JSON.stringify(x)); const sha256 = (b) => '0x' + crypto.createHash('sha256').update(b).digest('hex'); @@ -68,35 +73,101 @@ function invalid(id, title, bazaId, op, failed, { levels = {}, exercises = null, } // ---------- the fresh sources: a key, randomness, the chain ---------- -async function proaspat() { - const AT = new Date().toISOString(); - // (1) a signed tree head: three envelopes in a hash-chained log, the head signed with an ML-DSA-65 key that exists only in this call - const INT = intrariKinds(); let prev = '0x' + '00'.repeat(32); - const jurnal = ['data', 'execution', 'time'].map((k, seq) => { const proof = buildProof(k, INT[k]); const hash = hashIntrare(seq, prev, proof); const e = { seq, prev, proof, hash }; prev = hash; return e; }); - const { privateKey } = crypto.generateKeyPairSync('ml-dsa-65'); - const signedHead = capDeArbore(jurnal, { host: 'conformance', createdAt: AT, signKeyPem: privateKey.export({ type: 'pkcs8', format: 'pem' }) }); - // (2) an envelope nobody notarized: random content - const fresh = buildProof('data', { name: 'conformance-fresh', content: crypto.randomBytes(32).toString('hex'), createdAt: AT }); - // (3) the transaction of the recorded receipt, read from the chain - const ins = citeste(DOV.chitanta).instruction; - const rpc = async (method, params) => { const r = await fetch(RPC_28001, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), signal: AbortSignal.timeout(20000) }); if (!r.ok) throw new Error(method + ': HTTP ' + r.status); const j = await r.json(); if (j.error || !j.result) throw new Error(method + ': ' + JSON.stringify(j.error || 'no result')); return j.result; }; - const t = await rpc('eth_getTransactionByHash', [ins.txHash]); const rc = await rpc('eth_getTransactionReceipt', [ins.txHash]); - const receiptTx = { chainId: 28001, readAt: AT, tx: { from: t.from, to: t.to, value: t.value, blockHash: t.blockHash }, txReceipt: { status: rc.status, blockHash: rc.blockHash } }; - // (4) a small dataset: 12 records committed as version 1, 4 more as version 2 - const T = fs.mkdtempSync(path.join(os.tmpdir(), 'aere-conf-set-')); let dataset; - try { - const TARI = ['RO', 'DE', 'FR', 'ES']; const rec = (n, de = 0) => Array.from({ length: n }, (_, j) => { const k = de + j; return { id: 'r' + k, country: TARI[k % 4], age: 20 + ((k * 7) % 40), email: 'u' + k + '@example.test', note: 'undisclosed-' + k }; }); - const db = BAZA.creeaza(path.join(T, 'set'), { name: 'conformance', indexes: ['country', 'age'] }); - BAZA.adauga(db, rec(12)); BAZA.angajeaza(db, { createdAt: '2026-10-03T00:00:00.000Z' }); BAZA.adauga(db, rec(4, 12)); BAZA.angajeaza(db, { createdAt: '2026-10-03T00:01:00.000Z' }); - const c1 = BAZA.versiune(db, 1), c2 = BAZA.versiune(db, 2); - const cerute = []; const seed = 'conformance-sample'; const k = 4; - await BAZA.esantioneaza({ url: 'vector://served', commitment: c2, k, seed, ia: async (u) => { cerute.push(Number(u.split('/').pop())); return null; } }); - dataset = { older: c1, newer: c2, record: BAZA.dovadaInregistrare(db, 2, 5, { fields: ['country', 'age'] }), answer: BAZA.interogheaza(db, 2, { field: 'age', from: 30, to: 45, fields: ['country'] }), - consistency: BAZA.dovadaConsistenta(db, 1, 2), sample: { k, seed, served: Object.fromEntries(cerute.map((i) => [String(i), BAZA.dovadaInregistrare(db, 2, i, { fields: ['country'] })])) } }; - } finally { fs.rmSync(T, { recursive: true, force: true }); } - fs.writeFileSync(PROASPETE, JSON.stringify({ v: 1, kind: 'aere-conformance-fresh-sources', at: AT, signedHead, fresh, receiptTx, dataset }, null, 1) + '\n'); - console.log('written ' + path.basename(PROASPETE) + ' (a signed head, a fresh envelope, the receipt transaction read from 28001, a dataset of ' + dataset.newer.size + ' records)'); +async function proaspat(tot) { + // what is already in surse-proaspete.json STAYS (the vectors derived from it stay byte for byte); only what is missing is made. + // --tot remakes everything (other keys, other salts: every vector derived from the fresh sources changes). + const P = !tot && fs.existsSync(PROASPETE) ? JSON.parse(fs.readFileSync(PROASPETE, 'utf8')) : { v: 1, kind: 'aere-conformance-fresh-sources', at: new Date().toISOString() }; + const AT = new Date().toISOString(); const facute = []; const INT = intrariKinds(); + if (!P.signedHead) { // a signed tree head: three envelopes in a hash-chained log, the head signed with an ML-DSA-65 key that exists only in this call + let prev = '0x' + '00'.repeat(32); + const jurnal = ['data', 'execution', 'time'].map((k, seq) => { const proof = buildProof(k, INT[k]); const hash = hashIntrare(seq, prev, proof); const e = { seq, prev, proof, hash }; prev = hash; return e; }); + const { privateKey } = crypto.generateKeyPairSync('ml-dsa-65'); + P.signedHead = capDeArbore(jurnal, { host: 'conformance', createdAt: AT, signKeyPem: privateKey.export({ type: 'pkcs8', format: 'pem' }) }); facute.push('signedHead'); + } + if (!P.classicalHead) { // the same head "signed" by a signer that used a CLASSICAL key and declared the post-quantum scheme (the key exists only in this call) + const { publicKey, privateKey } = crypto.generateKeyPairSync('ed25519'); const h = clona(P.signedHead); + h.signature = { scheme: 'ml-dsa-65', publicKey: publicKey.export({ type: 'spki', format: 'der' }).toString('base64'), signature: crypto.sign(null, Buffer.from(JSON.stringify(h.statement), 'utf8'), privateKey).toString('base64') }; + P.classicalHead = h; facute.push('classicalHead'); + } + if (!P.fresh) { P.fresh = buildProof('data', { name: 'conformance-fresh', content: crypto.randomBytes(32).toString('hex'), createdAt: AT }); facute.push('fresh'); } // an envelope nobody notarized + if (!P.receiptTx) { // the transaction of the recorded receipt, read from the chain + const ins = citeste(DOV.chitanta).instruction; + const rpc = async (method, params) => { const r = await fetch(RPC_28001, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), signal: AbortSignal.timeout(20000) }); if (!r.ok) throw new Error(method + ': HTTP ' + r.status); const j = await r.json(); if (j.error || !j.result) throw new Error(method + ': ' + JSON.stringify(j.error || 'no result')); return j.result; }; + const t = await rpc('eth_getTransactionByHash', [ins.txHash]); const rc = await rpc('eth_getTransactionReceipt', [ins.txHash]); + P.receiptTx = { chainId: 28001, readAt: AT, tx: { from: t.from, to: t.to, value: t.value, blockHash: t.blockHash }, txReceipt: { status: rc.status, blockHash: rc.blockHash } }; facute.push('receiptTx'); + } + if (!P.dataset) { // a small dataset: 12 records committed as version 1, 4 more as version 2 + const T = fs.mkdtempSync(path.join(os.tmpdir(), 'aere-conf-set-')); + try { + const TARI = ['RO', 'DE', 'FR', 'ES']; const rec = (n, de = 0) => Array.from({ length: n }, (_, j) => { const k = de + j; return { id: 'r' + k, country: TARI[k % 4], age: 20 + ((k * 7) % 40), email: 'u' + k + '@example.test', note: 'undisclosed-' + k }; }); + const db = BAZA.creeaza(path.join(T, 'set'), { name: 'conformance', indexes: ['country', 'age'] }); + BAZA.adauga(db, rec(12)); BAZA.angajeaza(db, { createdAt: '2026-10-03T00:00:00.000Z' }); BAZA.adauga(db, rec(4, 12)); BAZA.angajeaza(db, { createdAt: '2026-10-03T00:01:00.000Z' }); + const c1 = BAZA.versiune(db, 1), c2 = BAZA.versiune(db, 2); + const cerute = []; const seed = 'conformance-sample'; const k = 4; + await BAZA.esantioneaza({ url: 'vector://served', commitment: c2, k, seed, ia: async (u) => { cerute.push(Number(u.split('/').pop())); return null; } }); + P.dataset = { older: c1, newer: c2, record: BAZA.dovadaInregistrare(db, 2, 5, { fields: ['country', 'age'] }), answer: BAZA.interogheaza(db, 2, { field: 'age', from: 30, to: 45, fields: ['country'] }), + consistency: BAZA.dovadaConsistenta(db, 1, 2), sample: { k, seed, served: Object.fromEntries(cerute.map((i) => [String(i), BAZA.dovadaInregistrare(db, 2, i, { fields: ['country'] })])) } }; + facute.push('dataset'); + } finally { fs.rmSync(T, { recursive: true, force: true }); } + } + for (const [nume, face] of Object.entries(PROASPETE_IN_PLUS)) if (!P[nume]) { P[nume] = await face(P, AT); facute.push(nume); } + fs.writeFileSync(PROASPETE, JSON.stringify(P, null, 1) + '\n'); + console.log(path.basename(PROASPETE) + ': ' + (facute.length ? 'made now: ' + facute.join(', ') : 'nothing was missing') + '; kept: ' + Object.keys(P).filter((k) => !['v', 'kind', 'at'].includes(k) && !facute.includes(k)).join(', ')); } +/** more fresh sources, each made once: name -> async (P, AT) => value. The sections of the vectors below add theirs here. */ +/** the audit log of the vectors: six envelopes of the fixed inputs in a hash chain (no key, no randomness: remade the same every time) */ +function jurnalAudit(strica = null) { + const INT = intrariKinds(); let prev = '0x' + '00'.repeat(32); + return ['data', 'execution', 'time', 'identity', 'location', 'device'].map((k, seq) => { const proof = buildProof(k, INT[k]); if (strica) strica(seq, proof); const hash = hashIntrare(seq, prev, proof); const e = { seq, prev, proof, hash }; prev = hash; return e; }); +} +/** the attested head of the first `count` entries, in the form the sidecar's attest-head writes */ +function capAudit(log, count) { + const statement = { v: 1, kind: 'aere-audit-head', host: 'conformance', count, head: count ? log[count - 1].hash : '0x' + '00'.repeat(32), createdAt: '2026-10-03T00:00:00Z' }; + return { v: 1, kind: 'aere-audit-head-attestation', statement, statementHash: sha256(Buffer.from(JSON.stringify(statement), 'utf8')) }; +} +const PROASPETE_IN_PLUS = { + // the ledger of ONE agent (its ML-DSA-65 key exists only in this call): four entries written through the ledger; the same ledger + // with its fourth entry written by an agent that signs what the ledger would not write (an empty approvals list, a false decision, + // a revocation entry without a revocation); and a ledger whose "agent identity" is a classical key + agentLedger: async () => { + const t0 = Math.floor(Date.now() / 1000) - 3600; const sha = (s) => crypto.createHash('sha256').update(Buffer.from(s, 'utf8')).digest('hex'); + const identity = newAgentIdentity(); const { policy, policyHash } = definePolicy({ agentId: identity.agentId, spend: { amount: '100', windowSeconds: 3600 }, recipients: ['0xbbbb'], tools: ['retrieval'] }); + const L = openLedger({ identity, policy, policyHash, now: () => t0 }); + L.record({ kind: 'tool', tool: 'retrieval' }); L.record({ kind: 'payment', to: '0xbbbb', amount: '40' }); L.record({ kind: 'payment', to: '0xbbbb', amount: '70' }); + const trei = L.export(); L.record({ kind: 'tool', tool: 'retrieval' }); const base = L.export(); + const intrare = (key, prev, seq, body) => { const b = { ...body, seq }; const signature = crypto.sign(null, Buffer.from(`${seq}|${prev}|${canonicLedger(b)}`, 'utf8'), key).toString('base64'); return { seq, prev, body: b, signature, hash: sha(`${seq}|${prev}|${canonicLedger(b)}|${signature}`) }; }; + const antet = { v: 2, agentId: identity.agentId, policyHash, session: trei.session }; const prev3 = trei.entries[2].hash; + const cu = (body) => ({ ...trei, entries: [...trei.entries, intrare(identity.privateKey, prev3, 3, { ...antet, at: t0, ...body })] }); + const unealta = { kind: 'tool', tool: 'retrieval', at: t0 }; + const cl = crypto.generateKeyPairSync('ed25519'); const idCl = agentIdFromKey(cl.publicKey); const pc = definePolicy({ agentId: idCl, tools: ['retrieval'] }); const sesCl = sessionId(idCl, pc.policyHash); + const clasic = { version: base.version, agentId: idCl, publicKeyPem: cl.publicKey.export({ type: 'spki', format: 'pem' }), policyHash: pc.policyHash, session: sesCl, + entries: [intrare(cl.privateKey, '0'.repeat(64), 0, { v: 2, agentId: idCl, policyHash: pc.policyHash, session: sesCl, at: t0, action: unealta, decision: { allowed: true, reason: 'tool allowed' }, provenance: null })] }; + return { t0, policy, ledger: base, + approvalsEmpty: cu({ action: unealta, decision: { allowed: true, reason: 'tool allowed' }, provenance: null, approvals: [] }), + falseDecision: cu({ action: { kind: 'payment', to: '0xbbbb', amount: '10', at: t0 }, decision: { allowed: false, reason: 'refused by the agent' }, provenance: null }), + revocationWithout: cu({ action: { kind: 'revocation', revokedAt: t0, at: t0 }, decision: { allowed: false, reason: 'revocation' }, provenance: null }), + classical: { ledger: clasic, policy: pc.policy } }; + }, + // the head of the audit log signed by its operator (ML-DSA-65), by a classical key that declares ml-dsa-65, and the public key of + // another operator; the private keys exist only in this call + auditHead: async () => { + const cap = capAudit(jurnalAudit(), 4); const op = crypto.generateKeyPairSync('ml-dsa-65'), alt = crypto.generateKeyPairSync('ml-dsa-65'), cl = crypto.generateKeyPairSync('ed25519'); + const pem = (k) => k.export({ type: 'spki', format: 'pem' }); + const clasic = { ...cap, signature: { scheme: 'ml-dsa-65', publicKey: cl.publicKey.export({ type: 'spki', format: 'der' }).toString('base64'), signature: crypto.sign(null, Buffer.from(JSON.stringify(cap.statement), 'utf8'), cl.privateKey).toString('base64') } }; + return { signed: semneazaCap(cap, op.privateKey.export({ type: 'pkcs8', format: 'pem' })), signerPem: pem(op.publicKey), otherSignerPem: pem(alt.publicKey), classical: clasic }; + }, + // three trust chains of ONE agent (its ML-DSA-65 key exists only in this call), without model attestation and runtime record: + // an action the policy allows; the same action under a policy that does not list the tool (the ledger records the refusal); + // an output dated a long time before its ledger entry + aiTrust: async () => { + const t1 = Math.floor(Date.now() / 1000) - 3600, iso = (t) => new Date(t * 1000).toISOString(); const identity = newAgentIdentity(); + const lant = (tools, outAt) => { const { policy, policyHash } = definePolicy({ agentId: identity.agentId, tools }); const ledger = openLedger({ identity, policy, policyHash, now: () => t1 }); + const proofOfAi = buildProofOfAi({ model: { name: 'example-model', version: '1.0' }, prompt: 'summarise document X', input: 'document X', output: 'a summary of document X', tools: ['model:example-model'], agentId: identity.agentId, requester: 'tester', createdAt: iso(outAt) }); + ledger.record({ kind: 'tool', tool: 'model:example-model', args: { promptHash: proofOfAi.statement.promptHash } }, { provenance: proofOfAi, at: t1 }); + return lantAI({ ledger: ledger.export(), policy: { policy, policyHash }, proofOfAi, createdAt: iso(t1) }); }; + return { allowed: lant(['model:example-model'], t1), refused: lant(['model:another-model'], t1), lateEntry: lant(['model:example-model'], t1 - 7200) }; + }, +}; // ---------- fixed inputs of the AIP-23 kinds (the inputs of the published AIP-23 kind vectors) ---------- function intrariKinds() { @@ -135,10 +206,22 @@ function construieste() { const camp = Object.keys(env.statement).find((c) => c !== 'kind' && typeof env.statement[c] === 'string'); if (!camp) throw new Error('kind ' + k + ' has no string field to change'); invalid(`envelope/${k}.integrity`, `${k}: statement.${camp} changed after hashing`, `envelope/${k}.valid`, { op: 'set', path: ['envelope', 'statement', camp], value: env.statement[camp] + '0' }, ['envelope.integrity']); } + // files that are not envelopes at all: one base (the data envelope), the whole file replaced + { const b = 'envelope/data.valid'; const env = V.find((x) => x.id === b).input.envelope; + const nuPlic = (nume, titlu, v) => invalid('envelope/data.' + nume, titlu, b, { op: 'set', path: ['envelope'], value: v }, ['envelope.form']); + nuPlic('form-null', 'the file holds the JSON value null', null); nuPlic('form-number', 'the file holds a number', 7); nuPlic('form-string', 'the file holds a string', 'x'); + nuPlic('form-true', 'the file holds true', true); nuPlic('form-list', 'the file holds a list with the envelope inside', [env]); + const lista = '[]'; + invalid('envelope/data.form-statement-list', 'the statement is a list, with the hash of that list', b, null, ['envelope.form'], { producer: { note: 'a producer that made the statement a list and hashed it', input: { envelope: { ...clona(env), statement: [], statementHash: sha256(Buffer.from(lista, 'utf8')) } }, changed: [['envelope', 'statement'], ['envelope', 'statementHash']] } }); + invalid('envelope/data.form-not-json', 'the file is not JSON (the envelope cut short)', b, null, ['envelope.form'], { producer: { note: 'the file holds text that is not JSON: the input carries it as `raw`, the text of the file, in place of `envelope`', input: { raw: JSON.stringify(env).slice(0, 60) }, changed: [['envelope'], ['raw']] } }); } // a signed envelope: the tree head of an audit log, ML-DSA-65 const b64 = P.signedHead.signature.signature; valid('envelope/signed-head.valid', 'envelope', 'a tree head signed with ML-DSA-65', 'producer (verify-layer tree head), key made and discarded at generation', { envelope: P.signedHead }, { exercises: [...E, 'envelope.signature'], levels: { authenticity: 'PASSED' } }); invalid('envelope/signed-head.signature', 'the signature has one character changed', 'envelope/signed-head.valid', { op: 'set', path: ['envelope', 'signature', 'signature'], value: (b64[0] === 'A' ? 'B' : 'A') + b64.slice(1) }, ['envelope.signature']); + invalid('envelope/signed-head.signature-classical-key', 'the signature declares ml-dsa-65 and was made with an Ed25519 key: a classical signature is not a post-quantum one because it says so', 'envelope/signed-head.valid', null, ['envelope.signature'], + { producer: { note: 'the signer used a classical key (Ed25519, made and discarded at generation) and declared the scheme ml-dsa-65', input: { envelope: P.classicalHead }, changed: [['envelope', 'signature', 'publicKey'], ['envelope', 'signature', 'signature']] } }); + invalid('envelope/signed-head.signature-not-object', 'the signature field is a string', 'envelope/signed-head.valid', { op: 'set', path: ['envelope', 'signature'], value: 'signed' }, ['envelope.signature']); + invalid('envelope/signed-head.signature-no-key', 'the signature carries no public key', 'envelope/signed-head.valid', { op: 'remove', path: ['envelope', 'signature', 'publicKey'] }, ['envelope.signature']); // notarization: a recorded envelope on 28001 (online), the same judged offline (the claim is not checked), a fresh one with a false claim const D = citeste(DOV.date); const F = [...E, 'envelope.finality']; const R = ['rpc-28001']; valid('envelope/notarized-28001.valid', 'envelope', 'a dataset commitment notarized on testnet 28001, read back under a verified post-quantum anchor', 'recorded (verifiable-data, 2026-10-02)', { envelope: D.envelope, chain: 28001 }, { exercises: F, requires: R, levels: { anchoring: 'PASSED', finality: 'PASSED' } }); @@ -226,8 +309,113 @@ function construieste() { piata('s1.complete-submission', 'the submission withheld from the timeline (the job state has a submission time)', 's1-paid-claim.partial', { op: 'remove', path: ['events', ev(d, 'ResultSubmitted')] }, ['market.complete']); piata('s1.deadline', 'the job was claimed after its deadline', 's1-paid-claim.partial', { op: 'set', path: ['events', ev(d, 'JobClaimed'), 'timestamp'], value: j.deadline + 1 }, ['market.deadline']); piata('s1.proof-late', 'the execution envelope was notarized only after the challenge window closed', 's1-paid-claim.partial', { op: 'set', path: ['envelope', 'notarization', 'firstSeen'], value: j.submittedAt + j.challengeWindow + 1 }, ['market.proof']); + invalid('market-timeline/s1-28001.proof-claim-early', 'the envelope claims it was notarized earlier than the chain, read under the anchor, says', 'market-timeline/s1-paid-28001.valid', { op: 'set', path: ['envelope', 'notarization', 'firstSeen'], value: d.envelope.notarization.firstSeen - 600 }, ['market.proof']); piata('s1.proof-other-result', 'the execution envelope names another result (and so no longer hashes to its statementHash)', 's1-paid-claim.partial', { op: 'set', path: ['envelope', 'statement', 'outputHash'], value: '0x' + 'cc'.repeat(32) }, ['envelope.integrity', 'market.proof']); } + // (F) the trust chain of an AI result (ai-trust): the bundle recorded on 28001 with its witness, and three made by one fresh agent + { const AK = Object.keys(HARTA).filter((r) => r.startsWith('aitrust.')); const B = citeste(DOV.lantAI).bundle; const A = 'ai-trust-bundle'; const src = 'recorded (ai-trust, 2026-10-02)'; + const fara = AK.filter((r) => !['aitrust.witness-head', 'aitrust.provenance-finality'].includes(r)); const L = { authenticity: 'PASSED' }; + const bo = 'ai-trust/recorded.partial', bl = 'ai-trust/recorded-28001.valid'; + valid(bo, A, 'the recorded trust chain judged offline: every link holds, the notarized heads it brings are not read', src, { bundle: B, chain: 28001 }, { exercises: fara, verdict: 'PARTIAL', levels: L }); + valid(bl, A, 'the same trust chain with the chain: the ledger head is under a verified post-quantum anchor', src, { bundle: B, chain: 28001 }, { exercises: AK, requires: R, levels: { ...L, anchoring: 'PASSED', finality: 'PASSED' } }); + const lv = (nume, titlu, op, r, o) => invalid('ai-trust/recorded.' + nume, titlu, bo, op, r, o); const altHex = (h) => h.slice(0, -1) + (h.endsWith('0') ? '1' : '0'); + const rehash = (e) => { e.statementHash = sha256(Buffer.from(JSON.stringify(e.statement), 'utf8')); return e; }; const cu = (f) => { const b = clona(B); f(b); return { bundle: b, chain: 28001 }; }; + lv('form', 'the bundle declares another format', { op: 'set', path: ['bundle', 'format'], value: 'another-format' }, ['aitrust.form'], { levels: { authenticity: 'NOT_MEASURED' } }); + lv('identity-mismatch', 'the bundle names another agent than the key derives', { op: 'set', path: ['bundle', 'identity', 'agentId'], value: 'aere-agent:' + '11'.repeat(20) }, ['aitrust.identity-mismatch']); + lv('identity-key', 'the public key of the identity is not a key', { op: 'set', path: ['bundle', 'identity', 'publicKeyPem'], value: 'not a key' }, ['aitrust.identity-key']); + lv('version-attestation', 'the model attestation changed after it was hashed', { op: 'set', path: ['bundle', 'version', 'attestation', 'statement', 'artifacts', 0, 'sha256'], value: '0x' + 'ef'.repeat(32) }, ['aitrust.version-attestation']); + lv('version-artifact-mismatch', 'the attestation covers another artifact than the weights the output names', null, ['aitrust.version-artifact-mismatch'], { producer: { note: 'the attester attested another artifact digest (statement rehashed)', input: cu((b) => { b.version.attestation.statement.artifacts[0].sha256 = '0x' + 'ab'.repeat(32); rehash(b.version.attestation); }), changed: [['bundle', 'version', 'attestation', 'statement', 'artifacts', 0, 'sha256'], ['bundle', 'version', 'attestation', 'statementHash']] } }); + lv('version-label-mismatch', 'the attestation names another model version than the output', null, ['aitrust.version-label-mismatch'], { producer: { note: 'the attester attested another version label (statement rehashed)', input: cu((b) => { b.version.attestation.statement.subject.version = String(b.version.attestation.statement.subject.version) + '-other'; rehash(b.version.attestation); }), changed: [['bundle', 'version', 'attestation', 'statement', 'subject', 'version'], ['bundle', 'version', 'attestation', 'statementHash']] } }); + lv('runtime-record', 'the runtime record is an envelope of another kind', { op: 'set', path: ['bundle', 'runtime', 'record', 'kind'], value: 'aere-proof-of-data-attestation' }, ['aitrust.runtime-record']); + lv('runtime-artifact-mismatch', 'the host declared another artifact running', null, ['aitrust.runtime-artifact-mismatch'], { producer: { note: 'the host recorded another artifact digest (statement rehashed)', input: cu((b) => { b.runtime.record.statement.artifactSha256 = '0x' + 'cd'.repeat(32); rehash(b.runtime.record); }), changed: [['bundle', 'runtime', 'record', 'statement', 'artifactSha256'], ['bundle', 'runtime', 'record', 'statementHash']] } }); + lv('runtime-after-output', 'the runtime record is dated an hour after the output', null, ['aitrust.runtime-after-output'], { producer: { note: 'the host dated its record after the output (statement rehashed)', input: cu((b) => { b.runtime.record.statement.createdAt = new Date(Date.parse(b.provenance.proofOfAi.statement.createdAt) + 3600000).toISOString(); rehash(b.runtime.record); }), changed: [['bundle', 'runtime', 'record', 'statement', 'createdAt'], ['bundle', 'runtime', 'record', 'statementHash']] } }); + lv('audit-log-broken', 'one entry hash of the audit log changed', { op: 'set', path: ['bundle', 'runtime', 'auditLog', 0, 'hash'], value: altHex(B.runtime.auditLog[0].hash) }, ['aitrust.audit-log-broken']); + lv('runtime-not-in-audit-log', 'an audit log that does not hold the runtime record', { op: 'set', path: ['bundle', 'runtime', 'auditLog'], value: [] }, ['aitrust.runtime-not-in-audit-log']); + lv('audit-head', 'the attested head of the audit log changed after it was hashed', { op: 'set', path: ['bundle', 'runtime', 'head', 'statementHash'], value: altHex(B.runtime.head.statementHash) }, ['aitrust.audit-head']); + lv('policy-hash', 'the bundle pins another policy hash than the policy it shows', { op: 'set', path: ['bundle', 'permissions', 'policyHash'], value: altHex(B.permissions.policyHash) }, ['aitrust.policy-hash']); + lv('policy', 'the policy shown is not a policy', { op: 'set', path: ['bundle', 'permissions', 'policy'], value: 'no policy' }, ['aitrust.policy']); + lv('ledger-invalid', 'a ledger entry changed after it was signed', { op: 'set', path: ['bundle', 'permissions', 'ledger', 'entries', 0, 'body', 'action', 'args'], value: { promptHash: '0x' + '00'.repeat(32) } }, ['aitrust.ledger-invalid']); + lv('output-not-in-ledger', 'another output than the one the ledger entry links', null, ['aitrust.output-not-in-ledger'], { producer: { note: 'the producer of the output wrote another output digest (statement rehashed); the ledger still links the first', input: cu((b) => { b.provenance.proofOfAi.statement.outputHash = sha256(Buffer.from('another output', 'utf8')); rehash(b.provenance.proofOfAi); }), changed: [['bundle', 'provenance', 'proofOfAi', 'statement', 'outputHash'], ['bundle', 'provenance', 'proofOfAi', 'statementHash']] } }); + lv('provenance-envelope', 'the Proof of AI envelope is of another kind (and so is no longer what the ledger links)', { op: 'set', path: ['bundle', 'provenance', 'proofOfAi', 'kind'], value: 'aere-proof-of-data-attestation' }, ['aitrust.output-not-in-ledger', 'aitrust.provenance-envelope']); + invalid('ai-trust/recorded-28001.witness-head', 'a notarized head that is not a head of this ledger', bl, { op: 'set', path: ['bundle', 'witness', 'heads', 0, 'statementHash'], value: altHex(B.witness.heads[0].statementHash) }, ['aitrust.witness-head'], { levels: { anchoring: 'FAILED', finality: 'NOT_MEASURED' } }); + invalid('ai-trust/recorded-28001.provenance-finality', 'the Proof of AI envelope claims a notarization the chain does not hold (and so is no longer what the ledger links)', bl, { op: 'add', path: ['bundle', 'provenance', 'proofOfAi', 'notarization'], value: { chainId: 28001 } }, ['aitrust.output-not-in-ledger', 'aitrust.provenance-finality'], { levels: { anchoring: 'FAILED', finality: 'PASSED' } }); + // one fresh agent, three chains: allowed (no witness at all), refused by the policy, dated apart + const T = P.aiTrust; const fb = 'ai-trust/fresh-agent.partial'; const fsrc = 'producers (agents ledger, Proof of AI), one agent key made and discarded at generation'; + valid(fb, A, 'a trust chain with no witness: the links hold, and nobody but the agent fixed a time', fsrc, { bundle: T.allowed }, { exercises: fara, verdict: 'PARTIAL', levels: L }); + invalid('ai-trust/fresh-agent.action-refused', 'the same action under a policy that does not allow the tool: the ledger entry of the output is a refusal', fb, null, ['aitrust.action-refused'], { producer: { note: 'the owner\'s policy lists another tool; the agent recorded the action and the ledger holds the refusal', input: { bundle: T.refused }, changed: [['bundle', 'permissions']] } }); + invalid('ai-trust/fresh-agent.ledger-time-mismatch', 'the output is dated two hours before its ledger entry', fb, null, ['aitrust.ledger-time-mismatch'], { producer: { note: 'the producer dated the output two hours before the agent recorded it', input: { bundle: T.lateEntry }, changed: [['bundle', 'permissions'], ['bundle', 'provenance']] } }); } + // (G) an audit log (verify-layer): the chain, an attested head, a signed head; inclusion and consistency against tree heads + { const LK = Object.keys(HARTA).filter((r) => r.startsWith('auditlog.')), TK = Object.keys(HARTA).filter((r) => r.startsWith('audittree.')); const sig = ['auditlog.head-unsigned', 'auditlog.head-scheme', 'auditlog.head-key', 'auditlog.head-signature', 'auditlog.head-signer']; + const lant = LK.filter((r) => !r.includes('.head-')), cuCap = LK.filter((r) => !sig.includes(r)); const log = jurnalAudit(), patru = log.slice(0, 4), cap4 = capAudit(log, 4); const AH = P.auditHead; + const altHex = (h) => h.slice(0, -1) + (h.endsWith('0') ? '1' : '0'); const src = 'producers (verify-layer log and tree) on the fixed inputs'; + const NA = { integrity: 'NOT_MEASURED', authenticity: 'FAILED' }; + valid('audit-log/six-entries.valid', 'audit-log', 'a log of six entries, its hash chain intact', src, { log }, { exercises: lant }); + const lg = (nume, titlu, op, r) => invalid('audit-log/six-entries.' + nume, titlu, 'audit-log/six-entries.valid', op, [r]); + lg('entry', 'an entry of the log is not a log entry', { op: 'set', path: ['log', 1], value: 'not an entry' }, 'auditlog.entry'); + lg('seq', 'an entry carries another sequence number', { op: 'set', path: ['log', 1, 'seq'], value: 5 }, 'auditlog.seq'); + lg('chain', 'an entry does not link the one before it', { op: 'set', path: ['log', 2, 'prev'], value: altHex(log[2].prev) }, 'auditlog.chain'); + lg('hash', 'the hash of the last entry is not the hash of its content', { op: 'set', path: ['log', 5, 'hash'], value: altHex(log[5].hash) }, 'auditlog.hash'); + const bh = 'audit-log/head-at-four.valid'; + valid(bh, 'audit-log', 'four entries and the attested head that covers them', src, { log: patru, head: cap4 }, { exercises: cuCap }); + const hd = (nume, titlu, op, r, o) => invalid('audit-log/head-at-four.' + nume, titlu, bh, op, [r], o); + hd('head-form', 'the head is an attestation of another kind', { op: 'set', path: ['head', 'kind'], value: 'aere-proof-of-data-attestation' }, 'auditlog.head-form'); + hd('head-hash', 'the head changed after it was hashed', { op: 'set', path: ['head', 'statementHash'], value: altHex(cap4.statementHash) }, 'auditlog.head-hash'); + hd('head-short', 'the last attested entry removed from the log', { op: 'remove', path: ['log', 3] }, 'auditlog.head-short'); + { const rescris = jurnalAudit((seq, proof) => { if (seq === 1) { proof.statement.createdAt = '2026-09-27T00:00:00Z'; proof.statementHash = sha256(Buffer.from(JSON.stringify(proof.statement), 'utf8')); } }).slice(0, 4); + hd('head-rewritten', 'the host rewrote an entry before the attested point and chained the log again', null, 'auditlog.head-rewritten', { producer: { note: 'entry 1 rewritten (another envelope), every later entry re-chained; the head is the one attested before', input: { log: rescris, head: cap4 }, changed: [['log', 1], ['log', 2], ['log', 3]] } }); } + const bs = 'audit-log/signed-head.valid'; const b64 = AH.signed.signature.signature; + valid(bs, 'audit-log', 'the same log against its head signed by the operator (ML-DSA-65), with the signer expected', src + '; operator key made and discarded at generation', { log: patru, head: AH.signed, signer: AH.signerPem }, { exercises: LK, levels: { authenticity: 'PASSED' } }); + const sg = (nume, titlu, op, r, o = {}) => invalid('audit-log/signed-head.' + nume, titlu, bs, op, [r], { levels: NA, ...o }); + sg('head-unsigned', 'the signature taken off a head whose signer is required', { op: 'remove', path: ['head', 'signature'] }, 'auditlog.head-unsigned'); + sg('head-scheme', 'the head signature declares another scheme', { op: 'set', path: ['head', 'signature', 'scheme'], value: 'ed25519' }, 'auditlog.head-scheme'); + sg('head-scheme-classical-key', 'the head is signed with an Ed25519 key that declares ml-dsa-65', null, 'auditlog.head-scheme', { producer: { note: 'the signer used a classical key (made and discarded at generation) and declared the scheme ml-dsa-65', input: { log: patru, head: AH.classical, signer: AH.signerPem }, changed: [['head', 'signature', 'publicKey'], ['head', 'signature', 'signature']] } }); + sg('head-key', 'the public key of the head signature is not a key', { op: 'set', path: ['head', 'signature', 'publicKey'], value: 'AAAA' }, 'auditlog.head-key'); + sg('head-signature', 'the head signature has one character changed', { op: 'set', path: ['head', 'signature', 'signature'], value: (b64[0] === 'A' ? 'B' : 'A') + b64.slice(1) }, 'auditlog.head-signature'); + sg('head-signer', 'the head is signed, by another key than the signer expected', { op: 'set', path: ['signer'], value: AH.otherSignerPem }, 'auditlog.head-signer'); + // the tree: inclusion of entry 2 under the head of six, consistency from the head of four to the head of six + const t6 = capDeArbore(log, { host: 'conformance', createdAt: '2026-10-03T00:00:00Z' }), t4 = capDeArbore(patru, { host: 'conformance', createdAt: '2026-10-03T00:00:00Z' }); const inc = dovadaIncludere(log, 2); + const bi = 'audit-inclusion/entry-2.valid'; const INC = TK.filter((r) => !r.includes('consistency')); + valid(bi, 'audit-inclusion', 'entry 2 proven in the tree of six entries, against its head', src, { proof: inc, head: t6 }, { exercises: INC }); + const ic = (nume, titlu, op, r, o) => invalid('audit-inclusion/entry-2.' + nume, titlu, bi, op, [r], o); + ic('proof-form', 'the proof declares another kind', { op: 'set', path: ['proof', 'kind'], value: 'another-proof' }, 'audittree.proof-form'); + ic('inclusion-index', 'the proof is for another index than the entry shown', { op: 'set', path: ['proof', 'index'], value: 3 }, 'audittree.inclusion-index'); + ic('inclusion-entry', 'the entry shown changed after it was hashed', { op: 'set', path: ['proof', 'entry', 'prev'], value: altHex(inc.entry.prev) }, 'audittree.inclusion-entry'); + ic('inclusion-leaf', 'the leaf is not the leaf of the entry shown', { op: 'set', path: ['proof', 'leafHash'], value: altHex(inc.leafHash) }, 'audittree.inclusion-leaf'); + ic('inclusion-path', 'one hash of the path changed', { op: 'set', path: ['proof', 'path', 0], value: altHex(inc.path[0]) }, 'audittree.inclusion-path'); + ic('inclusion-head', 'the head given is the head of another tree', { op: 'set', path: ['head'], value: t4 }, 'audittree.inclusion-head'); + ic('head-form', 'the tree head is an attestation of another kind', { op: 'set', path: ['head', 'kind'], value: 'aere-audit-head-attestation' }, 'audittree.head-form'); + ic('head-hash', 'the tree head changed after it was hashed', { op: 'set', path: ['head', 'statementHash'], value: altHex(t6.statementHash) }, 'audittree.head-hash'); + { const stricat = jurnalAudit((seq, proof) => { if (seq === 2) proof.statementHash = altHex(proof.statementHash); }); + ic('inclusion-envelope', 'the host logged an envelope that does not hash to its statementHash: the entry is in the tree, and it is not an envelope', null, 'audittree.inclusion-envelope', { producer: { note: 'the host wrote a broken envelope into entry 2 and chained the log over it', input: { proof: dovadaIncludere(stricat, 2), head: capDeArbore(stricat, { host: 'conformance', createdAt: '2026-10-03T00:00:00Z' }) }, changed: [['proof'], ['head']] } }); } + const cons = dovadaConsistenta(log, 4); const bc = 'audit-consistency/four-to-six.valid'; + valid(bc, 'audit-consistency', 'the tree of six entries extends the tree of four', src, { proof: cons, older: t4, newer: t6 }, { exercises: TK.filter((r) => !r.includes('inclusion')) }); + const co = (nume, titlu, op, r) => invalid('audit-consistency/four-to-six.' + nume, titlu, bc, op, [r]); + co('consistency-start', 'the proof starts at another root than the old head', { op: 'set', path: ['proof', 'firstRoot'], value: altHex(cons.firstRoot) }, 'audittree.consistency-start'); + co('consistency-end', 'the proof ends at another root than the new head', { op: 'set', path: ['proof', 'secondRoot'], value: altHex(cons.secondRoot) }, 'audittree.consistency-end'); + co('consistency', 'one hash of the consistency path changed', { op: 'set', path: ['proof', 'path', 0], value: altHex(cons.path[0]) }, 'audittree.consistency'); } + // (H) an agent's signed ledger (agents): four entries of one fresh agent, verified as a stranger would + { const GK = Object.keys(HARTA).filter((r) => r.startsWith('agents.')); const G = P.agentLedger; const bg = 'agent-ledger/four-entries.valid'; const L0 = G.ledger; + const altHex = (h) => h.slice(0, -1) + (h.endsWith('0') ? '1' : '0'); const NA = { integrity: 'NOT_MEASURED', authenticity: 'FAILED' }, NI = { authenticity: 'NOT_MEASURED' }; + valid(bg, 'agent-ledger', 'the ledger of an agent: a tool call, a payment, a payment refused above the limit, a tool call', 'producer (agents ledger), one agent key made and discarded at generation', { ledger: L0, policy: G.policy }, { exercises: GK, levels: { authenticity: 'PASSED' } }); + const ag = (nume, titlu, op, r, o = {}) => invalid('agent-ledger/four-entries.' + nume, titlu, bg, op, [r], { levels: ['agents.key', 'agents.identity', 'agents.signature'].includes(r) ? NA : NI, ...o }); + ag('ledger-form', 'the entries are not a list', { op: 'set', path: ['ledger', 'entries'], value: 'none' }, 'agents.ledger-form'); + ag('policy', 'the verifier pins another policy hash than the policy given', { op: 'add', path: ['policyHash'], value: '0x' + 'ab'.repeat(32) }, 'agents.policy'); + ag('other-policy', 'the ledger names another policy', { op: 'set', path: ['ledger', 'policyHash'], value: altHex(L0.policyHash) }, 'agents.other-policy'); + ag('session', 'the session is not the one derived from the agent and the policy', { op: 'set', path: ['ledger', 'session'], value: altHex(L0.session) }, 'agents.session'); + ag('key', 'the public key is not a key', { op: 'set', path: ['ledger', 'publicKeyPem'], value: 'not a key' }, 'agents.key'); + ag('key-classical', 'a ledger whose agent identity is an Ed25519 key: the id is derived from it and every entry is signed by it', null, 'agents.key', { producer: { note: 'the agent\'s identity key is a classical key (made and discarded at generation)', input: { ledger: G.classical.ledger, policy: G.classical.policy }, changed: [['ledger'], ['policy']] } }); + { const x = 'aere-agent:' + '11'.repeat(20); ag('identity', 'the ledger names an agent id that its key does not derive (with the session of that id)', null, 'agents.identity', { producer: { note: 'the ledger claims another agent id, and the session derived from it', input: { ledger: { ...clona(L0), agentId: x, session: sessionId(x, L0.policyHash) }, policy: G.policy }, changed: [['ledger', 'agentId'], ['ledger', 'session']] } }); } + ag('anchor', 'an anchor that names no entry of this ledger', { op: 'add', path: ['anchors'], value: [{ seq: 99, hash: L0.entries[0].hash, at: G.t0 }] }, 'agents.anchor'); + ag('seq', 'an entry carries another sequence number', { op: 'set', path: ['ledger', 'entries', 1, 'seq'], value: 5 }, 'agents.seq'); + ag('chain', 'an entry does not link the one before it', { op: 'set', path: ['ledger', 'entries', 1, 'prev'], value: altHex(L0.entries[1].prev) }, 'agents.chain'); + ag('body', 'the body of an entry names another session than its ledger', { op: 'set', path: ['ledger', 'entries', 1, 'body', 'session'], value: altHex(L0.session) }, 'agents.body'); + ag('signature', 'the signature of an entry has one character changed', { op: 'set', path: ['ledger', 'entries', 1, 'signature'], value: (L0.entries[1].signature[0] === 'A' ? 'B' : 'A') + L0.entries[1].signature.slice(1) }, 'agents.signature'); + ag('hash', 'the hash of the last entry does not reproduce', { op: 'set', path: ['ledger', 'entries', 3, 'hash'], value: altHex(L0.entries[3].hash) }, 'agents.hash'); + ag('time', 'the verifier\'s clock is before the entries: they are from its future', { op: 'add', path: ['maxTime'], value: G.t0 - 1000 }, 'agents.time'); + const al4 = (nume, titlu, l, r, nota) => ag(nume, titlu, null, r, { producer: { note: nota, input: { ledger: l, policy: G.policy }, changed: [['ledger', 'entries', 3]] } }); + al4('approvals', 'the fourth entry carries an empty approvals list', G.approvalsEmpty, 'agents.approvals', 'the agent signed an entry with an approvals field that is an empty list'); + al4('decision', 'the fourth entry writes a refusal for a payment the policy allows', G.falseDecision, 'agents.decision', 'the agent signed an entry whose decision is not the one the policy gives'); + al4('revocation', 'the fourth entry is a revocation entry that carries no revocation', G.revocationWithout, 'agents.revocation', 'the agent signed a revocation entry without the owner\'s revocation'); } // (E) a dataset: a record, a range answer, a consistency proof, an availability sample const DS = P.dataset; const REC = ['dataset.form', 'dataset.commitment', 'dataset.field', 'dataset.inclusion']; const src = 'producer (verifiable-data), random salts, generated ' + P.at; valid('dataset-record/r5.valid', 'dataset-record', 'one record against the commitment of version 2, two fields disclosed', src, { record: DS.record, commitment: DS.newer }, { exercises: REC }); @@ -285,7 +473,7 @@ const peDisc = (d, pre = '') => (fs.existsSync(d) ? fs.readdirSync(d, { withFile if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { const a = process.argv.slice(2); - if (a.includes('--proaspat')) await proaspat(); + if (a.includes('--proaspat')) await proaspat(a.includes('--tot')); const out = fisiere(construieste()); if (a.includes('--verifica')) { let dif = 0; for (const [f, t] of out) { const p = path.join(DIR, f); if (!fs.existsSync(p) || fs.readFileSync(p, 'utf8').replace(/\r\n/g, '\n') !== t) { dif++; console.log('DIFERIT: ' + f); } } diff --git a/conformance/implementare-aere.mjs b/conformance/implementare-aere.mjs index 6bda288..38d7722 100644 --- a/conformance/implementare-aere.mjs +++ b/conformance/implementare-aere.mjs @@ -18,6 +18,9 @@ import { VERIFICATOARE, FINALITY_SITES, VERIFY_PROOF, incarca } from './reguli.m import { acumulator, pica, trece, nemasurat, verdictUnic } from './verdict.mjs'; const RPC = { 2800: process.env.AERE_CONFORMANCE_RPC_2800 || 'https://rpc.aere.network', 28001: process.env.AERE_CONFORMANCE_RPC_28001 || 'https://testnet-rpc.aere.network' }; +// a verifier that takes the reference verifier as a DEPENDENCY (the trust chain judges its envelopes with it) gets the real one even +// while the planting control substitutes a planted copy for the envelopes this file judges itself +const VERIFY_PROOF_DEP = process.env.AERE_CONF_VERIFY_PROOF_DEP || VERIFY_PROOF; const LANT = (n) => (n === 28001 ? 'chain 28001, a testnet' : 'chain ' + n); const ARTIFACTE = Object.values(VERIFICATOARE).flatMap((v) => v.artifacts); const toateRegulile = Object.values(VERIFICATOARE).flatMap((v) => Object.values(v.reguli).map((r) => r[0])); @@ -30,11 +33,11 @@ function ruleaza(cmd, args, timeout) { }); } /** The envelope, judged by the reference verifier; its levels land in the accumulator under the public rule ids. */ -async function plic(acc, env, { online, chain }) { +async function plic(acc, env, { online, chain, raw }) { if (!fs.existsSync(VERIFY_PROOF)) throw new Error('the AIP-23 reference verifier is not at ' + VERIFY_PROOF + ' (AERE_VERIFY_PROOF=)'); const claim = env && typeof env === 'object' ? env.notarization : null; let judecat = env; if (!online && claim) { judecat = { ...env }; delete judecat.notarization; } - const f = path.join(fs.mkdtempSync(path.join(os.tmpdir(), 'aere-conf-')), 'envelope.json'); fs.writeFileSync(f, JSON.stringify(judecat === undefined ? null : judecat)); + const f = path.join(fs.mkdtempSync(path.join(os.tmpdir(), 'aere-conf-')), 'envelope.json'); fs.writeFileSync(f, typeof raw === 'string' ? raw : JSON.stringify(judecat === undefined ? null : judecat)); // `raw`: the text of a file that is not JSON const lant = Number(chain || (claim && claim.chainId) || 28001); const args = [VERIFY_PROOF, f, '--json']; if (online) { if (!RPC[lant]) throw new Error('no endpoint known for chain ' + lant); args.push('--chain', String(lant), '--rpc', RPC[lant]); } let r; try { r = await ruleaza(process.execPath, args, online ? 240000 : 60000); } finally { fs.rmSync(path.dirname(f), { recursive: true, force: true }); } @@ -57,6 +60,7 @@ async function plic(acc, env, { online, chain }) { if (loc[0].level === 'anchoring') nemasurat(acc, 'finality', 'not-applicable', 'nothing is anchored, so no certificate covers it'); else nemasurat(acc, 'anchoring', 'not-reached', 'the anchor certificate did not verify, the notary state under it was not read'); } else ambele(fin.state === 'ABSENT' ? 'absent' : fin.state === 'PENDING' ? 'pending' : 'unmeasurable', fin.detail); + return j; } const faraPlic = (acc) => { for (const l of ['authenticity', 'anchoring', 'finality']) nemasurat(acc, l, 'not-judged', 'this artifact carries no AIP-23 envelope; its commitment is signed or anchored through one, judged as the artifact `envelope`'); }; /** The rules a module named, as public ids at their levels; `text` is the module's own reasons. */ @@ -68,7 +72,7 @@ function reguli(acc, verifier, surse, motive, titlu) { async function judeca(artifact, input, online) { const acc = acumulator(); - if (artifact === 'envelope') await plic(acc, input.envelope, { online, chain: input.chain }); + if (artifact === 'envelope') await plic(acc, input.envelope, { online, chain: input.chain, raw: input.raw }); else if (artifact === 'payment-risk') { const M = await incarca('risc'); const v = M.judeca(input.policy, input.inputs); if ((v.decision === 'ALLOW') !== (v.rules.length === 0)) throw new Error('the risk module refused without naming a rule'); @@ -79,10 +83,57 @@ async function judeca(artifact, input, online) { reguli(acc, 'payment-receipt', r.reguli, r.motive, 'no rule of the receipt verifier refused' + (r.chainChecked ? ' (transaction facts supplied)' : ' (no transaction facts supplied)')); await plic(acc, input.receipt && input.receipt.envelope, { online, chain: input.chain }); } else if (artifact === 'market-timeline') { - const M = await incarca('piata'); const r = M.judeca(input); + // the envelope first: WHEN it was notarized is the reading of the reference verifier under the anchor (its finality level's + // `certified`), handed to the judge. A `certified` the artifact brings itself is dropped: that reading is never the artifact's. + const M = await incarca('piata'); const { certified: adus, ...cronologie } = input; let certified = null; + if (input.envelope) { const j = await plic(acc, input.envelope, { online, chain: input.chainId }); const f = (j.levels || []).find((x) => x.level === 'finality'); if (f && f.state === 'PASSED' && f.certified) certified = { ...f.certified, statementHash: input.envelope.statementHash }; } else faraPlic(acc); + const r = M.judeca(certified ? { ...cronologie, certified } : cronologie); if (r.verdict === 'INCOMPLETE') nemasurat(acc, 'integrity', 'incomplete', 'the timeline is not terminal (' + (r.status || 'no job or no events') + ')'); else { if ((r.verdict === 'VALID') !== (r.reguli.length === 0)) throw new Error('the market judge refused without naming a rule'); reguli(acc, 'market-timeline', r.reguli, r.motive, 'no rule of the market judge refused (status ' + r.status + ')'); } - if (input.envelope) await plic(acc, input.envelope, { online, chain: input.chainId }); else faraPlic(acc); + } else if (artifact === 'audit-log' || artifact === 'audit-inclusion' || artifact === 'audit-consistency') { + // an audit log against its own chain and, when given, an attested head; an inclusion or a consistency proof against tree heads. + // The checks of a head's signature are the sidecar's whichever file calls them: their rules are mapped there. + const S = VERIFICATOARE['audit-log'].reguli, T = VERIFICATOARE['audit-tree'].reguli; let r, semnat = null; + if (artifact === 'audit-log') { const M = await incarca('sidecar'); r = input.head !== undefined ? M.verificaFataDeCap(input.log, input.head, { semnatar: input.signer || null }) : M.verificaJurnal(input.log); if (r.ok && input.head !== undefined) semnat = r.semnatDe; } + else { const M = await incarca('arbore'); r = artifact === 'audit-inclusion' ? M.verificaIncludere(input.proof, { cap: input.head || null, semnatar: input.signer || null }) : M.verificaConsistenta(input.proof, { vechi: input.older, nou: input.newer, semnatar: input.signer || null }); if (r.ok) semnat = r.semnatDe || r.semnatNou || null; } + if (r.ok) { trece(acc, 'integrity', 'no rule of the audit log verifier refused'); if (semnat) trece(acc, 'authenticity', 'the head is signed with ML-DSA-65 by key ' + String(semnat).slice(0, 18) + (input.signer ? '.., the expected signer' : '.. (not compared with an expected signer)')); else nemasurat(acc, 'authenticity', 'absent', 'no signed head'); } + else { const m = (artifact === 'audit-log' ? S[r.regula] : T[r.regula] || S[r.regula]); if (!m) throw new Error('the audit log verifier refused without a rule this suite maps: ' + r.regula); pica(acc, m[1], m[0], r.motiv); + nemasurat(acc, m[1] === 'integrity' ? 'authenticity' : 'integrity', 'not-reached', 'the verifier stopped at its first refusal'); } + for (const l of ['anchoring', 'finality']) nemasurat(acc, l, 'not-judged', 'an audit head is anchored by notarizing its envelope, judged as the artifact `envelope`'); + } else if (artifact === 'agent-ledger') { + // an agent's signed ledger, verified as a stranger would: the policy re-hashed, the identity bound to the key, every signature, the + // chain, and every decision re-derived by replaying the policy + const M = await incarca('ledger'); const R = VERIFICATOARE['agent-ledger'].reguli; const o = { policy: input.policy, policyHash: input.policyHash, anchors: input.anchors || [], notBefore: input.notBefore === undefined ? null : input.notBefore, revocations: input.revocations || [] }; + if (input.maxTime !== undefined) o.maxTime = input.maxTime; + const r = M.verifyLedger(input.ledger, o); + if (r.ok) { trece(acc, 'integrity', `the ledger verifies under its policy: ${r.seq} entries, ${r.allowedPayments} allowed payments, time ${r.time.lowerBound}`); trece(acc, 'authenticity', 'the agent id is derived from its ML-DSA-65 key and every entry is signed by it'); } + else { const m = R[r.rule]; if (!m) throw new Error('the ledger verifier refused without a rule this suite maps: ' + r.rule); pica(acc, m[1], m[0], r.error); nemasurat(acc, m[1] === 'integrity' ? 'authenticity' : 'integrity', 'not-reached', 'the verifier stopped at its first refusal'); } + for (const l of ['anchoring', 'finality']) nemasurat(acc, l, 'not-judged', 'a ledger head is anchored by notarizing its envelope, judged as the artifact `envelope`'); + } else if (artifact === 'ai-trust-bundle') { + // the trust chain of an AI result, judged by its own verifier (which runs the reference verifier on each envelope and the agents' + // and the audit log's verifiers on theirs). Offline, a notarization claimed by the attestation, the runtime record or the audit + // head is taken out of the copy judged (those envelopes are not hashed into the ledger) and reported as not checked. + const M = await incarca('aitrust'); const b = JSON.parse(JSON.stringify(input.bundle === undefined ? null : input.bundle)); let claim = false; const ob = (x) => !!x && typeof x === 'object'; + const lant = Number((ob(b) && ob(b.witness) && b.witness.chainId) || input.chain || 28001); + if (!online && ob(b)) { + for (const e of [ob(b.version) && b.version.attestation, ob(b.runtime) && b.runtime.record, ob(b.runtime) && b.runtime.head]) if (ob(e) && e.notarization) { delete e.notarization; claim = true; } + if (ob(b.provenance) && ob(b.provenance.proofOfAi) && b.provenance.proofOfAi.notarization) { nemasurat(acc, 'integrity', 'claim-not-checked', 'the Proof of AI envelope claims a notarization: this bundle is judged only with the chain (--online)'); return verdictUnic(artifact, acc); } + } + if (online && !RPC[lant]) throw new Error('no endpoint known for chain ' + lant); + const v = await M.verifica(b, { verifyProof: VERIFY_PROOF_DEP, rpc: online ? RPC[lant] : null, chain: online ? lant : null }); + const R = VERIFICATOARE['ai-trust'].reguli; const st = v.levels, det = v.details; + for (const l of Object.keys(st)) if (st[l] === 'FAILED') { const r = R[det[l].reason]; if (!r) throw new Error('ai-trust named a rule this suite does not map: ' + det[l].reason); pica(acc, r[1], r[0], det[l].detail); } + const INT = ['version', 'runtime', 'permissions', 'provenance']; + const nem = INT.find((l) => st[l] === 'UNMEASURED'); + if (nem) nemasurat(acc, 'integrity', 'unmeasurable', nem + ': ' + det[nem].reason); + else if (st.form === 'PASSED' && st.permissions === 'PASSED' && st.provenance === 'PASSED') trece(acc, 'integrity', 'the links hold: ' + INT.map((l) => l + ' ' + st[l]).join(', ')); + if (st.identity === 'PASSED') trece(acc, 'authenticity', det.identity.detail); else if (st.identity !== 'FAILED') nemasurat(acc, 'authenticity', 'not-reached', 'the identity level was not reached'); + const ambele = (cause, reason) => { nemasurat(acc, 'anchoring', cause, reason); nemasurat(acc, 'finality', cause, reason); }; + if (st.witness === 'PASSED') { trece(acc, 'anchoring', det.witness.detail); trece(acc, 'finality', 'the post-quantum certificate of the covering anchor verified (' + LANT(lant) + '; the finality is that chain\'s)'); } + else if (st.witness === 'FAILED') nemasurat(acc, 'finality', 'not-applicable', 'no head of this ledger is anchored'); + else if (st.witness === 'UNMEASURED') ambele(online ? 'unmeasurable' : 'claim-not-checked', online ? String(det.witness.detail).slice(0, 200) : 'the bundle brings notarized heads; this run was offline, they were not read'); + else if (st.form === 'PASSED') ambele('unwitnessed', 'no witness: every time in this bundle is the statement of whoever holds the keys'); + if (claim) nemasurat(acc, 'anchoring', 'claim-not-checked', 'an envelope of the bundle claims a notarization; this run was offline, the claim was not checked'); } else if (artifact.startsWith('dataset-')) { const M = await incarca('baza'); let r; if (artifact === 'dataset-record') r = M.verificaInregistrare(input.record, input.commitment); diff --git a/conformance/implementare-integritate.py b/conformance/implementare-integritate.py index 4313c87..1b172a1 100644 --- a/conformance/implementare-integritate.py +++ b/conformance/implementare-integritate.py @@ -94,6 +94,11 @@ def verdict(artifact, failed_by_level, reasons, passed, partial=None): def judge_envelope(inp): env = inp.get('envelope') + if isinstance(inp.get('raw'), str): # the text of a file, in place of the envelope: it may not be JSON at all + try: + env = json.loads(inp['raw']) + except ValueError: + return verdict('envelope', {'integrity': ['envelope.form']}, ['the file is not JSON'], {}) ok_form = isinstance(env, dict) and isinstance(env.get('statement'), dict) and isinstance(env.get('statementHash'), str) and bool(H64.match(env['statementHash'])) if not ok_form: return verdict('envelope', {'integrity': ['envelope.form']}, ['the envelope lacks a statement (object) and a statementHash (0x + 64 hex)'], {}) diff --git a/conformance/proba-conformance.mjs b/conformance/proba-conformance.mjs index 7028734..361fcaa 100644 --- a/conformance/proba-conformance.mjs +++ b/conformance/proba-conformance.mjs @@ -5,7 +5,8 @@ // node proba-conformance.mjs [--online] [--acceptate] the suite is derived, whole, single-place, two implementations pass it, // and malformed artifacts are refused by name (--acceptate lists what a // verifier still accepts when damaged: the optional and the unread) -// node proba-conformance.mjs --control-negativ [--online] every rule planted out of its verifier, one at a time: the vectors that +// node proba-conformance.mjs --control-negativ [--online] [--doar ] +// every rule planted out of its verifier, one at a time: the vectors that // name the rule, and only they, must fail; plus the controls of the // runner, of the coverage gate and of the rule derivation // node proba-conformance.mjs --pe-loc a MEASUREMENT, not a gate: each check site planted out alone; how many @@ -15,7 +16,7 @@ // vectors need the AIP-23 reference verifier (AERE_VERIFY_PROOF=, with `npm install` done beside it); --online // reads testnet 28001 (nothing is sent). import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; import { spawn, spawnSync } from 'node:child_process'; import { fileURLToPath, pathToFileURL } from 'node:url'; -import { deriva, hartaPublica, VERIFICATOARE, MODULE, VERIFY_PROOF, FINALITY_SITES, incarca } from './reguli.mjs'; +import { deriva, hartaPublica, VERIFICATOARE, MODULE, VERIFY_PROOF, FINALITY_SITES, incarca, marcajul } from './reguli.mjs'; import { incarcaVectorii, ruleazaSuita } from './conformance.mjs'; import { aplica, plicuriKinds } from './genereaza-vectori.mjs'; @@ -46,11 +47,12 @@ const numar = (s, st) => s.rezultate.filter((r) => r.stare === st); // ---------- planting ---------- const PLANT = "|| String(1) === '1' /*PLANTAT*/"; -/** exact-once plantings of the reference verifier (a published program without markers): rule -> [text, planted text] */ +/** exact-once plantings of the reference verifier (a published program without markers): rule -> [text, planted text]. The rule is + * taken out whole: its level then passes whatever it is shown. */ const PLANT_VP = { - form: [".test(env.statementHash);", ".test(env.statementHash) || String(1) === '1';"], - integrity: ["const ok = h === env.statementHash.toLowerCase();", "const ok = h === env.statementHash.toLowerCase() || String(1) === '1';"], - signature: ["const ok = crypto.verify(null, Buffer.from(text, 'utf8'), pub, sig);", "const ok = crypto.verify(null, Buffer.from(text, 'utf8'), pub, sig) || String(1) === '1';"], + form: ["const formOk = obj(env) && obj(env.statement)", "const formOk = String(1) === '1' || obj(env) && obj(env.statement)"], + integrity: ["const ok = h === sh.toLowerCase();", "const ok = h === sh.toLowerCase() || String(1) === '1';"], + signature: [" const s = env.signature;\n", " const s = env.signature;\n if (String(1) === '1') return level('signature', 'PASSED', 'planted out');\n"], finality: ["env.notarization ? 'FAILED' : 'ABSENT'", "(env.notarization && String(1) === '2') ? 'FAILED' : 'ABSENT'"], }; /** Writes the planted copy of a rule's verifier beside the original; returns { copie, env } or { stricat }. `loc` plants one site only. */ @@ -60,9 +62,14 @@ function planteaza(verifier, sursa, loc = null) { const src = fs.readFileSync(VERIFY_PROOF, 'utf8'); const [de, cu] = PLANT_VP[sursa] || []; const n = de ? src.split(de).length - 1 : 0; if (n !== 1) return { stricat: `the planting anchor of ${sursa} appears ${n} times in the reference verifier` }; const copie = path.join(path.dirname(VERIFY_PROOF), `.plantat-conf-${process.pid}-${sursa}.mjs`); fs.writeFileSync(copie, src.replace(de, () => cu)); - return { copie, env: { AERE_VERIFY_PROOF: copie } }; + return { copie, env: { AERE_VERIFY_PROOF: copie, AERE_CONF_VERIFY_PROOF_DEP: VERIFY_PROOF } }; } - const p = fileURLToPath(MODULE[d.sursa].url); const src = fs.readFileSync(p, 'utf8'); const bucati = src.split(`/*PAZA:${sursa}*/`); const n = bucati.length - 1; + const p = fileURLToPath(MODULE[d.sursa].url); const src = fs.readFileSync(p, 'utf8'); const ap = marcajul(d.sursa); + if (ap) { // the rule is named where the verifier refuses: its one refusal helper, in the copy, drops the refusals of this rule + const text = ap.planteaza(src, sursa); if (text === null || loc !== null) return { stricat: loc !== null ? 'no single sites to plant' : 'the refusal helper is not where the planting expects it' }; + const copie = path.join(path.dirname(p), `_plantat-conf-${process.pid}-${sursa}.mjs`); fs.writeFileSync(copie, text); return { copie, env: { [MODULE[d.sursa].env]: copie } }; + } + const bucati = src.split(`/*PAZA:${sursa}*/`); const n = bucati.length - 1; if (n < 1) return { stricat: `no /*PAZA:${sursa}*/ marker in ${path.basename(p)}` }; if (loc !== null && loc >= n) return { stricat: 'site ' + loc + ' of ' + n }; const text = loc === null ? bucati.join(PLANT) : bucati.map((b, i) => (i === bucati.length - 1 ? b : b + (i === loc ? PLANT : `/*PAZA:${sursa}*/`))).join(''); @@ -70,9 +77,9 @@ function planteaza(verifier, sursa, loc = null) { return { copie, env: { [MODULE[d.sursa].env]: copie } }; } /** the suite, run as a separate program (several plantings run side by side) */ -function suitaAsync(env, { online: on = false, doar = null } = {}) { +function suitaAsync(env, { online: on = false, doar = null, artefacte = null } = {}) { return new Promise((gata) => { - const args = [path.join(AICI, 'conformance.mjs'), '--impl', REF, '--json']; if (on) args.push('--online'); if (doar) args.push('--only', doar); + const args = [path.join(AICI, 'conformance.mjs'), '--impl', REF, '--json']; if (on) args.push('--online'); if (doar) args.push('--only', doar); if (artefacte) args.push('--artifacts', artefacte.join(',')); const c = spawn(process.execPath, args, { env: { ...process.env, ...env }, stdio: ['ignore', 'pipe', 'pipe'] }); let out = '', err = ''; c.stdout.on('data', (d) => { out += d; }); c.stderr.on('data', (d) => { err += d; }); c.on('close', () => { try { gata({ rezultate: JSON.parse(out).results }); } catch { gata({ eroare: (out + err).trim().split('\n').slice(-1)[0].slice(0, 200) }); } }); @@ -83,20 +90,26 @@ const ramase = () => [...Object.values(MODULE).map((m) => path.dirname(fileURLTo /** * Every path of every offline vector that is not INVALID, removed or replaced by null, a string, a number, a list, an object, and given - * to the module verifiers directly. Left out, and said: the policy (a policy that cannot be defined is refused by definePolicy by - * throwing, by design: nothing is judged under it) and the public task of a market job (each replay costs seconds). + * to the module verifiers directly. Left out, and said: the policy of a payment (a policy that cannot be defined is refused by + * definePolicy by throwing, by design: nothing is judged under it), the public task of a market job (each replay costs seconds), and + * the ai-trust bundle (its verifier runs the reference verifier, a program, several times per case). * @returns {{ cazuri: number, aruncate: string[], acceptate: string[] }} acceptate = the paths (without array positions) whose damage was accepted */ async function malformate() { - const R = await incarca('risc'), C = await incarca('chitanta'), P = await incarca('piata'), B = await incarca('baza'); const clona = (x) => JSON.parse(JSON.stringify(x)); + const R = await incarca('risc'), C = await incarca('chitanta'), P = await incarca('piata'), B = await incarca('baza'), SC = await incarca('sidecar'), AR = await incarca('arbore'), L = await incarca('ledger'); const clona = (x) => JSON.parse(JSON.stringify(x)); const J = { 'payment-risk': (i) => R.judeca(i.policy, i.inputs).decision === 'ALLOW', 'payment-receipt': (i) => C.verificaChitanta(i.receipt, { policy: i.policy, inputs: i.inputs, tx: i.tx, receipt: i.txReceipt }).verdict === 'VALID', 'market-timeline': (i) => P.judeca(i).verdict === 'VALID', - 'dataset-record': (i) => B.verificaInregistrare(i.record, i.commitment).ok, 'dataset-answer': (i) => B.verificaRaspuns(i.answer, i.commitment).verdict === 'VALID', 'dataset-consistency': (i) => B.verificaConsistentaVersiuni(i.proof, i.older, i.newer).ok }; + 'dataset-record': (i) => B.verificaInregistrare(i.record, i.commitment).ok, 'dataset-answer': (i) => B.verificaRaspuns(i.answer, i.commitment).verdict === 'VALID', 'dataset-consistency': (i) => B.verificaConsistentaVersiuni(i.proof, i.older, i.newer).ok, + // the verifiers enrolled after the first four (2026-10-05), called the way the adapter calls them; ai-trust is not here: each case would run the reference verifier several times + 'audit-log': (i) => (i.head !== undefined ? SC.verificaFataDeCap(i.log, i.head, { semnatar: i.signer || null }) : SC.verificaJurnal(i.log)).ok, + 'audit-inclusion': (i) => AR.verificaIncludere(i.proof, { cap: i.head || null, semnatar: i.signer || null }).ok, + 'audit-consistency': (i) => AR.verificaConsistenta(i.proof, { vechi: i.older, nou: i.newer, semnatar: i.signer || null }).ok, + 'agent-ledger': (i) => { const o = { policy: i.policy, policyHash: i.policyHash, anchors: i.anchors || [], notBefore: i.notBefore === undefined ? null : i.notBefore, revocations: i.revocations || [] }; if (i.maxTime !== undefined) o.maxTime = i.maxTime; return L.verifyLedger(i.ledger, o).ok; } }; const cai = (x, p = []) => (x !== null && typeof x === 'object' ? [p, ...Object.keys(x).flatMap((k) => cai(x[k], [...p, Array.isArray(x) ? Number(k) : k]))] : [p]).filter((q) => q.length); const VAL = [null, 'x', 7, [], {}]; let cazuri = 0; const aruncate = [], acceptate = []; for (const v of vectori) { if (!J[v.artifact] || v.expected.verdict === 'INVALID' || v.requires.length) continue; const inp = clona(v.input); if (v.artifact === 'market-timeline') delete inp.spec; - for (const p of cai(inp)) { if (p[0] === 'policy') continue; + for (const p of cai(inp)) { if (p[0] === 'policy' && v.artifact.startsWith('payment-')) continue; for (const op of ['remove', 0, 1, 2, 3, 4]) { const c = clona(inp); let o = c; for (const k of p.slice(0, -1)) o = o[k]; const k = p[p.length - 1]; if (op === 'remove') { if (Array.isArray(o)) o.splice(k, 1); else delete o[k]; } else { if (JSON.stringify(o[k]) === JSON.stringify(VAL[op])) continue; o[k] = clona(VAL[op]); } cazuri++; try { if (J[v.artifact](c)) acceptate.push(v.artifact + ':' + p.filter((x) => typeof x !== 'number').join('.')); } catch (e) { aruncate.push(v.id + ' ' + p.join('.') + ' <- ' + (op === 'remove' ? 'removed' : JSON.stringify(VAL[op])) + ': ' + String(e.message).slice(0, 60)); } } } @@ -158,10 +171,17 @@ if (!control && !peLoc) { if (a.includes('--acceptate')) for (const c of cai) console.log(' ' + c); } } else if (control) { console.log('CONTROL: every rule planted out of its verifier, one at a time; the vectors that expect the rule, and only they, must fail'); - const cazuri = []; for (const [v, d] of Object.entries(VERIFICATOARE)) for (const [src, [id]] of Object.entries(d.reguli)) cazuri.push({ v, src, id, online: id === 'envelope.finality' }); - const deRulat = cazuri.filter((c) => !c.online || online); let bune = 0; + // Under a planting the suite runs the vectors of every artifact kind that can load the planted verifier (the kinds whose vectors + // exercise a rule of that verifier); the other kinds never load it: the adapter reaches a planted copy only through that verifier's + // own variable, and a verifier that another one imports is imported from its real file. + const atinse = (verif) => [...new Set(vectori.filter((x) => x.exercises.some((r) => HARTA[r] && HARTA[r].verifier === verif)).map((x) => x.artifact))]; + // a rule whose vectors are ALL chain vectors can be controlled only with --online; with --online a rule that has chain vectors is run with them + const toate = []; for (const [v, d] of Object.entries(VERIFICATOARE)) for (const [src, [id]] of Object.entries(d.reguli)) { const ai = vectori.filter((x) => x.expected.failed.includes(id)); toate.push({ v, src, id, numaiOnline: ai.length > 0 && ai.every((x) => x.requires.length), online: online && ai.some((x) => x.requires.length) }); } + const filtru = a.includes('--doar') ? a[a.indexOf('--doar') + 1] : null; const cazuri = toate.filter((c) => !filtru || c.id.startsWith(filtru)); + if (filtru) console.log(` (FILTERED: --doar ${filtru}: ${cazuri.length} of ${toate.length} rules; the others are NOT controlled by this run)`); + const deRulat = cazuri.filter((c) => !c.numaiOnline || online); let bune = 0; try { - const rez = await inParalel(deRulat.map((c) => async () => { const p = planteaza(c.v, c.src); if (p.stricat) return { stricat: p.stricat }; try { return await suitaAsync(p.env, { online: c.online }); } finally { fs.rmSync(p.copie, { force: true }); } })); + const rez = await inParalel(deRulat.map((c) => async () => { const p = planteaza(c.v, c.src); if (p.stricat) return { stricat: p.stricat }; try { return await suitaAsync(p.env, { online: c.online, artefacte: atinse(c.v) }); } finally { fs.rmSync(p.copie, { force: true }); } })); deRulat.forEach((c, k) => { const r = rez[k]; const asteptate = cuRegula(c.id, vectori.filter((v) => c.online || !v.requires.length)).sort(); if (r.stricat || r.eroare) return rand('STRICAT', `${c.id}: ${r.stricat || r.eroare}`); @@ -170,7 +190,8 @@ if (!control && !peLoc) { rand(ok ? 'VERDE' : stricate.length ? 'STRICAT' : 'ROSU', `${c.id} planted out: ${cazute.length} vector(s) fail` + (ok ? `, exactly the ${asteptate.length} that expect it` : `; expected exactly [${asteptate.join(', ')}], failed [${cazute.join(', ')}]` + (stricate.length ? `, broken [${stricate.join(', ')}]` : ''))); }); } finally { for (const f of ramase()) fs.rmSync(f, { force: true }); } - for (const c of cazuri.filter((x) => x.online && !online)) rand('NEMASURAT', `${c.id}: its vectors need testnet 28001 (--online)`); + for (const c of cazuri.filter((x) => x.numaiOnline && !online)) rand('NEMASURAT', `${c.id}: its vectors need testnet 28001 (--online)`); + if (filtru) rand('NEMASURAT', `${toate.length - cazuri.length} rules left out by --doar`); console.log('CONTROL of the instruments'); { // the runner can fail: an implementation that calls everything VALID const stub = path.join(fs.mkdtempSync(path.join(os.tmpdir(), 'aere-conf-stub-')), 'stub.mjs'); diff --git a/conformance/reguli.mjs b/conformance/reguli.mjs index 1e20ab4..37911c6 100644 --- a/conformance/reguli.mjs +++ b/conformance/reguli.mjs @@ -20,11 +20,25 @@ export const MODULE = { chitanta: { url: new URL('../payments/chitanta.mjs', import.meta.url), env: 'AERE_CONF_MODUL_CHITANTA' }, piata: { url: new URL('../market-settlement/piata.mjs', import.meta.url), env: 'AERE_CONF_MODUL_PIATA' }, baza: { url: new URL('../verifiable-data/baza.mjs', import.meta.url), env: 'AERE_CONF_MODUL_BAZA' }, + aitrust: { url: new URL('../ai-trust/lant-de-incredere.mjs', import.meta.url), env: 'AERE_CONF_MODUL_AITRUST' }, + sidecar: { url: new URL('../verify-layer/sidecar.mjs', import.meta.url), env: 'AERE_CONF_MODUL_SIDECAR' }, + arbore: { url: new URL('../verify-layer/jurnal-arbore.mjs', import.meta.url), env: 'AERE_CONF_MODUL_ARBORE' }, + ledger: { url: new URL('../agents/agent-ledger.mjs', import.meta.url), env: 'AERE_CONF_MODUL_LEDGER' }, }; export const caleModul = (k) => process.env[MODULE[k].env] || fileURLToPath(MODULE[k].url); export const incarca = (k) => import(pathToFileURL(caleModul(k)).href); -const I = 'integrity'; +const I = 'integrity', AU = 'authenticity', AN = 'anchoring'; +/** + * How a verifier MARKS its rules in code. `paza`: a comment marker on every check of a rule (the planting makes the marked check true). + * `apel`: every refusal names its rule where it calls the verifier's one refusal helper (`apel.re` finds those calls; `apel.planteaza` + * rewrites that helper, in a copy, so that it drops the refusals of one rule). Either way a rule is planted out WHOLE, in a copy. + */ +const APEL = { + aitrust: { re: /(?:\bfail|fail : unm\))\('[a-z]+', '([a-z-]+)'/g, + planteaza: (src, r) => { const a = "const fail = (l, reason, detail) => { if (!REGULI.includes(reason)) throw new Error('ai-trust: undeclared rule ' + reason); "; return src.split(a).length === 2 ? src.replace(a, () => a + `if (reason === '${r}') return; `) : null; } }, +}; +export const marcajul = (sursa) => APEL[sursa] || null; /** verifier -> { artifacts it judges, where its rules come from, source rule -> [public id, level, what the rule says] } */ export const VERIFICATOARE = { 'aip23-envelope': { artifacts: ['envelope'], sursa: 'verify-proof', reguli: { @@ -67,6 +81,72 @@ export const VERIFICATOARE = { completitudine: ['dataset.completeness', I, 'the rows are the whole contiguous run; the neighbours on both sides are outside the range'], consistenta: ['dataset.consistency', I, 'the older log is a prefix of the newer (RFC 9162 consistency) and the versions are linked'], esantion: ['dataset.sample', I, 'every sampled position is served and verifies'] } }, + 'ai-trust': { artifacts: ['ai-trust-bundle'], sursa: 'aitrust', reguli: { + form: ['aitrust.form', I, 'the bundle has the format, an identity, a ledger with its policy, and a Proof of AI envelope'], + 'identity-mismatch': ['aitrust.identity-mismatch', AU, 'the id derived from the key is the one the bundle, the ledger and the output name'], + 'identity-key': ['aitrust.identity-key', AU, 'the public key of the identity can be read'], + 'version-attestation': ['aitrust.version-attestation', I, 'the Proof of Software attestation of the model artifact verifies as an envelope'], + 'version-artifact-mismatch': ['aitrust.version-artifact-mismatch', I, 'the output names model weights that the attestation covers'], + 'version-label-mismatch': ['aitrust.version-label-mismatch', I, 'the output and the attestation name the same model version'], + 'runtime-record': ['aitrust.runtime-record', I, 'the runtime record is a verified runtime attestation'], + 'runtime-artifact-mismatch': ['aitrust.runtime-artifact-mismatch', I, 'the host ran the artifact the output names'], + 'runtime-after-output': ['aitrust.runtime-after-output', I, 'the runtime record is not dated after the output'], + 'audit-log-broken': ['aitrust.audit-log-broken', I, 'the hash chain of the audit log given is intact'], + 'runtime-not-in-audit-log': ['aitrust.runtime-not-in-audit-log', I, 'the runtime record is an entry of the audit log given'], + 'audit-head': ['aitrust.audit-head', I, 'the audit log continues the attested head given'], + 'witness-head': ['aitrust.witness-head', AN, 'every notarized head given is a head of this ledger, recorded on the chain'], + 'policy-hash': ['aitrust.policy-hash', I, 'the policy given hashes to the policy hash the bundle pins'], + 'ledger-invalid': ['aitrust.ledger-invalid', I, 'the ledger verifies under its policy (signatures, chain, every decision re-derived)'], + 'output-not-in-ledger': ['aitrust.output-not-in-ledger', I, 'a ledger entry links this Proof of AI envelope'], + 'action-refused': ['aitrust.action-refused', I, 'the ledger entry of the output was allowed by the policy'], + 'ledger-time-mismatch': ['aitrust.ledger-time-mismatch', I, 'the ledger entry and the output are dated within the tolerance'], + policy: ['aitrust.policy', I, 'the policy given is a policy'], + 'provenance-envelope': ['aitrust.provenance-envelope', I, 'the Proof of AI envelope verifies as an envelope of its kind'], + 'provenance-finality': ['aitrust.provenance-finality', AN, 'a notarization the Proof of AI envelope claims is on the chain'] } }, + 'audit-log': { artifacts: ['audit-log'], sursa: 'sidecar', reguli: { + intrare: ['auditlog.entry', I, 'the log is a list, and each entry is a log entry'], + seq: ['auditlog.seq', I, 'the entries are numbered from zero, without a gap'], + lant: ['auditlog.chain', I, 'each entry links the hash of the one before it'], + hash: ['auditlog.hash', I, 'the hash of each entry is the hash of its content'], + 'cap-forma': ['auditlog.head-form', I, 'the attested head is an audit head attestation with a count and a head hash'], + 'cap-hash': ['auditlog.head-hash', I, 'the statementHash of the attested head is the hash of its statement'], + 'cap-nesemnat': ['auditlog.head-unsigned', AU, 'the head is signed when a signer is required'], + 'cap-schema': ['auditlog.head-scheme', AU, 'the head signature is an ml-dsa-65 signature, made with an ML-DSA-65 key'], + 'cap-cheie': ['auditlog.head-key', AU, 'the public key of the head signature can be read'], + 'cap-semnatura': ['auditlog.head-signature', AU, 'the head signature verifies over the statement'], + 'cap-semnatar': ['auditlog.head-signer', AU, 'the head is signed by the expected signer'], + 'cap-scurt': ['auditlog.head-short', I, 'the log has at least as many entries as the attested head covers'], + 'cap-rescris': ['auditlog.head-rewritten', I, 'the entry at the attested point is the attested head (the history before it was not rewritten)'] } }, + 'audit-tree': { artifacts: ['audit-inclusion', 'audit-consistency'], sursa: 'arbore', reguli: { + 'dovada-forma': ['audittree.proof-form', I, 'the proof is an inclusion or a consistency proof that can be read'], + 'arbore-forma': ['audittree.head-form', I, 'the tree head is a tree head attestation with a size and a root'], + 'arbore-hash': ['audittree.head-hash', I, 'the statementHash of the tree head is the hash of its statement'], + 'includere-index': ['audittree.inclusion-index', I, 'the entry shown is the entry of the index proven'], + 'includere-intrare': ['audittree.inclusion-entry', I, 'the hash of the entry shown is the hash of its content'], + 'includere-plic': ['audittree.inclusion-envelope', I, 'the envelope inside the entry hashes to its statementHash'], + 'includere-frunza': ['audittree.inclusion-leaf', I, 'the leaf is the leaf of this entry'], + 'includere-drum': ['audittree.inclusion-path', I, 'the path leads from the leaf to the root (RFC 9162 inclusion)'], + 'includere-cap': ['audittree.inclusion-head', I, 'the proof is for the tree of the head given (size and root)'], + 'consistenta-inceput': ['audittree.consistency-start', I, 'the consistency proof starts at the old head'], + 'consistenta-sfarsit': ['audittree.consistency-end', I, 'the consistency proof ends at the new head'], + consistenta: ['audittree.consistency', I, 'the new tree extends the old one (RFC 9162 consistency)'] } }, + 'agent-ledger': { artifacts: ['agent-ledger'], sursa: 'ledger', reguli: { + registru: ['agents.ledger-form', I, 'a ledger with a list of entries is given'], + politica: ['agents.policy', I, 'the policy given is a policy, and hashes to the hash the verifier pins'], + 'alta-politica': ['agents.other-policy', I, 'the ledger and every entry name the policy given, and the policy is this agent\'s'], + sesiune: ['agents.session', I, 'the session is the one derived from the agent and the policy'], + cheie: ['agents.key', AU, 'the agent key can be read and is an ML-DSA-65 key'], + identitate: ['agents.identity', AU, 'the agent id is derived from the key'], + ancora: ['agents.anchor', I, 'every anchor given names an entry of this ledger, with a time'], + seq: ['agents.seq', I, 'the entries are numbered from zero, without a gap'], + lant: ['agents.chain', I, 'each entry links the hash of the one before it'], + corp: ['agents.body', I, 'the body of an entry names the agent, the session and the sequence number of its header'], + semnatura: ['agents.signature', AU, 'every entry is signed by the agent key'], + hash: ['agents.hash', I, 'the hash of each entry reproduces'], + timp: ['agents.time', I, 'entry times do not go backwards and stay within the bounds the verifier has (its clock, a witnessed start, the anchors)'], + revocare: ['agents.revocation', I, 'a revocation entry carries a revocation that verifies, and says what it carries'], + aprobari: ['agents.approvals', I, 'an approvals field, when present, is a list that is not empty'], + decizie: ['agents.decision', I, 'every decision written is the decision the policy gives when replayed'] } }, }; /** * The FAILED sites of verify-proof's `finality` level, classified. `fragment` must appear on exactly one such source line; `re` @@ -83,10 +163,7 @@ export const FINALITY_SITES = [ ]; /** Verifiers published beside these that the suite does NOT enrol yet, with the pattern that counts their refusal sites. */ export const NEINROLATE = [ - { name: 'ai-trust', files: [new URL('../ai-trust/lant-de-incredere.mjs', import.meta.url)], re: /\bfail\('[a-z-]+', '[a-z-]+'/g, why: 'its refusals already carry a level and a code; enrolling it is a vector per code, not done here' }, - { name: 'agents (ledger)', files: [new URL('../agents/agent-ledger.mjs', import.meta.url)], re: /ok: false, error:/g, why: 'its refusals are free text; a rule id per refusal comes first' }, - { name: 'identity', files: [new URL('../identity/identity.mjs', import.meta.url)], re: /\bok\('/g, why: 'its checks are labelled rows, not rule ids' }, - { name: 'verify-layer (log and tree)', files: [new URL('../verify-layer/sidecar.mjs', import.meta.url), new URL('../verify-layer/jurnal-arbore.mjs', import.meta.url)], re: /ok: false/g, why: 'its refusals are free text; a rule id per refusal comes first' }, + { name: 'identity', files: [new URL('../identity/identity.mjs', import.meta.url)], re: /\bok\(['`]/g, why: 'its checks are labelled rows, not rule ids (counted: the check rows of its presentation verifier; its SD-JWT, Travel Rule and compliance verifiers are not counted)' }, ]; /** public rule id -> { verifier, source, level, says } for every mapped rule */ @@ -121,9 +198,12 @@ export async function deriva({ cai = {} } = {}) { const p = cai[d.sursa] || fileURLToPath(MODULE[d.sursa].url); const src = fs.readFileSync(p, 'utf8'); const M = await import(pathToFileURL(p).href); if (!Array.isArray(M.REGULI)) { probleme.push(`${v}: the module does not export REGULI`); continue; } declared = [...M.REGULI]; - for (const m of src.matchAll(/\/\*PAZA:([a-z]+)\*\//g)) sites[m[1]] = (sites[m[1]] || 0) + 1; - for (const r of declared) if (!sites[r]) probleme.push(`${v}: rule ${r} is declared and no check carries its marker`); - for (const r of Object.keys(sites)) if (!declared.includes(r)) probleme.push(`${v}: a check is marked ${r}, a rule the module does not declare`); + const ap = APEL[d.sursa]; + for (const m of src.matchAll(ap ? ap.re : /\/\*PAZA:([a-z-]+)\*\//g)) sites[m[1]] = (sites[m[1]] || 0) + 1; + for (const r of declared) if (!sites[r]) probleme.push(`${v}: rule ${r} is declared and no ${ap ? 'refusal names it' : 'check carries its marker'}`); + for (const r of Object.keys(sites)) if (!declared.includes(r)) probleme.push(`${v}: a ${ap ? 'refusal names' : 'check is marked'} ${r}, a rule the module does not declare`); + if (ap) for (const r of declared) if (ap.planteaza(src, r) === null) probleme.push(`${v}: the refusal helper is not where the planting expects it`); + extra = { marked: ap ? 'at the refusal helper' : 'by a marker on every check' }; } for (const r of declared) if (!d.reguli[r]) probleme.push(`${v}: the verifier names rule ${r} and the suite does not map it (a new rule needs a public id, a level and a vector)`); for (const r of Object.keys(d.reguli)) if (!declared.includes(r)) probleme.push(`${v}: the suite maps rule ${r}, which the verifier no longer names`); diff --git a/conformance/surse-proaspete.json b/conformance/surse-proaspete.json index 1c57096..9590ee7 100644 --- a/conformance/surse-proaspete.json +++ b/conformance/surse-proaspete.json @@ -608,5 +608,817 @@ } } } + }, + "classicalHead": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 3, + "rootHash": "0xfeabb16d0b795805345b053ff7b77d732ca566303b0dace87992b667674b1bd3", + "createdAt": "2026-10-03T09:33:28.671Z" + }, + "statementHash": "0xe661da6bb6f98b38d5b891debb4b72111b90852f133bed0f6dc22cb3f9ae6c41", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "MCowBQYDK2VwAyEAhL3xG9ucSsJb+ektvn4qeSgiiDwXofCsjuQf+G2NB+M=", + "signature": "AmhVjs2RszYtKNZlUuWC0q2HowZyOfYDfKJYzWAYApHzvYy4mNpxSVMx/sjx57uWkwBcqccjXn0Z2cN3hidMDw==" + } + }, + "aiTrust": { + "allowed": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:example-model" + ], + "recipients": null + }, + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "ca0874f77b4586ec2f7e466a15c7c5f471e8aeaa84707312da0a9e7409538847", + "seq": 0 + }, + "signature": "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", + "hash": "7723d4c364fe964ebebf476d8d1a7bc880736b6dc79c338ccbb3155067ca4a0c" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T09:55:10.000Z" + }, + "statementHash": "0xd038978f96fcc37004d612e55c6ba079bf9cbce069c48ebdaf2ae5552601541c" + } + }, + "version": null, + "runtime": null, + "witness": null + }, + "refused": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:another-model" + ], + "recipients": null + }, + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "session": "be6579a9db8cc4e59257f55e34c84427", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "session": "be6579a9db8cc4e59257f55e34c84427", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": false, + "reason": "tool \"model:example-model\" is not in the allowed list" + }, + "provenance": "ca0874f77b4586ec2f7e466a15c7c5f471e8aeaa84707312da0a9e7409538847", + "seq": 0 + }, + "signature": "o1YGJ1z6SFR/v3oblSklPhLL8M1elSzMZ/zGgXNIJ/H94/c4r4ZskX/CTJ1bwrbWKOfNgY46Y2ikg/vA85FDeGA0/GRvLx1t87AcMS9Rbye4dyNRh2oJ5QhgRHJW4pb0CAHDnOsQCHBexqtokrftutCC8+1jAcVknL/qbPpBSxoCIcMLMNsR9jP5C8mvqt45iYaIT/uV+85QJbzBUPdkibTsEtr30kuutqCJCjVhU2cjeLXyLfiGU1l1pI+ilFzGjfWYQNbAB440RLWf/IxKbwlQP4UnUQWM/IWcuT/c2vM6hGuStRaCpokKZfpkehplXyV4eKmerGP//beZN05qSN3gJmX9aodDxGxvJpkNjr7HxrJgGYzzp8bw4nMnna1P056W4+ce2/hvLpG6mnjWpP95MauDgJI1exIHgzkgtfgYRkFTLXz+ed0bZkADG/04CzNW8o6svORghrX5M/Dnd2ezZQjibzckSZed5cAeDEelsUOLmpaKGfHocIBldXcWqlJdIDKy8e9QovqxpVE6EKAvvJ1sH34/nOkGO74YuVaNgyloQXwLobkgdgpao//PHXxz0fv9yL36cB8QQ15LdXNPR4CkphYfZ8wO+Y99NgeGXw8xmrEJxW2E3XQSgg+8CyQhBil8LTZvE7n+bLzgP1uAxL3Cwryn2dCEa7jT0WREPFAygZEBCo0BdBVzl6GKvaHZrSG7XiP/fle59MYvuQMhg/Cxl0bXdzA419Dc2nJW9kCNRZJsszHDVGLo1f0LJbl+XAp8uXsgDQPPi72hkHnmxayz0bdtAeqGx6HoGcFO0MnGqwIG7JS700MV2larq4UddyLtn+A6YwgDnTW9fQ5TNLy07qLpBwXIbtqxOmGSOBDYmXt6C5gBzV3F+2upTZXeePVllOL9w0ut+aQ0rHz0hpM63GAuAIQIvtAaLCPozQH/QX4QCu02i6aZe1uMh41rmylCZhfdjUrSdjEQkQgSjx0qXYZGQ/0LRdBfpgdcCOuya7U3V8W/1Cy5zJnkRwtZIcAGMLKLqS2ji832EY3/etHft6EWjDW3JN/7mYs4Fa2nwmaQnRzP6KvtRId6rLSQGtLDsiuGkR7WiWCCOLcew9h5c6Ez6+JhgN9tOJwyYyh2t6oLEzKJmuSUGlZ1ANWqnvpHudCj5WZnYPxpmCVN4yDlQDkRcLel2NRn/TJVs/BGvEoXW4S3cb3zyDmOVYkb1mM/Ny3oWTWMUxirLpBznv5PdbQicALqlK0P7tybsk4jn4yfHoaTGbujfGsmiE3ZHXQzjaGXDHfGVLh37KgF3K2hSz8qciqMS8leRbiatT452TBtJgcV0o8ac9DQaain+bA4adUNGyrHEk2q1fGW2auco8UvILfWRTODgGT5c2QCuSqFiziF95MY2jhnjTlh6pHdSDv1f4rVUztNoel+FHNmsdqzwP0iszSfeb7528VbDVc/7XtBvFh9fZJ/R6CYp71oec7BevrbzOkn/oZCHiZg388rQTnm/Cf0B+TPyTz5d3CJOaQNiF1CJt9Hu7qWYEJO/MrTrt0zJ8oFMP6g97iqmQZ/5lT8Nr1oByf2OJP8Fr9vJ+mwIOQ/zfvTvHnxr0MZMLK7oWZxmGhnGDczZfDqDLIUFaCr1WZ9c7z3AV+TWcR8D+ciCK+FdH1V20z2F1k0F8q/e3d86bE2C4s/k77IWrqumgeFkdFfRAnsvjO3iFyQ2LMbuK51COL9NccZs/rrrmkOHJAPLtihPjGLlKhDePwWdGVWczQcLGd4wW8mDqWDMCeMViqdayT84U34wf3srbLAakCtxyqaVdiSWPB2MsVE9tBDo7DUFPKIELzi7b33eZgcgxy/rtBOqfBODEx35QhQPQ3XYEOHwPoXBBF8IjAo4GztL160NAi3pNbsn5YZTqfuWY2NF5HuS+h2G1FNOGaYlFqUK/ja1cu7FJrhHbfNKTW/gA51BENQDByw2/Yto+3WaOLy2gN1J3SUp4Dzj9y+NTof+Z8nsZQ0D8mzDnR6tBzNWAeY46MGZB/EJFuyVskgrdrvzwZSwWKye2Uk43EvhLyOO1Ospoj073hJC+HIpBHomiPPjjExi/AYxolCUEBnpNdh+6NdTkoqhI7Mgwghzmq6UMHcgCUpSF6kOUgVhpFgNBfVWFGs1MMs1ArBvKw7Jtqvx4plqsW5s1JQ+efRofL1MAuG+PLU3eFIYYiu9tAQsa7AEjscCyuAa84h86bpJJQRU1VFv+Lc6jKWNsh7tvzoaERvomcagj2B2NT3NdhaSzX1CdYeeOEzSl916nq5P5KxpY3y37PfF0bIwWwn4y1q8I8u56lv06IXWGfKupyso+eOasRO7Q1WUTjCtAhVObl6CU8pBohwKIlt2Wn0AA7kCsVBMm2RZnWnA+VcpCZ/YZ2ygzcYHAJ8+tfRgOukvq+0b3tMbb50HUVPca+UP2CzPTJmnoIlqkXC/C9RWJq6vtZZQ9ujwI0xKcK9wllgYgNZCH28Q0KhJpwvTFbQk09QFbFbiBll/REBUVd686j27tXYtgjrH2EUl/VuY/47ZQ7PXjWickDlfbhbodrvmYDs1oBQ14haEnWDnblm3Du8DBFC1Io+a0OHskc/suu/rP9UDk0c2xS/0l+5CxrrUba+DmSYm3umXXcWMaGTgW224rTJ8ChuIvvJo8r6Yd9oqoE1sz/31Xftdk+hI9rpB//NgQlWs2O2ziOYJ9ARqY28usxX3yGgI7USAJwsT+5qbDwW2dpJqRCytAlC0mvbFboChwF53ZJV6QjCKqxHXjhcWsDpBwZhpPkgc+f7Qa5UcDrS6Y+GliMJX55aPn6+3Bz8kGvNVG3yq2w5OU3AgaZUfvjQTr/uDsCvT03BXzjo7ep4dYkBbfwo6/2lPBGkUbvQoHbfIEHBY4Nn1xkLlVD4pDW37d2Pdlyn1KFgnLkPxG+UK2Mzvxlryk0Lm6ztsLQxNrWRn6tX3HGLGWQ2IononTGibl0TIudvQxIEfhMeGeg7uMnlUj1Wyw2vGd1CreWPkWaAIsbb7+C5b6o5XCje7cx0zMXvJ2semwY/ENfNgJ4M56AxtK4ckooI9qoDGU6GqYsS4uppksDlPryY2ru/cTzuD15b9jxfOERNeCjQs/O/2pdu8sllUCzHHKM0zw5FK3TBhppvl9r9ErX+FQV/yisTA9TjmMefn2I5sy5y5N/4ZVvvGJlCHCCafUPlZ8JXJ7U0FzOEUBpL0/01q29D+Km6BbjiUMtqAvxdA9YOJW06qZnSaWBUCKrye7QFVkY3yBZh02vLRlZ8PxhmMzhmuSECeGGg0ZQuBb4VjoUAQjcUUdaXm/R/2FizbwwOU/LSZMFl3LSwfRY6GYNUpkotmxy8sSK/UTE5217CZ4wwbmSFwBKRz8+MeYaBvY4C5fLm4uvev5PCTt2hX0so+KRvrQNtX68xOqbStPkuKAzInoaS4fJ23Iry8ChiC9BK5bXhtVyhupPPhIobx/N98B3qKzmJKzDraF+Sog5R8ooHAt7c3LUnwhz6WP6KLCz87cZG2NmiODKgULjw0QbJa6eO4clxYgrS+OPlaI6NIx6txUhObzuofIbhhm3oCh4rMej5ys/1uD58+5i7ZsuOYBnRIRj5h5zOKd5AqCVfDg1Y6NGutwgp5xUSiMeDdUadbcisa+B/6e3MqCqilsXeWJ2Ajj7VjjumICrIVemD60gBrkSG83zTOQBga90+Rg+kLaMCJcnVpcX+GEgrzpDg4/Sn2CrKc3YA8EeUaoZfjOXHq0bRLS++Te/H1EyCiHxeGkrBAl5MCiO9Y7RjFX0JNYg8bf1H6TBH5wfbuP7fdu2z6t7jTdjhHmtKRbEqMy9Q0R6Z+xZEK+paBP7cAPpZKVmaE152VzkdmnPZeDnG5DCNZu654gsyFs32qbFDIzf/rFTHZB8CBUR7+gT0g+XRPgNPdS0aVVssknKOCxRhQ4tv1/uDncTp9P4lLzOx+tXTAxs7cxfbbiRv3/1grziDYSI6I6mBigjKGnGsIzZcKoVmz1s9V6thjgr9frbzvK6PCH9BxjcE86cCnd0U1+iyy2RT3druMbhClOPrdufEpxKBZlZJ50ipLwGYTmNGx7aKHMfRWN6S/354xgK6j2XhjA9hRwPhvzxfr/kZ2FV4NURXNi/0AxklAVIEiMRdz2/jVeojyhTdE5fcF9SlD0lBerGV0N4SVwpFm7twxUQ0UY5FF75Lr9L6tA9XbNbq/YaeCHqeR8Ns9bHpQrNXKp5Q6KKk2GmOemzHXTde37W/gW06EKalOS38xGCiBMWYsvqIVKd4+QEHJI8kp9E3WwhkUuceRHyiJFgXSE1zdIKrmr7N2A4XLlptfYeOl+Hj9wAunx491Nf7Fzg8cMbiAAAAAAAAAAAAAAAAAAAAAAAABwsXGh8l", + "hash": "f3663629cd9118b5b5bbd41002b656b3698a29b5171b9bb47d9c43bd9d5d7545" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T09:55:10.000Z" + }, + "statementHash": "0xd038978f96fcc37004d612e55c6ba079bf9cbce069c48ebdaf2ae5552601541c" + } + }, + "version": null, + "runtime": null, + "witness": null + }, + "lateEntry": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:example-model" + ], + "recipients": null + }, + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "c8328018887810de7aa26029213940ae304127f903d728fc31d96310890b588e", + "seq": 0 + }, + "signature": "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", + "hash": "8128521cdb5b7a8c7457f43de004803c10ba5a4f8433732f81e5eba46e41bcf0" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T07:55:10.000Z" + }, + "statementHash": "0xea20f2b7012e25a550b3afd938969a7a7bbe9f85e32fbc769a40b8dd1821d1b8" + } + }, + "version": null, + "runtime": null, + "witness": null + } + }, + "auditHead": { + "signed": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "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", + "signature": "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" + } + }, + "signerPem": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n", + "otherSignerPem": "-----BEGIN PUBLIC KEY-----\n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\nQ+yxbD9O\n-----END PUBLIC KEY-----\n", + "classical": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "MCowBQYDK2VwAyEALyLdb8ExLItdJptX+Im4E2CkleE6+poJ6dXSl897s6E=", + "signature": "rUzfHXPJtarX5Ct155VIJese8CrsGzL6Ss4ihV8z6DpHL0blU/aEAquMXwccMjGnnYCKgYedHcjESjSQiP/bBQ==" + } + } + }, + "agentLedger": { + "t0": 1791022310, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + }, + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "approvalsEmpty": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "XNkc4XXE+uvHDC4WdagfDFilj42LeeEHf5wfuOPFMTUGvt/QvvkfhlC97bDXkojWap8icgiRyFBizIBFpLCblcLdDkUQ8Z1eSaiPXcMP+DV7f3dxSbW6mvKX6U/Et9KSX8anzT75HclTxz2KtkaTdbEwMVwqLLrv262ILknyyep+cnD/xscMGd5TqH2y+SKXGUEPWuGre5KxaVpAU0Ddx85JCTQSH1kPEO87ul/qZ09ITpDWa/r3j6XPoYjJ8oISebwG6AVfUWzfxK5DYThSbKCkRYqt3Wj5m1idCsgwb7mLqLJiAqjOTS/87iKauKEhjrHZArePEZ/bQq5OMmV3X/rw//KcqhzuBo9ODlje3iGOYrf589Y9wTdNKYl8S07iG+nPqDJXxcKF1ibVrgjuY19ItwciUL7+XqGfN7OKSpLG5czNRuu/fw7/p+0OfYMn+0aPUyQXeg+AW1ynde38/6c/JRFAYNWdFlK/49iidKeh01gABGneufF/5ImxlDmAqX6IJ+d/MoihVHKNFDGssQFSOS9iYfnK3nR5FqjBfdhtu1i6zoXgTVZGVBxUxeO0K5MsfnGQFvsYqu+tE/rJqbxa+Ko1DG4nWVkgymjTMc42OqAlxUl56u+rgeerCfGNkxRM3LiGYZ2ndRCrQa161FsLvbP6mJFHrPZOtEf6t6ulSClWt7WIykf8swbANy6IJRTDtqKYK4MyTIsfa1KJ4ZHdHzfoSAYMJvM/zYIcAFdNCVQ7Ko1l17pJX9uadLJXv23H3Nh6F14wSu+FWpKTWqZOnOXDjUqjrWBb7F3Hcnhz8yDz8otTnqNjC9dAjBC32E8wYk6w4lVyoqMjhMFDJqv6H/GhgyW0IubN1Qrk2jrhoxJ8GNmQ1LDXHH421tm06mOE3iWpEGe8NrelSnmdH3wr3fp74DiFQxfP6x4MZ3T5JzjeJlUVIN6ZvJx3ZhySiT4eOxiMOc+/S+EYlESX/YmS6eKjZ/DBHTiJVVcYdWoaa/8zdrOQfX5h2TtaRSRsGUA20GLDfq2JyORVzU+hK1+9Ig9RbaYy9vho0meXjpWy2hkKIxBgeYHYgD18OmFbstUv0zqC7b3nkqxy0EmcZx/BnmHPCcpUgoF6CacAcGBm3XBekqHedWzq6XFWcYPU9GipcgFcJ5GYPftgzJeeRaLXD4MPdgGvbf+VO8e9/7yMPmOYXHe4Lg4nfvKWx7QNK3ybnPWZY8hhYeObIXJ8z+Q+NIyiWjDHeLnneYMnlOuFnBzYFbHaHWpKG/xZ81bHLnWL0OAjXuVnnAu4bsAKD9xbiJrhuzACz5gBI+LNpVD4+iPSfg6h1FRSB/qO6YpF/8Uae6forhbGCDs6eOv4fiyri9BO3Wmr3UxL8iJTN7PdU0WcfDnIyx9EWliXOjPXCgZnAUvk4l3kIXFvVdQuAjMtfpNhoaqLvM0+RneBYJ0v2LuwJS4ASQIRwUq8ahClMulvh7WZg+fpgZ46IAUHVAHCcS46pgqzRMrR4+hbOZrjaT9MUNOuV03Mjer0MG9FnVoc4uOCUWCHmhALb6aOk/Fr+eUw4mSGWe4CdJxmZzf3FAqwDaZzJ6W+3OXomvI3chJG8Fi38tbzgEtDEXzQyxxyOkgXWcWSGKew8jRM2HNjZ01v7C8RBGNVMFeVnWKPJEZvXxO9N7hrpZC01QFjlpcfvLkQzfyZ6ZY42spJKMgV8ERVpLQ9GK5A2jQgmy+ehbwYYdzoqo+ptY/PugYOt+QFrSuZv4gL2MRmGRrqnGfrEE5ULH70J3lGt0y/ILZig+YCcwmJVEf0f87XdyFduT0I8PdAedD1jBbsGSaRN9kSwzlN8doL//vBW1UOjW8dI6P6mYX5jqmlmaO2RSbOfka4OkkWKbM5YRaYvX7QpUEOZDlfgLcjumjC3LKBDPkT1sxQ+yVhHCjgOeZa5BFmTRgWSzXEnEJtGVqtG8XHE2ZH7zCHp8kdf8shosdHX4JsmhOJtY6d3C8zDDIEVysSHwonfLLLlAe7aaP3srbDvIHd18vUSR6eicpYe++EZSLTzEItdApOfvUfG3FIV9ImwcGerJlrctTdlztASB6ZpxvqLTemJNsmDv/K+nr+0XR0ggCq2i/7ysvTz3FNZ35CZT8EI/CJG2tgVvbCr3ZmKSijQQiBIrEC+hBGxu9fC9EuF9frBXqZ6MptZ3OPOfCo5m9ARDlyAuKph/mcPL70r5e4hL/8F8THvXuG63bBT/VpgaYTjd0JL+y8WeQVaD1Nn2R96FED24lzB69xyDInNWcmgQWUQm2KFEYNK2i+8z4QIuNrAA87NcmJkLDp9yZtPOB2LwNlQwv4TrOO5zr6cHxNKomfmUPHwoOiS3iZwhnCA+kQw+PmivaPqlmSzJfgCUYdUJLyYHWiU54lnoWtoiYQJjd5u9ZJlIg8yWwuvvkvkx1tPZXjM9DMm0FSCDD38TkNTjJvEoP3hB1vR5QtZuKDqwmkB98YF42yMdUz0o70G49eQNQlNnJPnqH9UFaevGetMM2ZhUimMXZPf5PEymuhDd3ZEojRsuKzCUU4Hle1bYruyibVPoaRYs5C44nnxuiO8PeUioKI07AwrKxBTaODigtX9uF9tJ/9TDhhiGa8Hb3+1AUn844EVHOP6Nnum3ql8ymwogpN9SVP6VN6Rpi4V0295GYv3qahdII7m1MU1X2FVX2zMIBT92iWjo1a+dtjsIjXstBwXKBLx8Hih3EEpiAjSJTkRroYYC9NhGVtI2LUF4SSFlN6Hik1VC6HZAYsKidftlZ7f1E4oLEWcu0rCeenkdk0UW6LQK6ZdkbGFczFpoZJWwK8+3yP/bMTOYCrB+kgWcYj/4MVTRn8E5P1z4NnVIYwn9DHFDG8hacFtXx1RwI5z1TsxNSqtWYA2E96q36rUl9DCuM3VGRXN4xc4cSU3Jgq6B3VURaySh/n3xG1lHmgB0NADY21cFDk0Bc3QFyoE9qAfWp3wwFst97hm5Dxu+i2e+zUyJ1OkahYs/Nmm2T0zSFvxR77UEvdB1PLPSVoFnapaABbnkPUJR4lbheVdfpTXdYYWTVCSS5NvsP+rIygtqKxzhNZOOh8xML9oICnWLrW0lP+WPGW3Hh52mBUeFNn+mXkUBcUbjFwtLectf9acMVkb0ImeuxmLiYrIaWySgIMRLaGyIHMWnIc6fWOLtOfG/4DPQlYsawDXZEt6cKphgJ4W88JCp/rhQa6zWzjoDCf6JSS5oC9KORcRVaYv8gOeZgMRNSItgFur/9GVWyCXyokrAcSettMyYEyrCYrrdIFuQ9Ulsqxzob5trmCZAby5kb8zZf6zNG7AIz3G40JG+ptPof2mtlB2ljnReksCFUH+y63QnUCWOSviRF9IZgDr6eK4NY3yyT4sAbhHQcqp+iQUjjotadhmK+0PUWq+EF2NAOYLLp33SfczGSDjNsg7i/YmA9/zcq8kRTeiKMR5pGGxM5OigP47r5XENrKS0d2NwXEMN75HAYytOGEfSasTQSPxVUzCAOn9ULsEcd5wTKLZQGYgDoNq24gWyNr1fIpvjQgPV56vtxaa9QVzq3dhy438PkbpNrR2I0bnbjef92x1za2zTCmoJtdE0PonQihXll18NptOjtpl7QuVSuGeUDN0WiVfEk0GmVxmRAfLHB6onzJckQofCpCcwPRMB2QRJlLW/sR7GZk9P51fN0b5uuWMseYcw+sQG5osIjgjmvk9CJBpje7Ke9k15CCl/uPx54ihViF+O8jEtLRv1ID/JBligz+7B7F7nycbh1LBKERW8xdF219/h00CAvoUYjWunxTMoHu99aV9RJwcdlberZWsqHyzMsDRQe89xYX6gll5VzekF/23jfDeQWEkMIV/o1s+qoDRGxalDt8XhuYirG9/aV0wqm63ce+3Rq5G90o/JhNnApVTQlzxeTQfECCH5pd5lckb756PvZN1HIy/2yC43qRSsaxD04gLW3ljzKRWyEKJEH0yMqA1mEVwwAHe+mxuLz8xdW7BNnG0fd6WjTZyhoYIEs45P7n9xJUmTGpWZbGfxU+5LY4JDLdmz/eQOmt5GziXvVD7pJ2DNrfl/sNlhBLGeqY1eaFXfDm+YQ3sBo4EBlGQ59Xb3o3ejt5eKMXKAhb41Q3t04FzctoAdG7jzENfarHDAzA3x2weNaO0P5FjTmxjr0sMhsQH8WC0cxxqk5J9kCqbdt/CaOP06HI7+39A3FalyNLOas3gYe4rRqzzroKCHo1M4DY/zgXp2ME6uvepBlE3CHHHf9ZtkODhUuS0b6LwHRmV20SX3SjXmcg4FX+4lpnhVZqI/xmZb6pmWe8mxYqZmvK8PQfKjidECNIi/IJL3iBiJYIV4ednrTIKTQ8Vnx/3fsAAAAAAAAAAAAAAAAAAAAAAAAABgoPFRwk", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "approvals": [], + "seq": 3 + }, + "signature": "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", + "hash": "4e0541858a19b07f4c98185acb123a3ce06a571c85e0dcb3ed2c2fc0b783a9ca" + } + ] + }, + "falseDecision": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "10", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "refused by the agent" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "d6e0bd70fd984732f2e5e02149d16ff2a1e37bf76535aa5f80537333835fd0fc" + } + ] + }, + "revocationWithout": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "33vvanaoaa6kmMYx5ZA3qHA2zhP4iSW4Q9vqFqEpZP+7CF0l37hz/3kO6Yo8COmXWijbx6163tGSNJK9w+IDsVvdFlaF6U2tKn/hUv4wF6lcea4LsFc79N+aMMDSzM7Cg2QM/6qDPypr78D39FgMpK2wnK7mDE3P/QYiUd2qOYrDXBCfYYNDtKNXr81XtHBX37imROgnDVHwqv1ChfJkw1SOXvpUbjJCflSt2Al8xe7WUQQodwZiyjPNE5U5oPyEdWzCQAAS0xCh9uCiJCVH3ykcyUP1rJmEyn/P+tiO0UUsKNJrw5IdufgYMdDvhC3084C03dl3TQE+BUBeIQdHPy/Ygee9HcvWNrpG4VMcm4tUulbHHFBZa2REDs/G26cOdIEJSumeNGtlWtbNMoIuzH+aMddilI7/mxiYaAnbSAwFejQzrFL1ZsKS5D86xAPu6aTsEXrjADO1/pGh5kKPvjSVHPoyCKLE4wF2phxZgctWbVVuIKbZAWBs1J9ApAVd74jzTue1XzOyTa/dAsaDIqCAojSaVoOCEkV6AKKM0i0mHqdUciw+rl0sNozEtwgbn+hRetXAOdU3dhjFa9YFAdSG8saUljWkmjCQimG8U96P3A6PtKEo01X0JuwtI+ItEIpxKfp5pEmebcbw2bO5e6SFHHpWh6z9ng2xTDKWvjTIEmSTQT+pt1XoOiMAgnvg+cUyPdFG7DbPFfe4MD10EmnlvAamULnMnZi8YLfHHKWD30/GyiwVYOTtuJWQWwq31Qopm8iyjmjsEEK/bF1za6UF9FcSUbBRDJ3rQLIudiQgSufzPReRxxvWbZRRitrYsyCUuPEoyLSICVMB3Z5drzRE5fKNYFSW6sIFaNNsVsNOHwOUCxcKFmBjNqPlG5HmUyc1DVfsQvfhlVWiPp/5AkVyHj3M8QtU3PIHr+DHouM+3kvGGuzt5XA8k2lnpUVJjtEXOddygYd/ADjzyp9bUN2cHv93Ie3H7chnLJ+p/zHtYVGHnqNSb7XX4QtZjMhXAPk4cIktnp0W9JX4qgUzocwfsogFyaoPTiJBvEOXggnAfu2dzX+tIju1PrzaMJWUxHFbthe2d0pyvNG3Nf168XVS2pC8HsDM8vunt1vj3cGkW+eKdR82p/j63m3Q0CRSG51ZJv7f8DmDdY8OJCZMUIxV9ZAOgCmq3J1XRQq+pcA5oNNgHegpjAQAjetL6czgaeK0unpAsiUI6K1AOBXUeaJnazQA0vMbF0+j4W4EMV2BQSRx7CdXG9Zn2OBU/rb15TpKNN5+L6aWV1E+DB2oZ0f7ag9FN1hBpXz0Hq1+Nz79R7xFNKtkr8TjAmZd+9EDKfc7gmgkk3dg34dmmBWxOAeGntc1xtL+b+nKPajmGl695gQjCQiaGv+RimvMJbaoFabvwhehg9F5wKbrM71ph1Bn79A7OZFRRLYKysZKq3rLoQfTn2RMRSsjdi60X3BvF0a2xzBHfhS55aplUqj1Hl1uoww3MxSKjMDBRWEFiRTHdrMSYryQrLnpTKezWBrYoJkty9uImA4hb84Zq9uNb84q7X88hKY11+LUUW8hbEczooGBoOdINouTMp73EL6w5DeEL0Nauk+yip2YJtr7IXPqb8oV73dNzSgeYOsNkDyFI4wtIGILgcZQXJfhTksbHEhApa95PFDEddCvB0mGoT2hkdFgLvYoBzVpsDy8yeuich3Jy+Yfp7PuyjmXwkplaOAbeEEv262B/LWwgzZUNFnK6sNDLND6z33b/AaM6RLtd6Whbp6Md4EtekD39GfxCRhZ0Y/n1vp4Ju1eTz9nlGQ6DFOwdHUuMCS+x6CFu6awMhFz8G4oJ+XxC91Wqlm6FDzHYtHyXcQj9oWDzz0w31TnYHdlgjkfW1csV8nX1/gxuW6j2k8BonyICiIBuT4FXXCFjPK4zT+MECj+3fqq9Pl7t2rHYOqkY3U2oBKQ/P7YgGdQZIm64hKPJNYtedSIObKWXNmYKm7X06wPGiwykERiMv3pQ8pK8L6irfG9PjhUkm78RqS256XnN36UJMdGuyOUWEM18isgD3XFsWGIJBusMKucdLSfAzCAFltV26nmxyfGoC8gBbhFUwv9jJu+2WPzkfDSSd7Fe/sM2EE1FLiKQWaGlhNdy9s+IkZk257rk7iCnOY6HYUCb7nIiIPWrBcKLHcS7fliZZC6b58kEtanjXARYFsf9WGPkvmS1dfUEC0I/hJwW/KIFsdYdOyWhz01Lw6xkZrQ0Nv3bqFtjmtUm8ZeXcz7eNruhre/1nu5yCh6qxVwUy313R7wvsXmoU7vnMLlcbOzORTvrZ/OMp/LmiR2zTr4gKjqLwePyyMbNl2u9vayQR4Dy0bycjG4ATw+a18D4qfz3VRHEIQE0YD+2rDvDO17PZJGT4ZRISEpdCusmZyA6ghNpdxCnbiFzgzLMLpeHKaM/NexKehK99YwpvPK77d22eWqpQ6KHlE/Mpt1aU36XafC7xbEIeR4uqZAPtuLqmyCLatdjbFYR0rNjP9yNqmPw0TeYwW5L6uo0MuCnrbFdiiTGD/yNFNCRgQiT643efUJLEZFwtth38ODbeoBEizc0SyPDxIjOeHNZyoQFugLptUtlcPf/g3gwmh8pO9T1UtI59aSZdJlX8PBRldio4kN4CFZgjU3Cli/UPSUNJ3HvdP1F+QMP+iuPuESFuiyK5F2HVfU6V4IeZDxRHR2QMOWSDg1dX549TYmfFGykPUMAikKgQox6unehb7SZ2cfXPh/ilKud2wDPVhnBdI9F+efLARquoARKyjhz9lW2zlCHfGIBTNtqkpY1AVKJ7A8kyVWm67pY14m8mcJs0Mp5+kdP0plVson7pIzJ6CG/QBmrdTysUJYAI9mvdqPG1ws/oceFL01ThtRUd2ijqCatzjwjQ3cg3ns5aUIA4m0kAvHRXVsDHJKdJE/o9HS7j0TQ9Guoq+GOdRAULdey0VqtjILRUE+wP7+TUtS0ljvokeixbYl8brg3dAtguoZybzsm+jcFXKDlTi6mZH0v1PUW3gB7W4Ox2mFwRdaiw2pqC2VyyLdaHuhEVgL5ypkYud+MPVDszCREmxoBv//DB/EE0XAaBgVJT83GIiB1Bmk0fpD7RAR3SVaBNZkUz0dH0ANIte+cYJAeysA5LNRa797OnM7Xd/y6ZHL8fJzx6ZZpnNNbxeefDsbTTarjjFqq7YX3H4MGW0jmGzYDxP93FeLB81+xRwA7Wg3WE5e/slf4uChr6dyVuH4N1uypGk0/HsNMrR601r4cG7SSjHmLL1gCQY5vkA5Bbg5MNbWNrKj4vCVceGN0DmkW+US79+E3OLE06plSrv+PLtToO55+hqwcL4oT26aT4Eb2j9pN69cX5D0WGvzpzW4YiieX9RukFe/8vW6rvzoTiAVu5I8n0ih52mTmDoUpi5DBQyTtgPNYCFGEPOxBOmSywIWdWZbCDb/8gRM6YSE4mkti7nWRKDT31zX7KqvfI0aL1FZ8f8stQjXnLBu1gEv51+GGgnJKk6D+H8FszkPtSF1oelHFi2QeIwmnK2Yhz4MISYlWUxhP+iBAFOZGqYZb5r8KomJQeCzQzSl8YQLF2M4qBLdBTca5Pm0x915gTgHhxk05RL9JxRV2d/iQGHAhe9/Wls7yRq8iktMjqUB9nJavxlXo5lU1PQiE3j88Tx4lPV8F1s9+sEVwL38zyOlwllLRRRobz2hq9Nlr9JJX0X9wJSbX78ARd6+NS2Ecr62LkuILEPZzaOx51k8JsqR5XfA5xF/mW5xd9qgtxDsMrGEymphU1n19Rk9glJiGzxDLnJkIXJEVfrq7hE3/tT74UAJWvDoqyqoIqxldGhJrsk7wSZrVTotKIl8fCFJNuVTMaWZBnKAt70pyTDsUmeESxKkXr73Z2tCDW8zoKcdRN0lbE4f+kPPwlPDLdif6UEb7wNam9i0w0xqXuKzQl/8+v8myqs/dt7jpjweBDrrSSvPGBdkD09d3Pv0OXgYCMVfP5wFu1f/9+oCG912kZ1c5JcUhOjM2upUnG38WpaTKI4jwRmJ8Cx8bpXi+bpyYFvCUI9wcfnaopCMs+hgRmRf0yM2NRTSm56X6mkGVYVBnX5SNe0RU3L/4HCVjJfhSVdgS6Y4ra/5pXdN7LFvspYcs/dsZxkM7Ed4DuRiwOpFdHvz8pE/BWkgTpiPPmLT3ztkC+ADoMR6tMbcevKdR3BBFggUH9zb84aUTCcuT+k0TOTjl5lmLfhysZrxPBlTA7yTHTmLk1B1eQ/wIUkKKLRrG95ilLJnlWDre7Ugiz16dX/tQ2wSFQMUhSui93ibzYr1ht8CFDRXuNfw/xNMfs3fJm9yjKQoMUabn/kKMT+0wdHfPUpOYWqBmMsAAAAAAAAAAAAAAAAAAAAACA0SGB8n", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "revocation", + "revokedAt": 1791022310, + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "revocation" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "7d87334301c9ff8927fea569bc35d9dede05f1267a017bcc987336a9c209bb24" + } + ] + }, + "classical": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA2MvfYW/ksEZPYEUpteCsyo7qmtYmdf+w7+khSfS+/Ok=\n-----END PUBLIC KEY-----\n", + "policyHash": "0x450ae0fb0fb9c621b09842a1ac5b85cca00db705911e2d5b37d4928087eab48b", + "session": "52d5e67cc57accd4a1b9fa42119c07af", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "policyHash": "0x450ae0fb0fb9c621b09842a1ac5b85cca00db705911e2d5b37d4928087eab48b", + "session": "52d5e67cc57accd4a1b9fa42119c07af", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "PIXnIY2rAXQc8hTa6297bfmBuOhW58EUjvNQejroIXUY9Lc746p0vD3bH7vz4PWH6RazeJ89NiAAZQe13k0CDw==", + "hash": "dce01dec0c63f1ce094755c4a967011492611cf08150d4a7f6df31aaab726a8d" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "spend": null, + "tools": [ + "retrieval" + ], + "recipients": null + } + } } } diff --git a/conformance/vectori/INDEX.json b/conformance/vectori/INDEX.json index 6935ab2..d1aada9 100644 --- a/conformance/vectori/INDEX.json +++ b/conformance/vectori/INDEX.json @@ -1,20 +1,215 @@ { "v": 1, "kind": "aere-conformance-vector-index", - "count": 122, + "count": 206, "artifacts": { - "envelope": 54, + "envelope": 64, "payment-risk": 11, "payment-receipt": 10, - "market-timeline": 25, + "market-timeline": 26, + "ai-trust-bundle": 24, + "audit-log": 17, + "audit-inclusion": 10, + "audit-consistency": 4, + "agent-ledger": 18, "dataset-record": 6, "dataset-answer": 11, "dataset-consistency": 3, "dataset-sample": 2 }, - "offline": 117, - "online": 5, + "offline": 197, + "online": 9, "rules": { + "agents.anchor": [ + "agent-ledger/four-entries.anchor" + ], + "agents.approvals": [ + "agent-ledger/four-entries.approvals" + ], + "agents.body": [ + "agent-ledger/four-entries.body" + ], + "agents.chain": [ + "agent-ledger/four-entries.chain" + ], + "agents.decision": [ + "agent-ledger/four-entries.decision" + ], + "agents.hash": [ + "agent-ledger/four-entries.hash" + ], + "agents.identity": [ + "agent-ledger/four-entries.identity" + ], + "agents.key": [ + "agent-ledger/four-entries.key", + "agent-ledger/four-entries.key-classical" + ], + "agents.ledger-form": [ + "agent-ledger/four-entries.ledger-form" + ], + "agents.other-policy": [ + "agent-ledger/four-entries.other-policy" + ], + "agents.policy": [ + "agent-ledger/four-entries.policy" + ], + "agents.revocation": [ + "agent-ledger/four-entries.revocation" + ], + "agents.seq": [ + "agent-ledger/four-entries.seq" + ], + "agents.session": [ + "agent-ledger/four-entries.session" + ], + "agents.signature": [ + "agent-ledger/four-entries.signature" + ], + "agents.time": [ + "agent-ledger/four-entries.time" + ], + "aitrust.action-refused": [ + "ai-trust/fresh-agent.action-refused" + ], + "aitrust.audit-head": [ + "ai-trust/recorded.audit-head" + ], + "aitrust.audit-log-broken": [ + "ai-trust/recorded.audit-log-broken" + ], + "aitrust.form": [ + "ai-trust/recorded.form" + ], + "aitrust.identity-key": [ + "ai-trust/recorded.identity-key" + ], + "aitrust.identity-mismatch": [ + "ai-trust/recorded.identity-mismatch" + ], + "aitrust.ledger-invalid": [ + "ai-trust/recorded.ledger-invalid" + ], + "aitrust.ledger-time-mismatch": [ + "ai-trust/fresh-agent.ledger-time-mismatch" + ], + "aitrust.output-not-in-ledger": [ + "ai-trust/recorded.output-not-in-ledger", + "ai-trust/recorded.provenance-envelope", + "ai-trust/recorded-28001.provenance-finality" + ], + "aitrust.policy": [ + "ai-trust/recorded.policy" + ], + "aitrust.policy-hash": [ + "ai-trust/recorded.policy-hash" + ], + "aitrust.provenance-envelope": [ + "ai-trust/recorded.provenance-envelope" + ], + "aitrust.provenance-finality": [ + "ai-trust/recorded-28001.provenance-finality" + ], + "aitrust.runtime-after-output": [ + "ai-trust/recorded.runtime-after-output" + ], + "aitrust.runtime-artifact-mismatch": [ + "ai-trust/recorded.runtime-artifact-mismatch" + ], + "aitrust.runtime-not-in-audit-log": [ + "ai-trust/recorded.runtime-not-in-audit-log" + ], + "aitrust.runtime-record": [ + "ai-trust/recorded.runtime-record" + ], + "aitrust.version-artifact-mismatch": [ + "ai-trust/recorded.version-artifact-mismatch" + ], + "aitrust.version-attestation": [ + "ai-trust/recorded.version-attestation" + ], + "aitrust.version-label-mismatch": [ + "ai-trust/recorded.version-label-mismatch" + ], + "aitrust.witness-head": [ + "ai-trust/recorded-28001.witness-head" + ], + "auditlog.chain": [ + "audit-log/six-entries.chain" + ], + "auditlog.entry": [ + "audit-log/six-entries.entry" + ], + "auditlog.hash": [ + "audit-log/six-entries.hash" + ], + "auditlog.head-form": [ + "audit-log/head-at-four.head-form" + ], + "auditlog.head-hash": [ + "audit-log/head-at-four.head-hash" + ], + "auditlog.head-key": [ + "audit-log/signed-head.head-key" + ], + "auditlog.head-rewritten": [ + "audit-log/head-at-four.head-rewritten" + ], + "auditlog.head-scheme": [ + "audit-log/signed-head.head-scheme", + "audit-log/signed-head.head-scheme-classical-key" + ], + "auditlog.head-short": [ + "audit-log/head-at-four.head-short" + ], + "auditlog.head-signature": [ + "audit-log/signed-head.head-signature" + ], + "auditlog.head-signer": [ + "audit-log/signed-head.head-signer" + ], + "auditlog.head-unsigned": [ + "audit-log/signed-head.head-unsigned" + ], + "auditlog.seq": [ + "audit-log/six-entries.seq" + ], + "audittree.consistency": [ + "audit-consistency/four-to-six.consistency" + ], + "audittree.consistency-end": [ + "audit-consistency/four-to-six.consistency-end" + ], + "audittree.consistency-start": [ + "audit-consistency/four-to-six.consistency-start" + ], + "audittree.head-form": [ + "audit-inclusion/entry-2.head-form" + ], + "audittree.head-hash": [ + "audit-inclusion/entry-2.head-hash" + ], + "audittree.inclusion-entry": [ + "audit-inclusion/entry-2.inclusion-entry" + ], + "audittree.inclusion-envelope": [ + "audit-inclusion/entry-2.inclusion-envelope" + ], + "audittree.inclusion-head": [ + "audit-inclusion/entry-2.inclusion-head" + ], + "audittree.inclusion-index": [ + "audit-inclusion/entry-2.inclusion-index" + ], + "audittree.inclusion-leaf": [ + "audit-inclusion/entry-2.inclusion-leaf" + ], + "audittree.inclusion-path": [ + "audit-inclusion/entry-2.inclusion-path" + ], + "audittree.proof-form": [ + "audit-inclusion/entry-2.proof-form" + ], "dataset.commitment": [ "dataset-record/r5.commitment", "dataset-answer/age-30-45.commitment", @@ -71,7 +266,14 @@ "envelope/settlement.form", "envelope/provenance.form", "envelope/ai.form", - "envelope/agent-decision.form" + "envelope/agent-decision.form", + "envelope/data.form-null", + "envelope/data.form-number", + "envelope/data.form-string", + "envelope/data.form-true", + "envelope/data.form-list", + "envelope/data.form-statement-list", + "envelope/data.form-not-json" ], "envelope.integrity": [ "envelope/data.integrity", @@ -93,7 +295,10 @@ "market-timeline/s1.proof-other-result" ], "envelope.signature": [ - "envelope/signed-head.signature" + "envelope/signed-head.signature", + "envelope/signed-head.signature-classical-key", + "envelope/signed-head.signature-not-object", + "envelope/signed-head.signature-no-key" ], "market.arbiter": [ "market-timeline/s2.arbiter", @@ -122,6 +327,7 @@ ], "market.proof": [ "market-timeline/s1.proof-late", + "market-timeline/s1-28001.proof-claim-early", "market-timeline/s1.proof-other-result" ], "market.replay": [ @@ -512,6 +718,55 @@ "requires": [], "sha256": "0x9fcc3e1e6f7f942c0b6909ad195011270e5b21306a0ea72afcee7ddb39eecab7" }, + { + "id": "envelope/data.form-null", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x2a4eac1f264538bafccd2c1e36ae6930cd9b4985d9b73707ecfd37e08b784265" + }, + { + "id": "envelope/data.form-number", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0xee162b872f22353e1178cc239d6a41e9ec14b0f5e5f345edf3bba971695ca1cc" + }, + { + "id": "envelope/data.form-string", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x9433f99eafed79b795a3141bb590260fe6d64a5703264c4ced4e5780674d2cc2" + }, + { + "id": "envelope/data.form-true", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0xcd2ac7e5848bbd72aeaf26ce9ceba177ba238db38606e1432b0fe8f1a44ef55f" + }, + { + "id": "envelope/data.form-list", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0xbd648f64b69292ee1c52f99d8d9b07c8337a903e58294d0db5eb3ba76490552f" + }, + { + "id": "envelope/data.form-statement-list", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x7e0c06c28ee7379f115b4c86562141927fa1ab40b7680473a756b9218932f0ed" + }, + { + "id": "envelope/data.form-not-json", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x14e9fe60a5a9acdfce9003610f61cec6ded01261ba4f639781936a630b6e2d1b" + }, { "id": "envelope/signed-head.valid", "artifact": "envelope", @@ -526,6 +781,27 @@ "requires": [], "sha256": "0x9925a22bb9dd7e06f8677699a49dfc82a85d5dd75472ca9d8a829920c83914c1" }, + { + "id": "envelope/signed-head.signature-classical-key", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0xb7dd710b934743180d4806821ac85731936fa0af8cd822d973a2d2a253583982" + }, + { + "id": "envelope/signed-head.signature-not-object", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x1da2c84715f6de45ddfffe912aab3e15645d15d1cc8e9c47775caeedfc7b7163" + }, + { + "id": "envelope/signed-head.signature-no-key", + "artifact": "envelope", + "verdict": "INVALID", + "requires": [], + "sha256": "0x19898d25cb340a564565e491c25ab66306ac590c93186a5877ef1952b5bd01d1" + }, { "id": "envelope/notarized-28001.valid", "artifact": "envelope", @@ -879,6 +1155,15 @@ "requires": [], "sha256": "0x8a4d385c1d8795cd1c5706a19890f4a58d0eff35b94adac57d2db0ffbf9db57c" }, + { + "id": "market-timeline/s1-28001.proof-claim-early", + "artifact": "market-timeline", + "verdict": "INVALID", + "requires": [ + "rpc-28001" + ], + "sha256": "0x3486ba297ac8518923b339827b21cfb4c9e00ad55cab22418aecbb499260615f" + }, { "id": "market-timeline/s1.proof-other-result", "artifact": "market-timeline", @@ -886,6 +1171,523 @@ "requires": [], "sha256": "0xa86b2c4f0d85a0668dc20846ea1fb054c224dca05eb8bd75e481d0b0d524d817" }, + { + "id": "ai-trust/recorded.partial", + "artifact": "ai-trust-bundle", + "verdict": "PARTIAL", + "requires": [], + "sha256": "0x14abba252fc286e5a39ef26ce47c422034dab42984ba4178953f416044a81ea8" + }, + { + "id": "ai-trust/recorded-28001.valid", + "artifact": "ai-trust-bundle", + "verdict": "VALID", + "requires": [ + "rpc-28001" + ], + "sha256": "0x58615a44202915dc75a1fe317c2109648d481887c7da526e405c725a760aa168" + }, + { + "id": "ai-trust/recorded.form", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x3c1824e1402b027da3f7549caa2b38dd50d372e89b969672e8f67adbd44bac8c" + }, + { + "id": "ai-trust/recorded.identity-mismatch", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x5d6c049ea2323aa9afcba2faf71d972335f5f6401d0db32f037fa11c35fe93f4" + }, + { + "id": "ai-trust/recorded.identity-key", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x2847142a1b143efa46cf83a0b0ac2c29e7fffa72126c6857220629a71df821e5" + }, + { + "id": "ai-trust/recorded.version-attestation", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x12baf21d563de3f016367e0f1e146fefc40350ac6b1ab3e30d18116d3140da62" + }, + { + "id": "ai-trust/recorded.version-artifact-mismatch", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x4981a823755bc1ebc98cb3db9b14f9fd0384c52aa7f2bbc3568e1568d7378b63" + }, + { + "id": "ai-trust/recorded.version-label-mismatch", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x240d142108dc19544fc65df4568c98b68b1e4b79093675131b39cbb961f26c1f" + }, + { + "id": "ai-trust/recorded.runtime-record", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x316d46069f274146c1908b19a68452d07d8ce9a86d3d298f596982f128ad6ed5" + }, + { + "id": "ai-trust/recorded.runtime-artifact-mismatch", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x0c02489da976e74ec7e61a6f28b8ec77c1534e7118198528cebac7bef32f731b" + }, + { + "id": "ai-trust/recorded.runtime-after-output", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x3619a832d7da77ee4143af24200760bc7b49cb90d3aae18c2691e73cb3e3d92d" + }, + { + "id": "ai-trust/recorded.audit-log-broken", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x3ed5a1d7322c96ba79ac9b0284c52fcb701442f1ff1e2a86e1b3449ab9ebd0bc" + }, + { + "id": "ai-trust/recorded.runtime-not-in-audit-log", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x83708abae9cdf1ece7e1e27ce27d3e1d71c39b160e20d1b846be25e10d7cf855" + }, + { + "id": "ai-trust/recorded.audit-head", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x9d778d54c87d62151465fe3e6136acc72e187602bb88d9b94ef620ce6e11612c" + }, + { + "id": "ai-trust/recorded.policy-hash", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0xe08739ec2a395c300865de4df2e5818f451ef9dfd0ba565a4aba69830d888a15" + }, + { + "id": "ai-trust/recorded.policy", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x42bb4db34f49a7cde456a000d2d155e1a19f1a4152d3a08456d7f17931453158" + }, + { + "id": "ai-trust/recorded.ledger-invalid", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0xb3c14338a412da4242356396a41524c50caee12b75293a0fa7bc00b9a8285fe5" + }, + { + "id": "ai-trust/recorded.output-not-in-ledger", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x52edd79e98df90e8327ee37fe357bb1722aecddee9fad96b8975917e758749f3" + }, + { + "id": "ai-trust/recorded.provenance-envelope", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x572c3c069f89bf6cd941a31126e79f2b7615db4d2cf69fe572c54a4c7075c100" + }, + { + "id": "ai-trust/recorded-28001.witness-head", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [ + "rpc-28001" + ], + "sha256": "0x278366a6c076511a6ef89bbf11abd5c51f686b5e043192d1c46388dca45b06b4" + }, + { + "id": "ai-trust/recorded-28001.provenance-finality", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [ + "rpc-28001" + ], + "sha256": "0xd5a5a75563f50f10e96bc30a3f4f03d5fb4aaca77f1bd288457879e11f3fc62e" + }, + { + "id": "ai-trust/fresh-agent.partial", + "artifact": "ai-trust-bundle", + "verdict": "PARTIAL", + "requires": [], + "sha256": "0x214e49107e4e04d6a64e5c42914a689f71a6e4b54f4d3240dea5b606e8db6b3a" + }, + { + "id": "ai-trust/fresh-agent.action-refused", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x74d0823c2cf061f2c529c1531e8dc9b92d09b2ec75c6c1bb54ae8361f121f366" + }, + { + "id": "ai-trust/fresh-agent.ledger-time-mismatch", + "artifact": "ai-trust-bundle", + "verdict": "INVALID", + "requires": [], + "sha256": "0x44f9e24c6ad5c1e598a70a9f2198ef404e83009856df70a12e26801abf4c9e20" + }, + { + "id": "audit-log/six-entries.valid", + "artifact": "audit-log", + "verdict": "VALID", + "requires": [], + "sha256": "0x729cefc3092563b4115f92f378091e8c776f1c2e871e98591f6ccb72fc701a00" + }, + { + "id": "audit-log/six-entries.entry", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xab29efb1c35e70c5aaec4dec352ec4a11c4c16a6e472b5b709d8662d9b495db8" + }, + { + "id": "audit-log/six-entries.seq", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x96a3c0e3d93ad08727514a130ba2e098f84383c0e14b042edd369e730447d908" + }, + { + "id": "audit-log/six-entries.chain", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x9b18b370417c056e1e97cad4ccdc836a179225def3784b818e2a7c823f172ada" + }, + { + "id": "audit-log/six-entries.hash", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xb13a3f93d7d19ec64c47a3f132638ab48a7c120b51162aa752d10b013a156cb7" + }, + { + "id": "audit-log/head-at-four.valid", + "artifact": "audit-log", + "verdict": "VALID", + "requires": [], + "sha256": "0xb8866f5937170d65af3a1001f9ae918614d31d0ad2116b3ceea0ebb8f8e86939" + }, + { + "id": "audit-log/head-at-four.head-form", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xe1176a2f55101267d31c3ff3693de9b9aea778765463d42443bb3936b7c7e9ba" + }, + { + "id": "audit-log/head-at-four.head-hash", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x9cef76dab6fb9946d7fc9b711af2e32664bcc93eb663120a13c81b1251780961" + }, + { + "id": "audit-log/head-at-four.head-short", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x48c476dfd8ea3c263bd372deac90350f6030ce0f166dee6e7765dc7352b0c23c" + }, + { + "id": "audit-log/head-at-four.head-rewritten", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xb58ac4f016c39d64bb5b009608ca501effee94bf235fe3eb49dd0d6defd3ab12" + }, + { + "id": "audit-log/signed-head.valid", + "artifact": "audit-log", + "verdict": "VALID", + "requires": [], + "sha256": "0x304ee1b185a9e713d064329d3885c7bca2af216167d56d468457179b646d3c21" + }, + { + "id": "audit-log/signed-head.head-unsigned", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xe07f609a7bfcda33a54a06779713efb81204620479011c7140ca2bb1eae0df01" + }, + { + "id": "audit-log/signed-head.head-scheme", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x77f86ab5b62e036364d92887e175d1479725fdacd34d0c651c506aa1d7ff8cd0" + }, + { + "id": "audit-log/signed-head.head-scheme-classical-key", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xb99d035edf8ef3a911403820fee93dc422b278c83cdc829b8267760cc254496e" + }, + { + "id": "audit-log/signed-head.head-key", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0xf81b184dfedb3fc3441cbabc45f26b948dd03d7ba30c29dadde1cbf4d240ff92" + }, + { + "id": "audit-log/signed-head.head-signature", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x6e6607cd7d3480b9bb6675f14469d04433c20ee891bce85b9b553aff616da5d4" + }, + { + "id": "audit-log/signed-head.head-signer", + "artifact": "audit-log", + "verdict": "INVALID", + "requires": [], + "sha256": "0x9059e71850943902bf72d63252bb7ac3fe2dad6a8d788c1dbd4788f9f9c9142e" + }, + { + "id": "audit-inclusion/entry-2.valid", + "artifact": "audit-inclusion", + "verdict": "VALID", + "requires": [], + "sha256": "0x7424c074dfe447ddd8efc6b232b775524a6be800e0b13e3f8fbac28c6f7e8116" + }, + { + "id": "audit-inclusion/entry-2.proof-form", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x18563a050bec798ce74a5bb39a19fec14e94ac8dfbd30be2e8ab29ccb7a1ea79" + }, + { + "id": "audit-inclusion/entry-2.inclusion-index", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x3238988f8b09dc43652afe6a894bbaac5a856e9858e8e4370d0c09af0ff45b21" + }, + { + "id": "audit-inclusion/entry-2.inclusion-entry", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0xd2278740c3c3cbdec8fe632fa03555fdeca9d9a426542006ec4cd9746321e33f" + }, + { + "id": "audit-inclusion/entry-2.inclusion-leaf", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x97af3828a5c2cdf1ffa5cc3ee62e99322fe222b185f190eff16a7a7b3d4690f0" + }, + { + "id": "audit-inclusion/entry-2.inclusion-path", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x09cd163470039d956f97a528c260c097a66cf700e132fc1cb07dd748b1eb05e1" + }, + { + "id": "audit-inclusion/entry-2.inclusion-head", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x62988cc6798c1aaa4ae9b2e33d46d5cf723d2c2f8cf3cbb0a4a9ac1342ea3966" + }, + { + "id": "audit-inclusion/entry-2.head-form", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0xf92df3412e6a7028aaca35db048b3a8c7776b8148ec7e3b7bda62673b7a370a3" + }, + { + "id": "audit-inclusion/entry-2.head-hash", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x6a28c290de61ed442ae515a3023514d125a9766c90e7e7e5f567efbb48f0f0a6" + }, + { + "id": "audit-inclusion/entry-2.inclusion-envelope", + "artifact": "audit-inclusion", + "verdict": "INVALID", + "requires": [], + "sha256": "0x6a4bd3abb9f0367af321da3ae5cd665ed99e60cf7a9de4ec71e89655227415c1" + }, + { + "id": "audit-consistency/four-to-six.valid", + "artifact": "audit-consistency", + "verdict": "VALID", + "requires": [], + "sha256": "0x82fe94c5426579791048265af973373f45565351c84a160eabc56695cef669e9" + }, + { + "id": "audit-consistency/four-to-six.consistency-start", + "artifact": "audit-consistency", + "verdict": "INVALID", + "requires": [], + "sha256": "0xfc1657c8b1cfb300ac070f08c5728c761c3b14a43c9449a2ec5df372fa3e2e35" + }, + { + "id": "audit-consistency/four-to-six.consistency-end", + "artifact": "audit-consistency", + "verdict": "INVALID", + "requires": [], + "sha256": "0xd1cc3854566b69a2791e69f647c6dac5c4f81dcb8946aa2dea90de2aa8ecc951" + }, + { + "id": "audit-consistency/four-to-six.consistency", + "artifact": "audit-consistency", + "verdict": "INVALID", + "requires": [], + "sha256": "0x1743d286471d5e969ac7f60bc4541d7625b16d17a0c9619077ef00d1e5ceb793" + }, + { + "id": "agent-ledger/four-entries.valid", + "artifact": "agent-ledger", + "verdict": "VALID", + "requires": [], + "sha256": "0x41b42a37322839bb8e798f4afd77c8bea5fa2f70e92bab1f49a0a18956093e2d" + }, + { + "id": "agent-ledger/four-entries.ledger-form", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xf315ca9159e1cc823a811394c5e88c1afcce737d52770d6374aa0e336c673ff5" + }, + { + "id": "agent-ledger/four-entries.policy", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x59d85be95fa2b610dbd36a0537ff1f525fcf8f6a6cbedbdc2bf3e8df1b7f65f2" + }, + { + "id": "agent-ledger/four-entries.other-policy", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xe902c27b0043d69eacb6543f237cfbab72d5047e4c835a1f4f8dd4c6746a1cf0" + }, + { + "id": "agent-ledger/four-entries.session", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x07e74190aa3a034299462ba749b42bf8f20af18dd66463d56f801e4d4455b053" + }, + { + "id": "agent-ledger/four-entries.key", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xa8be09336ee8882570672de3560666184845b170e5c1f5db3800e34a6507ec29" + }, + { + "id": "agent-ledger/four-entries.key-classical", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xcef760b8f8c119a302816d2313147522c7a8392b9739a1a96369efd60d80902e" + }, + { + "id": "agent-ledger/four-entries.identity", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xa5919a83a8f048891de77da9bb1929b6100ff7bbaf105a2b6aad0dcdfd97257d" + }, + { + "id": "agent-ledger/four-entries.anchor", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x7d588b72f8e3c2ff2b211a285741028db40c0c793a0015150e1796769cfdb334" + }, + { + "id": "agent-ledger/four-entries.seq", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x660ed0814dfdca169d1141884f773f03b4ffbd424eb758d1bc0b3ea528041651" + }, + { + "id": "agent-ledger/four-entries.chain", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x6b8388904fea5dcbb12db35eef612649357a09f0fe5eae67c8ab698732b84bb8" + }, + { + "id": "agent-ledger/four-entries.body", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x801aa434a2872fd478c3c35827b80dfd5b53ba615a34dde7922b2d86e2d860fd" + }, + { + "id": "agent-ledger/four-entries.signature", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x092dbe109609197fccaa7e652e26507b121793f39f48c65976fe5d7aaee67575" + }, + { + "id": "agent-ledger/four-entries.hash", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x118f0dd5a12d64dc8f749322a38a94a8978c17ae82e19bd98d1c31087173b921" + }, + { + "id": "agent-ledger/four-entries.time", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xcb40db49b7b46bde3782075184defbf5e54450ce013921e45dac9ae8056a5640" + }, + { + "id": "agent-ledger/four-entries.approvals", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xa2890645d55240c2cad188fed855b6864a02cd4b84f43529e4c2117bbe18785e" + }, + { + "id": "agent-ledger/four-entries.decision", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0xc89572898c791925da979b69af99001587e0018a062efea6532e70f17e18c1e1" + }, + { + "id": "agent-ledger/four-entries.revocation", + "artifact": "agent-ledger", + "verdict": "INVALID", + "requires": [], + "sha256": "0x2f99a5b5fa7e3413b2e9828dbb64c17b9d8f35fc41283e125655cc0c1e03a976" + }, { "id": "dataset-record/r5.valid", "artifact": "dataset-record", diff --git a/conformance/vectori/agent-ledger/four-entries.anchor.json b/conformance/vectori/agent-ledger/four-entries.anchor.json new file mode 100644 index 0000000..88027a5 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.anchor.json @@ -0,0 +1,185 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.anchor", + "artifact": "agent-ledger", + "title": "an anchor that names no entry of this ledger", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "add", + "path": [ + "anchors" + ], + "value": [ + { + "seq": 99, + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "at": 1791022310 + } + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + }, + "anchors": [ + { + "seq": 99, + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "at": 1791022310 + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.anchor" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.approvals.json b/conformance/vectori/agent-ledger/four-entries.approvals.json new file mode 100644 index 0000000..f9cd47a --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.approvals.json @@ -0,0 +1,176 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.approvals", + "artifact": "agent-ledger", + "title": "the fourth entry carries an empty approvals list", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "producer": "the agent signed an entry with an approvals field that is an empty list", + "changed": [ + [ + "ledger", + "entries", + 3 + ] + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "approvals": [], + "seq": 3 + }, + "signature": "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", + "hash": "4e0541858a19b07f4c98185acb123a3ce06a571c85e0dcb3ed2c2fc0b783a9ca" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.approvals" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.body.json b/conformance/vectori/agent-ledger/four-entries.body.json new file mode 100644 index 0000000..10060d3 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.body.json @@ -0,0 +1,176 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.body", + "artifact": "agent-ledger", + "title": "the body of an entry names another session than its ledger", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries", + 1, + "body", + "session" + ], + "value": "9a38b91bc07691a3326ff629760dc140" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc140", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "4HlNvJfj0KM+tjE2fgZdPzBPJyRmOkWCgLv/mvzBKKuBH+jkhVTH+Uxka7G0OqQnDHxINB2etpHYP9Qvplp8ZJ6qo1G2wb+V5J+0FcJdJqRzBlAETi/4uGjLHZDF+AgVgDsaBLc1bK6DhfiCG/dKlyK4bY83C2LQ6KzKqdrIZM+1LnioANdjrofS46vfS7aTuqWi99/wwe2p0st/+1tJr0C2WO47Qr7Mjmz8xREBtjN/m5psVmQce65v/VbvhJsOvbwnn0Mo73Zi6RBjA0UyJaDUHybT1AQppLnEYdlvNdFLUbtupFK5hJ60rXLlJq0TeQWmvapT3EcH1nsUjPAQkJmi9jOs0FddHHOtbQmr4dahowzR8bPq31S+8DZH7rtzn1Oc4wa/u0zwbKw71HxDGXUJQqJkDiNY9boe4cCMLpcoNGzFiUq+JdOh8+U5BLhqRMmrgvfTovRXslbYtb9ML/IA6ua5Gwyqo3crVhkVEsCJown7C1T71SqtYYlKWEpDTGrAlET7x+M4Y7VeBsNp/gW7x5Mu0CzWw2JwiMenKoWsw96Z2SLHxDYoZj7PtnWGpqi3ZgvHJ5IHpzqhzTvqsNy8UQSS37nQcVTZjhQ47g5BcHgCUyDPyNw4Q3toz1l7Hyibn+8jqHMjy4G3/TQWfhxpMfc+nnxmdfHBroRFJXBBOBr7cec94HimbZ+3E03EBnvS+76UrpNiISBZrrny4O7rjYL4GxQdBL3R628elZ7iQt5+cBsRiN64n+k70Rsg/GSnMyFLPcSYqZjPrWhnNnNGs2EaRyNsWINv+oSbUVIKpCQMs91KrN2GXIPQZ7qz4nvw1AFPdebt5pJwP9m/tEEDhXePMhRVkn7Zdvjzmt9ZyqXyvHQMGwZ/jEj5vuNQjbD0GnuNUufaSFvohyaHbV26NMoqFKfdkrcDEVobG2a3l8GaKYyC6OtaKII1pCxpWu1uqiH2xMFDouEkzG2oOy8kJP5Ba4yE/wMwUCjWHrtlSkP6/Gr910MhwnxxJzAdYnu50AhLuyg4d2PKxIdvFvdacnhnIzPIcOr2RxWySsnoETej0pMPaSXzauhbINUqTll55edqXBIJe9R3zB2D6Em5/VfxkdXD5/m1dyWhFd2INnKEoyvjUAS+z8Y+/ttSxErUbahdqE5hPIO26os+x2hAKqSl0bgv+Qs2ePHeZK7r1CBzS/kPQf59IeSs+EZTLo+/B8pLz4AgiWKFQJJc8EIUd56RA1V68JuDhqn+Dal8Is5BiWhq5eJ29Q6EV39TWmaZ3Dudf8OwDj6DP4SGHwnKgvsFZFWn8HRrOdw8YX6Dm1LacB0YBckgMJfX4zgCTQz2UgXuZE5T+/cC9Py50a4FTpUxZxAV7QgUl+t1BeOwtgfYr2uoTRdSvVGYjw3KCaTFXJ8dqXTf+cuapjR5EYRPAPuP48VgK81HHDgzMvF/vdtqt/u6ZNhuigKT+dT2c/owVjGhjxG/X3kghLouWMez31ALwjktyfMJuLxqDaA/dSIifwCwRGlDK9yXGMMqXlsp2fyJyFz7rpVgtWAbDiJM+jfA+KsnMyBoGtCs/erVYJEMSa4tKVbgwhHqIyh8yknUoI9gzOdr9sNNRLm0uyjf+2FpFzDzGbk4WC6R10Is3yb0XR6/dsUkgLd/l3K3Q8dtWY95AjudLVEFX0e6oieLYQoc7czFBo2LwjOkJOlLnr5P9xMtVTJLQeN5bnc0cBmreFlsor7Etstt1dEQ+YI1vZWFc7tLWs21P/Mwla8qDgKgoHoEGneF7rTExrErf7UG2YtA781AbB7gIGdxh7dfr6Z2kWnwQSSZzvndClA7axyWwkxJYzif6HHvtyuJYkD2gUE08aa17SQ/tZdICsqmQuPERnau+2lfylAkdyPNeOCmKJ5QqX3PkSQsP27Y24pR8iMVc/Xk10hLJKcoNcOvctseF5hxQ94w8lXQ6FQlPJ2orlB2kIvtTElE46KA+AR4OVD/HIpJpxksz8Zr80zaZaIullWlQ4Z2XJ9owOfsosBLYvCJSygisOS1qGFsbjhuqkBFafgYyB/fqeXrsfYj1s+BzX1FhrlmYuOtq9oaCmmkYmeV8omvLoK1KDHjCU+ahjlzDqNt8aqu2rfThjRmaSnuAd4LnZqnQW0BQPp6KSDlStNToOZHqPy2bUBkTOmFd0hK/etPnEHPG0JeLiMpEgyiPZCVUGRyNxO3sWf3JAaEJPKgwgSf/mRo0gH3DO4oNVbJ25w3jid/Q0VOdJNHBOdxLkKidGOwl8bmy1EtUyH9u/TA+H18B988RLbPh7FfgOXup0dd2wXUtDeeGrk1WLQ5xKW8R+Fo+hdk9mNax/TTMx8iBjxQfY1/a5Pv1TrxWGrpVCHSTRp1I3SBgJaSMakyhkRfKpNPiqiaxqjbffDN9PePQhGNgVYHtn+dgMjeOiqSlfVsPzIq946JrfX4ipDq2H249tfXP9p2+2ypF1JDtByAGRsDS1gk9vYUVEf15zUY3BOaLJeePkrdSvzKVk+SR77U3IF60b1Add9earNkfDZ77+AsCH12dJpzF9r0KBPhvVdodK+dauypDAtNkN3l7Unl8cg7H8rDvu9zXUqVN+zSp5HqRHfFvkBOtVeLzJCK3SDHHd47TTapc3rDNiI4YLWUg2lEQfxJTu7d1mrjrZBMXYPt41mZscBn5wU4mwKLzkkM+q0o0Gv/HF6i6/TOVvpCAq3aYBISpCGMWbqEG5itAQRSd7M3nCTzZphL9f/87+CS8i3iN+s0PSYhQRHzxlzEWELN2rN16SKV0qkFtqI3SQeEfdJML/qtnXBpWn9d7dSU064f3gsmGsTvuH3R12G16AUR0jv1qUA4h/49EWYE5RSFL8oocIHMVKL+1Zu6g0NuYUp6vBx4wHMUk4anm2QLHT8gjoSBypBxqTNP8yZr9eX8klYkH5/3fXc9gSo8oGyFVytqQWUT4S6hQ1lTJpYkYHdg1nwCBUOA2yo+BsZfKnSZhxUv9z5AGhnxcaCT58r2CryMpXMVKvSNem69JRMKHzEs9qr8Cd0IcyzOPq411b2xbfYZhylckkSBh4lPw+HXSn8mbdXKx9e4R/ks/QoQ0gMaDcydc0wWiPAl5ct+iXfdHlp2b58tE84jyktRNY8UXm18HCQtqH8Kr/TxXj7xRwF82Dl1slFI9kQAcWBEQLw6HDzHUfAtRiHMmoNXvooby9aZe5j12KqhFum4nPxZZG3pCFsBcHfQun5AC0Fkw7anZXmuTG9KkPDWm35pdQakQtgf1/5A0sfJ4ou2bdDOG9OYzs9Os+OiTelMc+HsvUkvyWHpztaTHCBI+R3nrnX8zrJ+pBXN0kYewGZowKQRRH1Q4sYyVoaGSG2LIB8MQ6HfGfluHr90o+LmKru7KTQuCaJUOM/GL9Hx+zw/sRUQRUHIXAIErcp4If425SkwzI7TEb8VRJ3UORxnRjAU8iwe5AbZGzWX+A+dXZBK+qVpCJywdsBewwSlkM1Rc6wL6p5XzZtstUI7AG8bTDMd6hFnANvnc5enq4MzwYfi8vtVVCuGRBXZ/mC1WggsX3iEIt397xefdjTCm8VLWTxUN86LhnVPfL0eRbMZra4MNOnadcS9KNGoOvRDoyyLyhES7SMYgdEsPULvaLWM0AthmxKw0FdRZNvdujJTPgvhIhk3yGGNkJ8XDuFSeJ0AENtjZmTogn0zThbPxD/7I+KcbdoypsZkpPPileW/RIwNtowXl3yki8dfxY1S8Z9IzBYbB+u/+iXYIsg4m/S1PSS+r9kYF00zx6MIENMP8+pBJNczH3SwX6578uGLL8sCK9W6ZFD0erNuFGNvv0r4gq60yyBz/Bvg1hxMZGBTRkBcwKxy/1eLeqyzE0vf+6lBLutgjjkNoajtL+eXCwpPR/sIVR84MGfWMI+Q4+Tbf+d6Z8ysn6K24Kin90eF74Diw5irPQ9t75h3JS76QlROpWd9YnIyV806Bjtkc6pmheNCmaM5B4uCuCjoOcJgZBL1N6pfRnmHbrV8oUw+0oV2r46mtTL8qGOD9ewjNHjE98+g99q2pBQUEcEcecJQmJ0mP+reFsPJHD/QovJxrVnFRd2JUbydW5MdwCxzZDQ4kGbSR4BjF3zOTSiXu5vC+R/tJCtWnFXFZkw5UpQx/dATZkFGB2Hb0D8hpba4zC5qezvLO6W3Pt1fU/nLZovqtXUNsVoGhVRqsGzF/KAG1drG0UVJ8iTcsNIl71HqqDEjlXCFfwUoPVchszHXzF+hTxr+yk+jeViog1WI90vK9tVbt5obnzFb1060gtE50LlrZcCA7K1LgRp0Qj9w/eEFISRhbYKHoLTQ5eoZNldZgZizuAgVOkNRXm7WDQ4ZXKWovc4kOUJNcJ+50+ggUaSnt8QAAAAADBQcJC0z", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.body" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.chain.json b/conformance/vectori/agent-ledger/four-entries.chain.json new file mode 100644 index 0000000..1b5735a --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.chain.json @@ -0,0 +1,175 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.chain", + "artifact": "agent-ledger", + "title": "an entry does not link the one before it", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries", + 1, + "prev" + ], + "value": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6f0" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6f0", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.chain" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.decision.json b/conformance/vectori/agent-ledger/four-entries.decision.json new file mode 100644 index 0000000..934db86 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.decision.json @@ -0,0 +1,176 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.decision", + "artifact": "agent-ledger", + "title": "the fourth entry writes a refusal for a payment the policy allows", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "producer": "the agent signed an entry whose decision is not the one the policy gives", + "changed": [ + [ + "ledger", + "entries", + 3 + ] + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "10", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "refused by the agent" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "d6e0bd70fd984732f2e5e02149d16ff2a1e37bf76535aa5f80537333835fd0fc" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.decision" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.hash.json b/conformance/vectori/agent-ledger/four-entries.hash.json new file mode 100644 index 0000000..1cfcf0c --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.hash.json @@ -0,0 +1,175 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.hash", + "artifact": "agent-ledger", + "title": "the hash of the last entry does not reproduce", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries", + 3, + "hash" + ], + "value": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc8180" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc8180" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.hash" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.identity.json b/conformance/vectori/agent-ledger/four-entries.identity.json new file mode 100644 index 0000000..0432b90 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.identity.json @@ -0,0 +1,178 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.identity", + "artifact": "agent-ledger", + "title": "the ledger names an agent id that its key does not derive (with the session of that id)", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "producer": "the ledger claims another agent id, and the session derived from it", + "changed": [ + [ + "ledger", + "agentId" + ], + [ + "ledger", + "session" + ] + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:1111111111111111111111111111111111111111", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "290a23dd8783122ae6142be7f29cbac1", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.identity" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.key-classical.json b/conformance/vectori/agent-ledger/four-entries.key-classical.json new file mode 100644 index 0000000..834ca5e --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.key-classical.json @@ -0,0 +1,96 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.key-classical", + "artifact": "agent-ledger", + "title": "a ledger whose agent identity is an Ed25519 key: the id is derived from it and every entry is signed by it", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "producer": "the agent's identity key is a classical key (made and discarded at generation)", + "changed": [ + [ + "ledger" + ], + [ + "policy" + ] + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA2MvfYW/ksEZPYEUpteCsyo7qmtYmdf+w7+khSfS+/Ok=\n-----END PUBLIC KEY-----\n", + "policyHash": "0x450ae0fb0fb9c621b09842a1ac5b85cca00db705911e2d5b37d4928087eab48b", + "session": "52d5e67cc57accd4a1b9fa42119c07af", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "policyHash": "0x450ae0fb0fb9c621b09842a1ac5b85cca00db705911e2d5b37d4928087eab48b", + "session": "52d5e67cc57accd4a1b9fa42119c07af", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "PIXnIY2rAXQc8hTa6297bfmBuOhW58EUjvNQejroIXUY9Lc746p0vD3bH7vz4PWH6RazeJ89NiAAZQe13k0CDw==", + "hash": "dce01dec0c63f1ce094755c4a967011492611cf08150d4a7f6df31aaab726a8d" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:29d2303736fd708a94db3789dcecbe0841d4604f", + "spend": null, + "tools": [ + "retrieval" + ], + "recipients": null + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.key" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.key.json b/conformance/vectori/agent-ledger/four-entries.key.json new file mode 100644 index 0000000..e870006 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.key.json @@ -0,0 +1,173 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.key", + "artifact": "agent-ledger", + "title": "the public key is not a key", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "publicKeyPem" + ], + "value": "not a key" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "not a key", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "kJs0O1cy7aPSEvUt0OCYqgZ5f2a+VpiuXW5FRi4NmvIpXt6zP3YOUzuL+lO+zhj73I/o3hVqL5vWlTsaSPBo/WcUi9uaTD3j6h7ClpXtBOHaUeB/aJJGC/U42CoMDjkgDWSzeRBBlZI0gbFI9RlZEBO6gWd/XT7BQ91qzcrrrIXXVBtB/lwHIbKT7ylFq6vEkx5pGQ5CSZsx3xpWfUu7kWCkzEgUrbWvUApXQ16kQ50QWrq8X3cdg6qckD+s47FSEWVtDGqzE71yrmMsTlt2tjYEa1zI8bzM3e4qw63btVPBr3OgV8n7OTYlkjouyS/mFH7e2ZGKRfVqe4kytGlD7uBDhT6IdMUF6ZVmrb39hd0pW4fwrSVKu3ptKrDYbEcMCRpttRg9dcJH3bzD0dhqcnOEBtainnOB+kNcB/wrzuXWismDd+nMAOM81ARlBRMp2iAifGRvBHrsFrkax5L6jmMWjJa86TYGPflJp4rHoLyR4/PYHF8NjSK3VpNyG9TWGWLQGk6ygq08cQ2PhrBFE7wQBZ5uMIMSuBHotHKbY92ZnrYL/oMbWY28U2Csm9kXX1QKmYcd0DnPTn3tgWW1TYa/j2BahzQ5F8BUWU4Wbq1z/FWbfmlLfhKoa1mZUp/Se7NLNAfYvTJbeoP2PSXtZJxQE/RnjmIlBH5k9j4I3l3M9Qt8DnHwvKlTPbQFaCQUnIrlI2kPZhpFUO0F3XizSE6Q41yXRkD7HAf35Wo4HhmGAI2VFGppaPaDGypN2Gn0SBRiNd5qVftjUbZRJpIxVa0M/rAi3CQC9DigdzMxL8fP0TtBR60NLF+TvjYImc47aggBkxcC96BcaqPC+XQpf+B6dzjfWA1/uDADYewZAjMxPhbdeuB3mc37OEAenZm8r8GZAEkzUlm6QdhXrherC9SdEsRBSZY9x4rgBp14Oe9TfpMhm0hT8o2OfACatjcrwTwpV8nBvPHiuqsQmuVdIQD9bwtGOnOth6ntp7tuia1i9I7SqM3DKkxCdJB9v8606kuJ6cDLaHzb3yVyeNYu0xLxjTvxyq6qEV0BTHBkNr/vtTKQCiwzajy2yn9P8HtuaLwpJ2GytyHslXNHD1K9WFXDziBRpBSiuUXIz1sBHCxcJJObwqoYOJLqwDhKYLxY0q1HUPU1prtVRCmoOMRS3GHMyc6baIvUMCxuCVijwIRjqnVwIxByj1eCxR2MYv4WKGpL9x28DaBNFKXjzDwOjf9B1ldWxgZxvCq29KjrEu1ZkGmoV121YNwWJowY+GGVuwmr6RQ38OIAk4wjAv3HrJez4JdEWQrKhZ9gbPRqVpTiACbB28M4FaEXNpbONxGqrt1A1GuxpLdcTkBvOctynMDTvjI4+JQM7Cadz/07teyN/CQrKiaG3P4oKzlWnq9mYebfNVcU8vg398w/UBjopriKzJcvCrgUYrTE1AYUhH34Q5getWdEVbg8Nb2iNmrAyCZZNl0Yw6fGcUQMj5Q9qqHGm1TcxgripP2IY+PEvknpnMjZxThTR0uA/yTBz8g8zqo06n4cH5ccr9xu/QsdmJ3qgSriwsBbRETUrI6wU2klh3n/39SuJ4eL2ZXKSgZ1UR2XSfQ8TNG6i4zKK2CHFGWY8UqvCKL4gECx3RJYg+qHOIHhTIWcKvtjEdBcERk6V7Eq5N2PhgBpXqepgo4ZpHnT0nlCcbXSBHh96obii7h1JUqsBEkx/Sa05EMfVUGTrmK9UmOd2XJQxy1nxFuRbaddrD2yEDg02DPaYxxnJ3X7cst5ngonZ7TvdowbFUMjZ6bpmf1vLlv7qaLldsKGS6xCDjjYsI5hEr8y/1K9o/Tr185ShUQxTEqDuHbaMhxh/0xhvmGIwbe0ZnrOOFyUjDFeAzsHrh033an8+TkJoOUVXisXPDglVjT6inF2AxHs+uEyuUWeunNOkrOMuemr3K8lf74ON1hv88wbZ7fjHQtXI3m+feGAdWghRAdVvzNmw4rS7I4vfnOaqlx3WVbrKJW2SLliN2Cqblco0EkRN/zYshEAh3zrHh9g6Ky8REqcRlj8W3u2fx+Gu26GxCUzz2q5rL00wmHtn1NgfBPqc6RLpBa2u4R4XQZg8K2WkPh+Qs0J8FUPU5nLIMtsEpnqFZzwALDtJBgPUzKgiYJG1HJHWOm5L8zTIgCVI3V+30gH2RpDbMejXKWQLEqWSR8y0COz9mzDNksokuNX+sUcXWC96hB/FSAl40GqTaVGI82lquSPB7saz5jzTF99d12oD7G6RiUAXkuwzFC78qmb/4/2VNkBT8uUv5fUL5Sm+dO1lqDHokdm364PVkMjT4dUSQ/4Al2a7Cd7wjgAR7t/BHIiiMGwoS7LdybWD9+BQzTOgesE61rMFIEwTArH5vhKWM4LlyCN3RAOOqJNdFTIQXbdPZvHh870uxvrS1bWG3ZundoM4NK/Cu8/zMYExa5OoHpUmuRBp3WX0lT4de/M6PgeTrbq6ifFkNMUIn399HkTdORJ+QyXKVdFgWR11Q7pIr14+6N1qk3Rmjsuy9UPlQt9aWJ50gH6RLJwLnPSaT2CUF01GaQ4IC9TFdnkhQNTwLC7U1hWSMFgjj9zBIDYNWm96xpWy5Jkv7B+lRbLlk9mObODjHJQ2WGQVLvPywRqFm5sPIVbByTUOH3jRbE5HChk2wCkD8xqGZFImkpzHTQ2Lo6mGMQM8XQXD8dIssJJYkWUz7PFWogm/gf+xpvA04rwYfgiesZZ/k164ox7QSIKG24lW2tIefcZCqxorSzaxWcGfLUHmONbx8pJ7BMcoUO8kojFkLxDBsGYBdl/YG28LHPIRaLkMtJM3xse62LitFh3J1S+fhJbtzhhmn7yN6zByKZ/hMRP3QGnH+onbkMsIVr/NScynio3P6cOC7BPj0JPtNMcX2x1gp9ZyuoYm0vGDi4RmeNuXnpl1EPJUwJ8BodwgLweetGxi01QMv/g52R5hIznYZBeEttrzurl8zQjLEVP8D77sXhxNRZQb5ar5oy1e1DzG9NNF4zwJVeGjD4tvfR347OfDX3JGRF8Pce4PDEjwC1lPfaUConU29tWvWLEELRYYQJgbehJRSiabvWi+xAFNLGFyksusjOYxKIRHBLr4fBuv/6ltY9vnV8x/BmRx5mhTbwHHu9AMZKI1I2iAOj/mEdS+EGLvcjy4D5j0s9dKxcy4b75wTLc2AwjBRdAbBbsPLf8q+0jjiH3qKh3fWiEFiM84TotqBZoqS5204J77HYsiun57sgvjv9/B2cK9evy6y+nKO9FrinCRrk5Mod8E8KglmpUKZ7tFE35VA8/nHtYVzxDa6Wmh5Qsx6W/LLqLDYphmtMBfWhCOi0MBhd1xfpWr/YPfbJD27p+abl/7ya5jWsPhKqPVxxS7yrrf6nBeeJNi9BZB7SkD69CvKVxOtm9z1RuiAlFzUPEcewi2QL5cESBqF4pKnbOGVgqoYFewb3gHrcoruLEqOUKv/lWDoR9VS4vVyw+xaVoIMVzW3a0E0SUoYTo7RKLTfsMVqevKPocAZLIFEFYOAhRLkgdhYMMb569p/LCuzCVSySxy0TsZWndXmiNHT3ir5wr78GMkKbeUaDlm7ozAcFZjhKoW62Hy5Skjw3uyAvLfIsTfdtDP/qTjXUXrYMF3NrwwP7dJIq/8LAo/UQJ6ZBwxQrTDhyBsY6zYT5ElvwVyeCOaOao1GZI5TVRqkR36u8Wydq1T477Ku/67ATUH2urJKIxnVM811w4ehRK0v90A15Ko0p5+vrXtCVJc007D+4h1JVXXJFGYq2FB8MLBPc62+xk74SzKLvB5P/Jhm+UblYxyUMcvfq6Bq3/gWSVOQMyrrkYsKyH3oOpFpMKgKveAuUBGfAr/+jDOGBfe3bzn36ndVQ5j8LE37GUqPNT20LfDolc11CDKHDE51D416ID94Mizvjt9VrJ1Ymz7eRJZEn2aDQ7lfND/V+15VOjJepVMAwpxvWeCe93U8+jJS8wg1jjXACqqYKvvOB3z0lMJMbB8g4oGSgIsLVoqO0ZjaurlWJY/IVzDUAMbNVAApEI0UhdomyPc1DWgnoOI35VKkibG782LigMpuZRKYB1CzUHRVh5WuFdSl9LfL8PReSxTqB9xCNakHyl+ZyRmkGEHCLLkfNLwrpzZc8eqOAJXwkLG/XPvzdsI12zuscGSr131pcSf7PgYpu1+iaj6m52steiLOeHdzHqnpbh2mBr7qgOIs5ZZNiL+G+VPSebPwueVukym24MkHFxml6/KVT3PegizTQIY0jjX1aScVMHtaVaK30MbyW87whiIOJpLhoqkE6PBNpovBHPT2VbPYQP0PA/SWLXCDsMHypdb5Wav8mm3kxYbHXJ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwcJEhQa", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.key" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.ledger-form.json b/conformance/vectori/agent-ledger/four-entries.ledger-form.json new file mode 100644 index 0000000..baf95d6 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.ledger-form.json @@ -0,0 +1,74 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.ledger-form", + "artifact": "agent-ledger", + "title": "the entries are not a list", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries" + ], + "value": "none" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAHcs8hRWJnDQ0yZsZzhH8oiFUjtbjwPPBWHU\nKRi3+YYaYvQFJV24WV4WM1pJCrcTISqMqaFqQTZ+IWDq4bNeJAlSt73NrCp0Vf7C\nwefyoWmn70bRV9TVr0IyT3sJpMbyfkoZPPS6bMzY/u8odSHkW3JNkRQL9KYzxLjI\nA5VgEJpaqus4WUwUFgFta0q3jqSIWOtkU0B66kVyAtzEzEc/pogqxJv5ijYFyRk0\nvrxRN19EMfIqGG68HqFgjPQ/htGxdaEpBdhBWR2IdJFBJlWtsdWYHMukGfdnk8i3\nUcXPJZtJUwii4mypWaVECD6u6vvHPp4n1MS64LpLijoWsl/P/zUNYnOOtWO8byWD\nXK5dO3qRNEYrPBHG3YhLY07gLiMxWIX+jE5TvzFAC+jeUyqpgOPq7RpmYh0WeZYM\n2qjlUr1bWVyctdOPRhPTgJ7tzvaf5Mgz4SlfBD5E3SndGHP4gQru9nn0mLRwGUS5\nsaDac0Llfj/XgWoXebG6vzCbJWcwJMYnQ0NnBRKIb/MPI3uZ8aGdybSKHuMpM8WK\nGzInfKLBdiCnIjmzV28FXyvd4EtJoofca53teHbbQLTBFZG9INjYLXk2bMemj17E\nV4NOVT/OO92cDXdxAgduj9hF95sxdxpZ8RHvxoILBCdPsgDTHEkNYuhrJmMH+Vfy\njQfkkzXECx9nYW0RTueRnpqgXIvyktb4Toy+7BfIVDxw03u5UYsJTFTa70N2nvdR\nhphDa5qSzJq2ugtqMC1IHoiOkH5ekbE4gB837hCKeVfE48b+a6FznFGAKQL1U4rz\ndlcakj7aKVlt/a/1TV8fz9d5a2XlHKe3S/05VdBrXhCdwzwmExx7TpwKufVBdug/\nXJr6wE/c5CtmeJ24x4touQCcICkBhLD4X3B733Ez4nYlNvIFtLNkbW+7/Ou3q2DA\nfWMVJM0SWabNn2gwW1rqN1XY/ZICRP5GmfGDlTpOiJSWmBJs5Bpx0ocDPheWOp98\nsJKEiW2BX+OTxigkBOOHiZT00LZTnG64ah4kVXmegDHlToGZzcFPjMXs9lTjwNOT\njtkzRpXhfbFB3aNopzfKGY3wwpTi3WeH3E36VYGZupZr4nHZdxvYWstc3LidjHgQ\n00hYZSVwMGxCwv8QhhPQGXtzqaDUqNQ7iZmefUANz2fx0QuaIRq0GcWnPXHQI9XO\nV1YqCGJnJSSNaMztFMQsBVUbt0gs0dZ+3S0SkIeM1AbeJk4aiMWxd13bp0cCm6x7\nVeXtzBT+D46UZAkGewRILso4YwN6yvK2C7gxPhF/fpCjsy6f0ctCr/EBw/cFsorb\nkkAOQjElJxNRyBU12dOpx6DdpA0LhETr9ISB1jjzoiy+enpu9bizBJUG0WCjkZ4D\nMBveifolVx6fBYbjbqOhDaSOFnNCNLBX5rIR0o0gi3Mci8uFmopUrUIHz8nJchpc\n52PCbiTLp/y6K76q+Fzh4J0RyCnDk1H2A3dNL54vZdDsi9QJHA/PBV+bv1xd4oVe\nRMYOgICONrUV+ZfnP9lgYFws71GIAu9EzSxejFyk8K85gyV29NJ+o+ULmDI+2Lla\nc6oPiDfNi/AmfcCJZ3lVX95ESNaF7+iYL7yegBPPC2yPC35GUWbuxBHuIsMnxP4F\nJo+XZfJV/AbK5qHEdY8oDg8HiKr07pfno8fWrDmEw1qD92MILIyn+23sLzMHZEm8\nSwv/fiUt4CagN/y9rIZ9cHHq2zG0P/fOdMgAiq2H9vG5Ousax7ZUrhzePLZBUmtM\n77xmtlSjWFkRiWKHt6DRBd1wGX5OKiJ/hLyzAJZs3MLm1pDkTOjR7mTVCxU7B2RU\neHF4Qth2MZn2WkE36hiwqYHrcqYp9BH/pUds03wwUh85sN3QUTV2kf7fCHrpLZbc\n+PT1fSlNgQn3IqMzFoRgQ582AqF3Uu5CvXkFV99Y6ZXIeWA4+cjbzSPlQfSimF/q\nwAeVtGqh9Cj6a7why00CXrD8aQiFRFotDJKtD58xiIPQpnS8I6MDOiX3c9uoqE5K\nBg/+weDoN+VfMU05zVfaoXZvrj8mB+RjYtg+Zk5YXQSHwFxlQnqKObl8fXdesYX1\nxV1RJSicnVtfStyKJsp8gAwzX5dedS2NwauGDePI68HvrFOBvDU93TGjPS2lRzgN\nkP3TUnj+nDU5b3Q2G7El+PUTyu5Y1h/AkLkTSNjiAkC7ScZjsfD8ZOwi+N/i2YxB\n3YCtNVHpUNhjsPr0NV04iw8t/EbHmHb7Vh/9qNXQ8TITDzukig1F80bX5KWfM6mc\nfkJ89RcKQDE+RVSnsZHjbWDloLlkmP/UgIQPaVE/8IOibZZrQJLXZdN+sp1cmiTp\n9C76cRHBjPJwmde+p4Xxzb71Ethf4uxtLDkUBBtDtkD8ejl5XIdFstwUmYy02OUx\nZahoJBTpYKunxVm2DVHJ9w9akDxjzUxAUbAlWR+lHHsR0ZaiWVjqCSPSGhfEqjtT\nsc+Bihvj9cwG0BvDnMg6GSFrJhPlnxkdAH5PgUCqcHCDy3qKcUFvdBbMATggfM/k\nR6fq9kIgQCxcTHhaQxt9gYf7OpCdKRpjKeXhUAmsT7FdiTylIK9dV+CV2132V5FN\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": "none" + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.ledger-form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.other-policy.json b/conformance/vectori/agent-ledger/four-entries.other-policy.json new file mode 100644 index 0000000..15e81d5 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.other-policy.json @@ -0,0 +1,173 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.other-policy", + "artifact": "agent-ledger", + "title": "the ledger names another policy", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "policyHash" + ], + "value": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f0" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f0", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.other-policy" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.policy.json b/conformance/vectori/agent-ledger/four-entries.policy.json new file mode 100644 index 0000000..f5755c3 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.policy.json @@ -0,0 +1,173 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.policy", + "artifact": "agent-ledger", + "title": "the verifier pins another policy hash than the policy given", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "add", + "path": [ + "policyHash" + ], + "value": "0xabababababababababababababababababababababababababababababababab" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAHcs8hRWJnDQ0yZsZzhH8oiFUjtbjwPPBWHU\nKRi3+YYaYvQFJV24WV4WM1pJCrcTISqMqaFqQTZ+IWDq4bNeJAlSt73NrCp0Vf7C\nwefyoWmn70bRV9TVr0IyT3sJpMbyfkoZPPS6bMzY/u8odSHkW3JNkRQL9KYzxLjI\nA5VgEJpaqus4WUwUFgFta0q3jqSIWOtkU0B66kVyAtzEzEc/pogqxJv5ijYFyRk0\nvrxRN19EMfIqGG68HqFgjPQ/htGxdaEpBdhBWR2IdJFBJlWtsdWYHMukGfdnk8i3\nUcXPJZtJUwii4mypWaVECD6u6vvHPp4n1MS64LpLijoWsl/P/zUNYnOOtWO8byWD\nXK5dO3qRNEYrPBHG3YhLY07gLiMxWIX+jE5TvzFAC+jeUyqpgOPq7RpmYh0WeZYM\n2qjlUr1bWVyctdOPRhPTgJ7tzvaf5Mgz4SlfBD5E3SndGHP4gQru9nn0mLRwGUS5\nsaDac0Llfj/XgWoXebG6vzCbJWcwJMYnQ0NnBRKIb/MPI3uZ8aGdybSKHuMpM8WK\nGzInfKLBdiCnIjmzV28FXyvd4EtJoofca53teHbbQLTBFZG9INjYLXk2bMemj17E\nV4NOVT/OO92cDXdxAgduj9hF95sxdxpZ8RHvxoILBCdPsgDTHEkNYuhrJmMH+Vfy\njQfkkzXECx9nYW0RTueRnpqgXIvyktb4Toy+7BfIVDxw03u5UYsJTFTa70N2nvdR\nhphDa5qSzJq2ugtqMC1IHoiOkH5ekbE4gB837hCKeVfE48b+a6FznFGAKQL1U4rz\ndlcakj7aKVlt/a/1TV8fz9d5a2XlHKe3S/05VdBrXhCdwzwmExx7TpwKufVBdug/\nXJr6wE/c5CtmeJ24x4touQCcICkBhLD4X3B733Ez4nYlNvIFtLNkbW+7/Ou3q2DA\nfWMVJM0SWabNn2gwW1rqN1XY/ZICRP5GmfGDlTpOiJSWmBJs5Bpx0ocDPheWOp98\nsJKEiW2BX+OTxigkBOOHiZT00LZTnG64ah4kVXmegDHlToGZzcFPjMXs9lTjwNOT\njtkzRpXhfbFB3aNopzfKGY3wwpTi3WeH3E36VYGZupZr4nHZdxvYWstc3LidjHgQ\n00hYZSVwMGxCwv8QhhPQGXtzqaDUqNQ7iZmefUANz2fx0QuaIRq0GcWnPXHQI9XO\nV1YqCGJnJSSNaMztFMQsBVUbt0gs0dZ+3S0SkIeM1AbeJk4aiMWxd13bp0cCm6x7\nVeXtzBT+D46UZAkGewRILso4YwN6yvK2C7gxPhF/fpCjsy6f0ctCr/EBw/cFsorb\nkkAOQjElJxNRyBU12dOpx6DdpA0LhETr9ISB1jjzoiy+enpu9bizBJUG0WCjkZ4D\nMBveifolVx6fBYbjbqOhDaSOFnNCNLBX5rIR0o0gi3Mci8uFmopUrUIHz8nJchpc\n52PCbiTLp/y6K76q+Fzh4J0RyCnDk1H2A3dNL54vZdDsi9QJHA/PBV+bv1xd4oVe\nRMYOgICONrUV+ZfnP9lgYFws71GIAu9EzSxejFyk8K85gyV29NJ+o+ULmDI+2Lla\nc6oPiDfNi/AmfcCJZ3lVX95ESNaF7+iYL7yegBPPC2yPC35GUWbuxBHuIsMnxP4F\nJo+XZfJV/AbK5qHEdY8oDg8HiKr07pfno8fWrDmEw1qD92MILIyn+23sLzMHZEm8\nSwv/fiUt4CagN/y9rIZ9cHHq2zG0P/fOdMgAiq2H9vG5Ousax7ZUrhzePLZBUmtM\n77xmtlSjWFkRiWKHt6DRBd1wGX5OKiJ/hLyzAJZs3MLm1pDkTOjR7mTVCxU7B2RU\neHF4Qth2MZn2WkE36hiwqYHrcqYp9BH/pUds03wwUh85sN3QUTV2kf7fCHrpLZbc\n+PT1fSlNgQn3IqMzFoRgQ582AqF3Uu5CvXkFV99Y6ZXIeWA4+cjbzSPlQfSimF/q\nwAeVtGqh9Cj6a7why00CXrD8aQiFRFotDJKtD58xiIPQpnS8I6MDOiX3c9uoqE5K\nBg/+weDoN+VfMU05zVfaoXZvrj8mB+RjYtg+Zk5YXQSHwFxlQnqKObl8fXdesYX1\nxV1RJSicnVtfStyKJsp8gAwzX5dedS2NwauGDePI68HvrFOBvDU93TGjPS2lRzgN\nkP3TUnj+nDU5b3Q2G7El+PUTyu5Y1h/AkLkTSNjiAkC7ScZjsfD8ZOwi+N/i2YxB\n3YCtNVHpUNhjsPr0NV04iw8t/EbHmHb7Vh/9qNXQ8TITDzukig1F80bX5KWfM6mc\nfkJ89RcKQDE+RVSnsZHjbWDloLlkmP/UgIQPaVE/8IOibZZrQJLXZdN+sp1cmiTp\n9C76cRHBjPJwmde+p4Xxzb71Ethf4uxtLDkUBBtDtkD8ejl5XIdFstwUmYy02OUx\nZahoJBTpYKunxVm2DVHJ9w9akDxjzUxAUbAlWR+lHHsR0ZaiWVjqCSPSGhfEqjtT\nsc+Bihvj9cwG0BvDnMg6GSFrJhPlnxkdAH5PgUCqcHCDy3qKcUFvdBbMATggfM/k\nR6fq9kIgQCxcTHhaQxt9gYf7OpCdKRpjKeXhUAmsT7FdiTylIK9dV+CV2132V5FN\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + }, + "policyHash": "0xabababababababababababababababababababababababababababababababab" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.policy" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.revocation.json b/conformance/vectori/agent-ledger/four-entries.revocation.json new file mode 100644 index 0000000..6134fb6 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.revocation.json @@ -0,0 +1,175 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.revocation", + "artifact": "agent-ledger", + "title": "the fourth entry is a revocation entry that carries no revocation", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "producer": "the agent signed a revocation entry without the owner's revocation", + "changed": [ + [ + "ledger", + "entries", + 3 + ] + ] + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "revocation", + "revokedAt": 1791022310, + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "revocation" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "7d87334301c9ff8927fea569bc35d9dede05f1267a017bcc987336a9c209bb24" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.revocation" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.seq.json b/conformance/vectori/agent-ledger/four-entries.seq.json new file mode 100644 index 0000000..988b78d --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.seq.json @@ -0,0 +1,175 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.seq", + "artifact": "agent-ledger", + "title": "an entry carries another sequence number", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries", + 1, + "seq" + ], + "value": 5 + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAHcs8hRWJnDQ0yZsZzhH8oiFUjtbjwPPBWHU\nKRi3+YYaYvQFJV24WV4WM1pJCrcTISqMqaFqQTZ+IWDq4bNeJAlSt73NrCp0Vf7C\nwefyoWmn70bRV9TVr0IyT3sJpMbyfkoZPPS6bMzY/u8odSHkW3JNkRQL9KYzxLjI\nA5VgEJpaqus4WUwUFgFta0q3jqSIWOtkU0B66kVyAtzEzEc/pogqxJv5ijYFyRk0\nvrxRN19EMfIqGG68HqFgjPQ/htGxdaEpBdhBWR2IdJFBJlWtsdWYHMukGfdnk8i3\nUcXPJZtJUwii4mypWaVECD6u6vvHPp4n1MS64LpLijoWsl/P/zUNYnOOtWO8byWD\nXK5dO3qRNEYrPBHG3YhLY07gLiMxWIX+jE5TvzFAC+jeUyqpgOPq7RpmYh0WeZYM\n2qjlUr1bWVyctdOPRhPTgJ7tzvaf5Mgz4SlfBD5E3SndGHP4gQru9nn0mLRwGUS5\nsaDac0Llfj/XgWoXebG6vzCbJWcwJMYnQ0NnBRKIb/MPI3uZ8aGdybSKHuMpM8WK\nGzInfKLBdiCnIjmzV28FXyvd4EtJoofca53teHbbQLTBFZG9INjYLXk2bMemj17E\nV4NOVT/OO92cDXdxAgduj9hF95sxdxpZ8RHvxoILBCdPsgDTHEkNYuhrJmMH+Vfy\njQfkkzXECx9nYW0RTueRnpqgXIvyktb4Toy+7BfIVDxw03u5UYsJTFTa70N2nvdR\nhphDa5qSzJq2ugtqMC1IHoiOkH5ekbE4gB837hCKeVfE48b+a6FznFGAKQL1U4rz\ndlcakj7aKVlt/a/1TV8fz9d5a2XlHKe3S/05VdBrXhCdwzwmExx7TpwKufVBdug/\nXJr6wE/c5CtmeJ24x4touQCcICkBhLD4X3B733Ez4nYlNvIFtLNkbW+7/Ou3q2DA\nfWMVJM0SWabNn2gwW1rqN1XY/ZICRP5GmfGDlTpOiJSWmBJs5Bpx0ocDPheWOp98\nsJKEiW2BX+OTxigkBOOHiZT00LZTnG64ah4kVXmegDHlToGZzcFPjMXs9lTjwNOT\njtkzRpXhfbFB3aNopzfKGY3wwpTi3WeH3E36VYGZupZr4nHZdxvYWstc3LidjHgQ\n00hYZSVwMGxCwv8QhhPQGXtzqaDUqNQ7iZmefUANz2fx0QuaIRq0GcWnPXHQI9XO\nV1YqCGJnJSSNaMztFMQsBVUbt0gs0dZ+3S0SkIeM1AbeJk4aiMWxd13bp0cCm6x7\nVeXtzBT+D46UZAkGewRILso4YwN6yvK2C7gxPhF/fpCjsy6f0ctCr/EBw/cFsorb\nkkAOQjElJxNRyBU12dOpx6DdpA0LhETr9ISB1jjzoiy+enpu9bizBJUG0WCjkZ4D\nMBveifolVx6fBYbjbqOhDaSOFnNCNLBX5rIR0o0gi3Mci8uFmopUrUIHz8nJchpc\n52PCbiTLp/y6K76q+Fzh4J0RyCnDk1H2A3dNL54vZdDsi9QJHA/PBV+bv1xd4oVe\nRMYOgICONrUV+ZfnP9lgYFws71GIAu9EzSxejFyk8K85gyV29NJ+o+ULmDI+2Lla\nc6oPiDfNi/AmfcCJZ3lVX95ESNaF7+iYL7yegBPPC2yPC35GUWbuxBHuIsMnxP4F\nJo+XZfJV/AbK5qHEdY8oDg8HiKr07pfno8fWrDmEw1qD92MILIyn+23sLzMHZEm8\nSwv/fiUt4CagN/y9rIZ9cHHq2zG0P/fOdMgAiq2H9vG5Ousax7ZUrhzePLZBUmtM\n77xmtlSjWFkRiWKHt6DRBd1wGX5OKiJ/hLyzAJZs3MLm1pDkTOjR7mTVCxU7B2RU\neHF4Qth2MZn2WkE36hiwqYHrcqYp9BH/pUds03wwUh85sN3QUTV2kf7fCHrpLZbc\n+PT1fSlNgQn3IqMzFoRgQ582AqF3Uu5CvXkFV99Y6ZXIeWA4+cjbzSPlQfSimF/q\nwAeVtGqh9Cj6a7why00CXrD8aQiFRFotDJKtD58xiIPQpnS8I6MDOiX3c9uoqE5K\nBg/+weDoN+VfMU05zVfaoXZvrj8mB+RjYtg+Zk5YXQSHwFxlQnqKObl8fXdesYX1\nxV1RJSicnVtfStyKJsp8gAwzX5dedS2NwauGDePI68HvrFOBvDU93TGjPS2lRzgN\nkP3TUnj+nDU5b3Q2G7El+PUTyu5Y1h/AkLkTSNjiAkC7ScZjsfD8ZOwi+N/i2YxB\n3YCtNVHpUNhjsPr0NV04iw8t/EbHmHb7Vh/9qNXQ8TITDzukig1F80bX5KWfM6mc\nfkJ89RcKQDE+RVSnsZHjbWDloLlkmP/UgIQPaVE/8IOibZZrQJLXZdN+sp1cmiTp\n9C76cRHBjPJwmde+p4Xxzb71Ethf4uxtLDkUBBtDtkD8ejl5XIdFstwUmYy02OUx\nZahoJBTpYKunxVm2DVHJ9w9akDxjzUxAUbAlWR+lHHsR0ZaiWVjqCSPSGhfEqjtT\nsc+Bihvj9cwG0BvDnMg6GSFrJhPlnxkdAH5PgUCqcHCDy3qKcUFvdBbMATggfM/k\nR6fq9kIgQCxcTHhaQxt9gYf7OpCdKRpjKeXhUAmsT7FdiTylIK9dV+CV2132V5FN\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 5, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.seq" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.session.json b/conformance/vectori/agent-ledger/four-entries.session.json new file mode 100644 index 0000000..64b078a --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.session.json @@ -0,0 +1,173 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.session", + "artifact": "agent-ledger", + "title": "the session is not the one derived from the agent and the policy", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "session" + ], + "value": "9a38b91bc07691a3326ff629760dc140" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc140", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.session" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.signature.json b/conformance/vectori/agent-ledger/four-entries.signature.json new file mode 100644 index 0000000..fbae22b --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.signature.json @@ -0,0 +1,175 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.signature", + "artifact": "agent-ledger", + "title": "the signature of an entry has one character changed", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "set", + "path": [ + "ledger", + "entries", + 1, + "signature" + ], + "value": "ANkc4XXE+uvHDC4WdagfDFilj42LeeEHf5wfuOPFMTUGvt/QvvkfhlC97bDXkojWap8icgiRyFBizIBFpLCblcLdDkUQ8Z1eSaiPXcMP+DV7f3dxSbW6mvKX6U/Et9KSX8anzT75HclTxz2KtkaTdbEwMVwqLLrv262ILknyyep+cnD/xscMGd5TqH2y+SKXGUEPWuGre5KxaVpAU0Ddx85JCTQSH1kPEO87ul/qZ09ITpDWa/r3j6XPoYjJ8oISebwG6AVfUWzfxK5DYThSbKCkRYqt3Wj5m1idCsgwb7mLqLJiAqjOTS/87iKauKEhjrHZArePEZ/bQq5OMmV3X/rw//KcqhzuBo9ODlje3iGOYrf589Y9wTdNKYl8S07iG+nPqDJXxcKF1ibVrgjuY19ItwciUL7+XqGfN7OKSpLG5czNRuu/fw7/p+0OfYMn+0aPUyQXeg+AW1ynde38/6c/JRFAYNWdFlK/49iidKeh01gABGneufF/5ImxlDmAqX6IJ+d/MoihVHKNFDGssQFSOS9iYfnK3nR5FqjBfdhtu1i6zoXgTVZGVBxUxeO0K5MsfnGQFvsYqu+tE/rJqbxa+Ko1DG4nWVkgymjTMc42OqAlxUl56u+rgeerCfGNkxRM3LiGYZ2ndRCrQa161FsLvbP6mJFHrPZOtEf6t6ulSClWt7WIykf8swbANy6IJRTDtqKYK4MyTIsfa1KJ4ZHdHzfoSAYMJvM/zYIcAFdNCVQ7Ko1l17pJX9uadLJXv23H3Nh6F14wSu+FWpKTWqZOnOXDjUqjrWBb7F3Hcnhz8yDz8otTnqNjC9dAjBC32E8wYk6w4lVyoqMjhMFDJqv6H/GhgyW0IubN1Qrk2jrhoxJ8GNmQ1LDXHH421tm06mOE3iWpEGe8NrelSnmdH3wr3fp74DiFQxfP6x4MZ3T5JzjeJlUVIN6ZvJx3ZhySiT4eOxiMOc+/S+EYlESX/YmS6eKjZ/DBHTiJVVcYdWoaa/8zdrOQfX5h2TtaRSRsGUA20GLDfq2JyORVzU+hK1+9Ig9RbaYy9vho0meXjpWy2hkKIxBgeYHYgD18OmFbstUv0zqC7b3nkqxy0EmcZx/BnmHPCcpUgoF6CacAcGBm3XBekqHedWzq6XFWcYPU9GipcgFcJ5GYPftgzJeeRaLXD4MPdgGvbf+VO8e9/7yMPmOYXHe4Lg4nfvKWx7QNK3ybnPWZY8hhYeObIXJ8z+Q+NIyiWjDHeLnneYMnlOuFnBzYFbHaHWpKG/xZ81bHLnWL0OAjXuVnnAu4bsAKD9xbiJrhuzACz5gBI+LNpVD4+iPSfg6h1FRSB/qO6YpF/8Uae6forhbGCDs6eOv4fiyri9BO3Wmr3UxL8iJTN7PdU0WcfDnIyx9EWliXOjPXCgZnAUvk4l3kIXFvVdQuAjMtfpNhoaqLvM0+RneBYJ0v2LuwJS4ASQIRwUq8ahClMulvh7WZg+fpgZ46IAUHVAHCcS46pgqzRMrR4+hbOZrjaT9MUNOuV03Mjer0MG9FnVoc4uOCUWCHmhALb6aOk/Fr+eUw4mSGWe4CdJxmZzf3FAqwDaZzJ6W+3OXomvI3chJG8Fi38tbzgEtDEXzQyxxyOkgXWcWSGKew8jRM2HNjZ01v7C8RBGNVMFeVnWKPJEZvXxO9N7hrpZC01QFjlpcfvLkQzfyZ6ZY42spJKMgV8ERVpLQ9GK5A2jQgmy+ehbwYYdzoqo+ptY/PugYOt+QFrSuZv4gL2MRmGRrqnGfrEE5ULH70J3lGt0y/ILZig+YCcwmJVEf0f87XdyFduT0I8PdAedD1jBbsGSaRN9kSwzlN8doL//vBW1UOjW8dI6P6mYX5jqmlmaO2RSbOfka4OkkWKbM5YRaYvX7QpUEOZDlfgLcjumjC3LKBDPkT1sxQ+yVhHCjgOeZa5BFmTRgWSzXEnEJtGVqtG8XHE2ZH7zCHp8kdf8shosdHX4JsmhOJtY6d3C8zDDIEVysSHwonfLLLlAe7aaP3srbDvIHd18vUSR6eicpYe++EZSLTzEItdApOfvUfG3FIV9ImwcGerJlrctTdlztASB6ZpxvqLTemJNsmDv/K+nr+0XR0ggCq2i/7ysvTz3FNZ35CZT8EI/CJG2tgVvbCr3ZmKSijQQiBIrEC+hBGxu9fC9EuF9frBXqZ6MptZ3OPOfCo5m9ARDlyAuKph/mcPL70r5e4hL/8F8THvXuG63bBT/VpgaYTjd0JL+y8WeQVaD1Nn2R96FED24lzB69xyDInNWcmgQWUQm2KFEYNK2i+8z4QIuNrAA87NcmJkLDp9yZtPOB2LwNlQwv4TrOO5zr6cHxNKomfmUPHwoOiS3iZwhnCA+kQw+PmivaPqlmSzJfgCUYdUJLyYHWiU54lnoWtoiYQJjd5u9ZJlIg8yWwuvvkvkx1tPZXjM9DMm0FSCDD38TkNTjJvEoP3hB1vR5QtZuKDqwmkB98YF42yMdUz0o70G49eQNQlNnJPnqH9UFaevGetMM2ZhUimMXZPf5PEymuhDd3ZEojRsuKzCUU4Hle1bYruyibVPoaRYs5C44nnxuiO8PeUioKI07AwrKxBTaODigtX9uF9tJ/9TDhhiGa8Hb3+1AUn844EVHOP6Nnum3ql8ymwogpN9SVP6VN6Rpi4V0295GYv3qahdII7m1MU1X2FVX2zMIBT92iWjo1a+dtjsIjXstBwXKBLx8Hih3EEpiAjSJTkRroYYC9NhGVtI2LUF4SSFlN6Hik1VC6HZAYsKidftlZ7f1E4oLEWcu0rCeenkdk0UW6LQK6ZdkbGFczFpoZJWwK8+3yP/bMTOYCrB+kgWcYj/4MVTRn8E5P1z4NnVIYwn9DHFDG8hacFtXx1RwI5z1TsxNSqtWYA2E96q36rUl9DCuM3VGRXN4xc4cSU3Jgq6B3VURaySh/n3xG1lHmgB0NADY21cFDk0Bc3QFyoE9qAfWp3wwFst97hm5Dxu+i2e+zUyJ1OkahYs/Nmm2T0zSFvxR77UEvdB1PLPSVoFnapaABbnkPUJR4lbheVdfpTXdYYWTVCSS5NvsP+rIygtqKxzhNZOOh8xML9oICnWLrW0lP+WPGW3Hh52mBUeFNn+mXkUBcUbjFwtLectf9acMVkb0ImeuxmLiYrIaWySgIMRLaGyIHMWnIc6fWOLtOfG/4DPQlYsawDXZEt6cKphgJ4W88JCp/rhQa6zWzjoDCf6JSS5oC9KORcRVaYv8gOeZgMRNSItgFur/9GVWyCXyokrAcSettMyYEyrCYrrdIFuQ9Ulsqxzob5trmCZAby5kb8zZf6zNG7AIz3G40JG+ptPof2mtlB2ljnReksCFUH+y63QnUCWOSviRF9IZgDr6eK4NY3yyT4sAbhHQcqp+iQUjjotadhmK+0PUWq+EF2NAOYLLp33SfczGSDjNsg7i/YmA9/zcq8kRTeiKMR5pGGxM5OigP47r5XENrKS0d2NwXEMN75HAYytOGEfSasTQSPxVUzCAOn9ULsEcd5wTKLZQGYgDoNq24gWyNr1fIpvjQgPV56vtxaa9QVzq3dhy438PkbpNrR2I0bnbjef92x1za2zTCmoJtdE0PonQihXll18NptOjtpl7QuVSuGeUDN0WiVfEk0GmVxmRAfLHB6onzJckQofCpCcwPRMB2QRJlLW/sR7GZk9P51fN0b5uuWMseYcw+sQG5osIjgjmvk9CJBpje7Ke9k15CCl/uPx54ihViF+O8jEtLRv1ID/JBligz+7B7F7nycbh1LBKERW8xdF219/h00CAvoUYjWunxTMoHu99aV9RJwcdlberZWsqHyzMsDRQe89xYX6gll5VzekF/23jfDeQWEkMIV/o1s+qoDRGxalDt8XhuYirG9/aV0wqm63ce+3Rq5G90o/JhNnApVTQlzxeTQfECCH5pd5lckb756PvZN1HIy/2yC43qRSsaxD04gLW3ljzKRWyEKJEH0yMqA1mEVwwAHe+mxuLz8xdW7BNnG0fd6WjTZyhoYIEs45P7n9xJUmTGpWZbGfxU+5LY4JDLdmz/eQOmt5GziXvVD7pJ2DNrfl/sNlhBLGeqY1eaFXfDm+YQ3sBo4EBlGQ59Xb3o3ejt5eKMXKAhb41Q3t04FzctoAdG7jzENfarHDAzA3x2weNaO0P5FjTmxjr0sMhsQH8WC0cxxqk5J9kCqbdt/CaOP06HI7+39A3FalyNLOas3gYe4rRqzzroKCHo1M4DY/zgXp2ME6uvepBlE3CHHHf9ZtkODhUuS0b6LwHRmV20SX3SjXmcg4FX+4lpnhVZqI/xmZb6pmWe8mxYqZmvK8PQfKjidECNIi/IJL3iBiJYIV4ednrTIKTQ8Vnx/3fsAAAAAAAAAAAAAAAAAAAAAAAAABgoPFRwk" + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "ANkc4XXE+uvHDC4WdagfDFilj42LeeEHf5wfuOPFMTUGvt/QvvkfhlC97bDXkojWap8icgiRyFBizIBFpLCblcLdDkUQ8Z1eSaiPXcMP+DV7f3dxSbW6mvKX6U/Et9KSX8anzT75HclTxz2KtkaTdbEwMVwqLLrv262ILknyyep+cnD/xscMGd5TqH2y+SKXGUEPWuGre5KxaVpAU0Ddx85JCTQSH1kPEO87ul/qZ09ITpDWa/r3j6XPoYjJ8oISebwG6AVfUWzfxK5DYThSbKCkRYqt3Wj5m1idCsgwb7mLqLJiAqjOTS/87iKauKEhjrHZArePEZ/bQq5OMmV3X/rw//KcqhzuBo9ODlje3iGOYrf589Y9wTdNKYl8S07iG+nPqDJXxcKF1ibVrgjuY19ItwciUL7+XqGfN7OKSpLG5czNRuu/fw7/p+0OfYMn+0aPUyQXeg+AW1ynde38/6c/JRFAYNWdFlK/49iidKeh01gABGneufF/5ImxlDmAqX6IJ+d/MoihVHKNFDGssQFSOS9iYfnK3nR5FqjBfdhtu1i6zoXgTVZGVBxUxeO0K5MsfnGQFvsYqu+tE/rJqbxa+Ko1DG4nWVkgymjTMc42OqAlxUl56u+rgeerCfGNkxRM3LiGYZ2ndRCrQa161FsLvbP6mJFHrPZOtEf6t6ulSClWt7WIykf8swbANy6IJRTDtqKYK4MyTIsfa1KJ4ZHdHzfoSAYMJvM/zYIcAFdNCVQ7Ko1l17pJX9uadLJXv23H3Nh6F14wSu+FWpKTWqZOnOXDjUqjrWBb7F3Hcnhz8yDz8otTnqNjC9dAjBC32E8wYk6w4lVyoqMjhMFDJqv6H/GhgyW0IubN1Qrk2jrhoxJ8GNmQ1LDXHH421tm06mOE3iWpEGe8NrelSnmdH3wr3fp74DiFQxfP6x4MZ3T5JzjeJlUVIN6ZvJx3ZhySiT4eOxiMOc+/S+EYlESX/YmS6eKjZ/DBHTiJVVcYdWoaa/8zdrOQfX5h2TtaRSRsGUA20GLDfq2JyORVzU+hK1+9Ig9RbaYy9vho0meXjpWy2hkKIxBgeYHYgD18OmFbstUv0zqC7b3nkqxy0EmcZx/BnmHPCcpUgoF6CacAcGBm3XBekqHedWzq6XFWcYPU9GipcgFcJ5GYPftgzJeeRaLXD4MPdgGvbf+VO8e9/7yMPmOYXHe4Lg4nfvKWx7QNK3ybnPWZY8hhYeObIXJ8z+Q+NIyiWjDHeLnneYMnlOuFnBzYFbHaHWpKG/xZ81bHLnWL0OAjXuVnnAu4bsAKD9xbiJrhuzACz5gBI+LNpVD4+iPSfg6h1FRSB/qO6YpF/8Uae6forhbGCDs6eOv4fiyri9BO3Wmr3UxL8iJTN7PdU0WcfDnIyx9EWliXOjPXCgZnAUvk4l3kIXFvVdQuAjMtfpNhoaqLvM0+RneBYJ0v2LuwJS4ASQIRwUq8ahClMulvh7WZg+fpgZ46IAUHVAHCcS46pgqzRMrR4+hbOZrjaT9MUNOuV03Mjer0MG9FnVoc4uOCUWCHmhALb6aOk/Fr+eUw4mSGWe4CdJxmZzf3FAqwDaZzJ6W+3OXomvI3chJG8Fi38tbzgEtDEXzQyxxyOkgXWcWSGKew8jRM2HNjZ01v7C8RBGNVMFeVnWKPJEZvXxO9N7hrpZC01QFjlpcfvLkQzfyZ6ZY42spJKMgV8ERVpLQ9GK5A2jQgmy+ehbwYYdzoqo+ptY/PugYOt+QFrSuZv4gL2MRmGRrqnGfrEE5ULH70J3lGt0y/ILZig+YCcwmJVEf0f87XdyFduT0I8PdAedD1jBbsGSaRN9kSwzlN8doL//vBW1UOjW8dI6P6mYX5jqmlmaO2RSbOfka4OkkWKbM5YRaYvX7QpUEOZDlfgLcjumjC3LKBDPkT1sxQ+yVhHCjgOeZa5BFmTRgWSzXEnEJtGVqtG8XHE2ZH7zCHp8kdf8shosdHX4JsmhOJtY6d3C8zDDIEVysSHwonfLLLlAe7aaP3srbDvIHd18vUSR6eicpYe++EZSLTzEItdApOfvUfG3FIV9ImwcGerJlrctTdlztASB6ZpxvqLTemJNsmDv/K+nr+0XR0ggCq2i/7ysvTz3FNZ35CZT8EI/CJG2tgVvbCr3ZmKSijQQiBIrEC+hBGxu9fC9EuF9frBXqZ6MptZ3OPOfCo5m9ARDlyAuKph/mcPL70r5e4hL/8F8THvXuG63bBT/VpgaYTjd0JL+y8WeQVaD1Nn2R96FED24lzB69xyDInNWcmgQWUQm2KFEYNK2i+8z4QIuNrAA87NcmJkLDp9yZtPOB2LwNlQwv4TrOO5zr6cHxNKomfmUPHwoOiS3iZwhnCA+kQw+PmivaPqlmSzJfgCUYdUJLyYHWiU54lnoWtoiYQJjd5u9ZJlIg8yWwuvvkvkx1tPZXjM9DMm0FSCDD38TkNTjJvEoP3hB1vR5QtZuKDqwmkB98YF42yMdUz0o70G49eQNQlNnJPnqH9UFaevGetMM2ZhUimMXZPf5PEymuhDd3ZEojRsuKzCUU4Hle1bYruyibVPoaRYs5C44nnxuiO8PeUioKI07AwrKxBTaODigtX9uF9tJ/9TDhhiGa8Hb3+1AUn844EVHOP6Nnum3ql8ymwogpN9SVP6VN6Rpi4V0295GYv3qahdII7m1MU1X2FVX2zMIBT92iWjo1a+dtjsIjXstBwXKBLx8Hih3EEpiAjSJTkRroYYC9NhGVtI2LUF4SSFlN6Hik1VC6HZAYsKidftlZ7f1E4oLEWcu0rCeenkdk0UW6LQK6ZdkbGFczFpoZJWwK8+3yP/bMTOYCrB+kgWcYj/4MVTRn8E5P1z4NnVIYwn9DHFDG8hacFtXx1RwI5z1TsxNSqtWYA2E96q36rUl9DCuM3VGRXN4xc4cSU3Jgq6B3VURaySh/n3xG1lHmgB0NADY21cFDk0Bc3QFyoE9qAfWp3wwFst97hm5Dxu+i2e+zUyJ1OkahYs/Nmm2T0zSFvxR77UEvdB1PLPSVoFnapaABbnkPUJR4lbheVdfpTXdYYWTVCSS5NvsP+rIygtqKxzhNZOOh8xML9oICnWLrW0lP+WPGW3Hh52mBUeFNn+mXkUBcUbjFwtLectf9acMVkb0ImeuxmLiYrIaWySgIMRLaGyIHMWnIc6fWOLtOfG/4DPQlYsawDXZEt6cKphgJ4W88JCp/rhQa6zWzjoDCf6JSS5oC9KORcRVaYv8gOeZgMRNSItgFur/9GVWyCXyokrAcSettMyYEyrCYrrdIFuQ9Ulsqxzob5trmCZAby5kb8zZf6zNG7AIz3G40JG+ptPof2mtlB2ljnReksCFUH+y63QnUCWOSviRF9IZgDr6eK4NY3yyT4sAbhHQcqp+iQUjjotadhmK+0PUWq+EF2NAOYLLp33SfczGSDjNsg7i/YmA9/zcq8kRTeiKMR5pGGxM5OigP47r5XENrKS0d2NwXEMN75HAYytOGEfSasTQSPxVUzCAOn9ULsEcd5wTKLZQGYgDoNq24gWyNr1fIpvjQgPV56vtxaa9QVzq3dhy438PkbpNrR2I0bnbjef92x1za2zTCmoJtdE0PonQihXll18NptOjtpl7QuVSuGeUDN0WiVfEk0GmVxmRAfLHB6onzJckQofCpCcwPRMB2QRJlLW/sR7GZk9P51fN0b5uuWMseYcw+sQG5osIjgjmvk9CJBpje7Ke9k15CCl/uPx54ihViF+O8jEtLRv1ID/JBligz+7B7F7nycbh1LBKERW8xdF219/h00CAvoUYjWunxTMoHu99aV9RJwcdlberZWsqHyzMsDRQe89xYX6gll5VzekF/23jfDeQWEkMIV/o1s+qoDRGxalDt8XhuYirG9/aV0wqm63ce+3Rq5G90o/JhNnApVTQlzxeTQfECCH5pd5lckb756PvZN1HIy/2yC43qRSsaxD04gLW3ljzKRWyEKJEH0yMqA1mEVwwAHe+mxuLz8xdW7BNnG0fd6WjTZyhoYIEs45P7n9xJUmTGpWZbGfxU+5LY4JDLdmz/eQOmt5GziXvVD7pJ2DNrfl/sNlhBLGeqY1eaFXfDm+YQ3sBo4EBlGQ59Xb3o3ejt5eKMXKAhb41Q3t04FzctoAdG7jzENfarHDAzA3x2weNaO0P5FjTmxjr0sMhsQH8WC0cxxqk5J9kCqbdt/CaOP06HI7+39A3FalyNLOas3gYe4rRqzzroKCHo1M4DY/zgXp2ME6uvepBlE3CHHHf9ZtkODhUuS0b6LwHRmV20SX3SjXmcg4FX+4lpnhVZqI/xmZb6pmWe8mxYqZmvK8PQfKjidECNIi/IJL3iBiJYIV4ednrTIKTQ8Vnx/3fsAAAAAAAAAAAAAAAAAAAAAAAAABgoPFRwk", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "33vvanaoaa6kmMYx5ZA3qHA2zhP4iSW4Q9vqFqEpZP+7CF0l37hz/3kO6Yo8COmXWijbx6163tGSNJK9w+IDsVvdFlaF6U2tKn/hUv4wF6lcea4LsFc79N+aMMDSzM7Cg2QM/6qDPypr78D39FgMpK2wnK7mDE3P/QYiUd2qOYrDXBCfYYNDtKNXr81XtHBX37imROgnDVHwqv1ChfJkw1SOXvpUbjJCflSt2Al8xe7WUQQodwZiyjPNE5U5oPyEdWzCQAAS0xCh9uCiJCVH3ykcyUP1rJmEyn/P+tiO0UUsKNJrw5IdufgYMdDvhC3084C03dl3TQE+BUBeIQdHPy/Ygee9HcvWNrpG4VMcm4tUulbHHFBZa2REDs/G26cOdIEJSumeNGtlWtbNMoIuzH+aMddilI7/mxiYaAnbSAwFejQzrFL1ZsKS5D86xAPu6aTsEXrjADO1/pGh5kKPvjSVHPoyCKLE4wF2phxZgctWbVVuIKbZAWBs1J9ApAVd74jzTue1XzOyTa/dAsaDIqCAojSaVoOCEkV6AKKM0i0mHqdUciw+rl0sNozEtwgbn+hRetXAOdU3dhjFa9YFAdSG8saUljWkmjCQimG8U96P3A6PtKEo01X0JuwtI+ItEIpxKfp5pEmebcbw2bO5e6SFHHpWh6z9ng2xTDKWvjTIEmSTQT+pt1XoOiMAgnvg+cUyPdFG7DbPFfe4MD10EmnlvAamULnMnZi8YLfHHKWD30/GyiwVYOTtuJWQWwq31Qopm8iyjmjsEEK/bF1za6UF9FcSUbBRDJ3rQLIudiQgSufzPReRxxvWbZRRitrYsyCUuPEoyLSICVMB3Z5drzRE5fKNYFSW6sIFaNNsVsNOHwOUCxcKFmBjNqPlG5HmUyc1DVfsQvfhlVWiPp/5AkVyHj3M8QtU3PIHr+DHouM+3kvGGuzt5XA8k2lnpUVJjtEXOddygYd/ADjzyp9bUN2cHv93Ie3H7chnLJ+p/zHtYVGHnqNSb7XX4QtZjMhXAPk4cIktnp0W9JX4qgUzocwfsogFyaoPTiJBvEOXggnAfu2dzX+tIju1PrzaMJWUxHFbthe2d0pyvNG3Nf168XVS2pC8HsDM8vunt1vj3cGkW+eKdR82p/j63m3Q0CRSG51ZJv7f8DmDdY8OJCZMUIxV9ZAOgCmq3J1XRQq+pcA5oNNgHegpjAQAjetL6czgaeK0unpAsiUI6K1AOBXUeaJnazQA0vMbF0+j4W4EMV2BQSRx7CdXG9Zn2OBU/rb15TpKNN5+L6aWV1E+DB2oZ0f7ag9FN1hBpXz0Hq1+Nz79R7xFNKtkr8TjAmZd+9EDKfc7gmgkk3dg34dmmBWxOAeGntc1xtL+b+nKPajmGl695gQjCQiaGv+RimvMJbaoFabvwhehg9F5wKbrM71ph1Bn79A7OZFRRLYKysZKq3rLoQfTn2RMRSsjdi60X3BvF0a2xzBHfhS55aplUqj1Hl1uoww3MxSKjMDBRWEFiRTHdrMSYryQrLnpTKezWBrYoJkty9uImA4hb84Zq9uNb84q7X88hKY11+LUUW8hbEczooGBoOdINouTMp73EL6w5DeEL0Nauk+yip2YJtr7IXPqb8oV73dNzSgeYOsNkDyFI4wtIGILgcZQXJfhTksbHEhApa95PFDEddCvB0mGoT2hkdFgLvYoBzVpsDy8yeuich3Jy+Yfp7PuyjmXwkplaOAbeEEv262B/LWwgzZUNFnK6sNDLND6z33b/AaM6RLtd6Whbp6Md4EtekD39GfxCRhZ0Y/n1vp4Ju1eTz9nlGQ6DFOwdHUuMCS+x6CFu6awMhFz8G4oJ+XxC91Wqlm6FDzHYtHyXcQj9oWDzz0w31TnYHdlgjkfW1csV8nX1/gxuW6j2k8BonyICiIBuT4FXXCFjPK4zT+MECj+3fqq9Pl7t2rHYOqkY3U2oBKQ/P7YgGdQZIm64hKPJNYtedSIObKWXNmYKm7X06wPGiwykERiMv3pQ8pK8L6irfG9PjhUkm78RqS256XnN36UJMdGuyOUWEM18isgD3XFsWGIJBusMKucdLSfAzCAFltV26nmxyfGoC8gBbhFUwv9jJu+2WPzkfDSSd7Fe/sM2EE1FLiKQWaGlhNdy9s+IkZk257rk7iCnOY6HYUCb7nIiIPWrBcKLHcS7fliZZC6b58kEtanjXARYFsf9WGPkvmS1dfUEC0I/hJwW/KIFsdYdOyWhz01Lw6xkZrQ0Nv3bqFtjmtUm8ZeXcz7eNruhre/1nu5yCh6qxVwUy313R7wvsXmoU7vnMLlcbOzORTvrZ/OMp/LmiR2zTr4gKjqLwePyyMbNl2u9vayQR4Dy0bycjG4ATw+a18D4qfz3VRHEIQE0YD+2rDvDO17PZJGT4ZRISEpdCusmZyA6ghNpdxCnbiFzgzLMLpeHKaM/NexKehK99YwpvPK77d22eWqpQ6KHlE/Mpt1aU36XafC7xbEIeR4uqZAPtuLqmyCLatdjbFYR0rNjP9yNqmPw0TeYwW5L6uo0MuCnrbFdiiTGD/yNFNCRgQiT643efUJLEZFwtth38ODbeoBEizc0SyPDxIjOeHNZyoQFugLptUtlcPf/g3gwmh8pO9T1UtI59aSZdJlX8PBRldio4kN4CFZgjU3Cli/UPSUNJ3HvdP1F+QMP+iuPuESFuiyK5F2HVfU6V4IeZDxRHR2QMOWSDg1dX549TYmfFGykPUMAikKgQox6unehb7SZ2cfXPh/ilKud2wDPVhnBdI9F+efLARquoARKyjhz9lW2zlCHfGIBTNtqkpY1AVKJ7A8kyVWm67pY14m8mcJs0Mp5+kdP0plVson7pIzJ6CG/QBmrdTysUJYAI9mvdqPG1ws/oceFL01ThtRUd2ijqCatzjwjQ3cg3ns5aUIA4m0kAvHRXVsDHJKdJE/o9HS7j0TQ9Guoq+GOdRAULdey0VqtjILRUE+wP7+TUtS0ljvokeixbYl8brg3dAtguoZybzsm+jcFXKDlTi6mZH0v1PUW3gB7W4Ox2mFwRdaiw2pqC2VyyLdaHuhEVgL5ypkYud+MPVDszCREmxoBv//DB/EE0XAaBgVJT83GIiB1Bmk0fpD7RAR3SVaBNZkUz0dH0ANIte+cYJAeysA5LNRa797OnM7Xd/y6ZHL8fJzx6ZZpnNNbxeefDsbTTarjjFqq7YX3H4MGW0jmGzYDxP93FeLB81+xRwA7Wg3WE5e/slf4uChr6dyVuH4N1uypGk0/HsNMrR601r4cG7SSjHmLL1gCQY5vkA5Bbg5MNbWNrKj4vCVceGN0DmkW+US79+E3OLE06plSrv+PLtToO55+hqwcL4oT26aT4Eb2j9pN69cX5D0WGvzpzW4YiieX9RukFe/8vW6rvzoTiAVu5I8n0ih52mTmDoUpi5DBQyTtgPNYCFGEPOxBOmSywIWdWZbCDb/8gRM6YSE4mkti7nWRKDT31zX7KqvfI0aL1FZ8f8stQjXnLBu1gEv51+GGgnJKk6D+H8FszkPtSF1oelHFi2QeIwmnK2Yhz4MISYlWUxhP+iBAFOZGqYZb5r8KomJQeCzQzSl8YQLF2M4qBLdBTca5Pm0x915gTgHhxk05RL9JxRV2d/iQGHAhe9/Wls7yRq8iktMjqUB9nJavxlXo5lU1PQiE3j88Tx4lPV8F1s9+sEVwL38zyOlwllLRRRobz2hq9Nlr9JJX0X9wJSbX78ARd6+NS2Ecr62LkuILEPZzaOx51k8JsqR5XfA5xF/mW5xd9qgtxDsMrGEymphU1n19Rk9glJiGzxDLnJkIXJEVfrq7hE3/tT74UAJWvDoqyqoIqxldGhJrsk7wSZrVTotKIl8fCFJNuVTMaWZBnKAt70pyTDsUmeESxKkXr73Z2tCDW8zoKcdRN0lbE4f+kPPwlPDLdif6UEb7wNam9i0w0xqXuKzQl/8+v8myqs/dt7jpjweBDrrSSvPGBdkD09d3Pv0OXgYCMVfP5wFu1f/9+oCG912kZ1c5JcUhOjM2upUnG38WpaTKI4jwRmJ8Cx8bpXi+bpyYFvCUI9wcfnaopCMs+hgRmRf0yM2NRTSm56X6mkGVYVBnX5SNe0RU3L/4HCVjJfhSVdgS6Y4ra/5pXdN7LFvspYcs/dsZxkM7Ed4DuRiwOpFdHvz8pE/BWkgTpiPPmLT3ztkC+ADoMR6tMbcevKdR3BBFggUH9zb84aUTCcuT+k0TOTjl5lmLfhysZrxPBlTA7yTHTmLk1B1eQ/wIUkKKLRrG95ilLJnlWDre7Ugiz16dX/tQ2wSFQMUhSui93ibzYr1ht8CFDRXuNfw/xNMfs3fJm9yjKQoMUabn/kKMT+0wdHfPUpOYWqBmMsAAAAAAAAAAAAAAAAAAAAACA0SGB8n", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.signature" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.time.json b/conformance/vectori/agent-ledger/four-entries.time.json new file mode 100644 index 0000000..a573894 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.time.json @@ -0,0 +1,173 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.time", + "artifact": "agent-ledger", + "title": "the verifier's clock is before the entries: they are from its future", + "source": "derived from agent-ledger/four-entries.valid", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": "agent-ledger/four-entries.valid", + "mutation": { + "op": "add", + "path": [ + "maxTime" + ], + "value": 1791021310 + }, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + }, + "maxTime": 1791021310 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "agents.time" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/agent-ledger/four-entries.valid.json b/conformance/vectori/agent-ledger/four-entries.valid.json new file mode 100644 index 0000000..7ea8bc4 --- /dev/null +++ b/conformance/vectori/agent-ledger/four-entries.valid.json @@ -0,0 +1,164 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "agent-ledger/four-entries.valid", + "artifact": "agent-ledger", + "title": "the ledger of an agent: a tool call, a payment, a payment refused above the limit, a tool call", + "source": "producer (agents ledger), one agent key made and discarded at generation", + "requires": [], + "exercises": [ + "agents.anchor", + "agents.approvals", + "agents.body", + "agents.chain", + "agents.decision", + "agents.hash", + "agents.identity", + "agents.key", + "agents.ledger-form", + "agents.other-policy", + "agents.policy", + "agents.revocation", + "agents.seq", + "agents.session", + "agents.signature", + "agents.time" + ], + "base": null, + "mutation": null, + "input": { + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAHcs8hRWJnDQ0yZsZzhH8oiFUjtbjwPPBWHU\nKRi3+YYaYvQFJV24WV4WM1pJCrcTISqMqaFqQTZ+IWDq4bNeJAlSt73NrCp0Vf7C\nwefyoWmn70bRV9TVr0IyT3sJpMbyfkoZPPS6bMzY/u8odSHkW3JNkRQL9KYzxLjI\nA5VgEJpaqus4WUwUFgFta0q3jqSIWOtkU0B66kVyAtzEzEc/pogqxJv5ijYFyRk0\nvrxRN19EMfIqGG68HqFgjPQ/htGxdaEpBdhBWR2IdJFBJlWtsdWYHMukGfdnk8i3\nUcXPJZtJUwii4mypWaVECD6u6vvHPp4n1MS64LpLijoWsl/P/zUNYnOOtWO8byWD\nXK5dO3qRNEYrPBHG3YhLY07gLiMxWIX+jE5TvzFAC+jeUyqpgOPq7RpmYh0WeZYM\n2qjlUr1bWVyctdOPRhPTgJ7tzvaf5Mgz4SlfBD5E3SndGHP4gQru9nn0mLRwGUS5\nsaDac0Llfj/XgWoXebG6vzCbJWcwJMYnQ0NnBRKIb/MPI3uZ8aGdybSKHuMpM8WK\nGzInfKLBdiCnIjmzV28FXyvd4EtJoofca53teHbbQLTBFZG9INjYLXk2bMemj17E\nV4NOVT/OO92cDXdxAgduj9hF95sxdxpZ8RHvxoILBCdPsgDTHEkNYuhrJmMH+Vfy\njQfkkzXECx9nYW0RTueRnpqgXIvyktb4Toy+7BfIVDxw03u5UYsJTFTa70N2nvdR\nhphDa5qSzJq2ugtqMC1IHoiOkH5ekbE4gB837hCKeVfE48b+a6FznFGAKQL1U4rz\ndlcakj7aKVlt/a/1TV8fz9d5a2XlHKe3S/05VdBrXhCdwzwmExx7TpwKufVBdug/\nXJr6wE/c5CtmeJ24x4touQCcICkBhLD4X3B733Ez4nYlNvIFtLNkbW+7/Ou3q2DA\nfWMVJM0SWabNn2gwW1rqN1XY/ZICRP5GmfGDlTpOiJSWmBJs5Bpx0ocDPheWOp98\nsJKEiW2BX+OTxigkBOOHiZT00LZTnG64ah4kVXmegDHlToGZzcFPjMXs9lTjwNOT\njtkzRpXhfbFB3aNopzfKGY3wwpTi3WeH3E36VYGZupZr4nHZdxvYWstc3LidjHgQ\n00hYZSVwMGxCwv8QhhPQGXtzqaDUqNQ7iZmefUANz2fx0QuaIRq0GcWnPXHQI9XO\nV1YqCGJnJSSNaMztFMQsBVUbt0gs0dZ+3S0SkIeM1AbeJk4aiMWxd13bp0cCm6x7\nVeXtzBT+D46UZAkGewRILso4YwN6yvK2C7gxPhF/fpCjsy6f0ctCr/EBw/cFsorb\nkkAOQjElJxNRyBU12dOpx6DdpA0LhETr9ISB1jjzoiy+enpu9bizBJUG0WCjkZ4D\nMBveifolVx6fBYbjbqOhDaSOFnNCNLBX5rIR0o0gi3Mci8uFmopUrUIHz8nJchpc\n52PCbiTLp/y6K76q+Fzh4J0RyCnDk1H2A3dNL54vZdDsi9QJHA/PBV+bv1xd4oVe\nRMYOgICONrUV+ZfnP9lgYFws71GIAu9EzSxejFyk8K85gyV29NJ+o+ULmDI+2Lla\nc6oPiDfNi/AmfcCJZ3lVX95ESNaF7+iYL7yegBPPC2yPC35GUWbuxBHuIsMnxP4F\nJo+XZfJV/AbK5qHEdY8oDg8HiKr07pfno8fWrDmEw1qD92MILIyn+23sLzMHZEm8\nSwv/fiUt4CagN/y9rIZ9cHHq2zG0P/fOdMgAiq2H9vG5Ousax7ZUrhzePLZBUmtM\n77xmtlSjWFkRiWKHt6DRBd1wGX5OKiJ/hLyzAJZs3MLm1pDkTOjR7mTVCxU7B2RU\neHF4Qth2MZn2WkE36hiwqYHrcqYp9BH/pUds03wwUh85sN3QUTV2kf7fCHrpLZbc\n+PT1fSlNgQn3IqMzFoRgQ582AqF3Uu5CvXkFV99Y6ZXIeWA4+cjbzSPlQfSimF/q\nwAeVtGqh9Cj6a7why00CXrD8aQiFRFotDJKtD58xiIPQpnS8I6MDOiX3c9uoqE5K\nBg/+weDoN+VfMU05zVfaoXZvrj8mB+RjYtg+Zk5YXQSHwFxlQnqKObl8fXdesYX1\nxV1RJSicnVtfStyKJsp8gAwzX5dedS2NwauGDePI68HvrFOBvDU93TGjPS2lRzgN\nkP3TUnj+nDU5b3Q2G7El+PUTyu5Y1h/AkLkTSNjiAkC7ScZjsfD8ZOwi+N/i2YxB\n3YCtNVHpUNhjsPr0NV04iw8t/EbHmHb7Vh/9qNXQ8TITDzukig1F80bX5KWfM6mc\nfkJ89RcKQDE+RVSnsZHjbWDloLlkmP/UgIQPaVE/8IOibZZrQJLXZdN+sp1cmiTp\n9C76cRHBjPJwmde+p4Xxzb71Ethf4uxtLDkUBBtDtkD8ejl5XIdFstwUmYy02OUx\nZahoJBTpYKunxVm2DVHJ9w9akDxjzUxAUbAlWR+lHHsR0ZaiWVjqCSPSGhfEqjtT\nsc+Bihvj9cwG0BvDnMg6GSFrJhPlnxkdAH5PgUCqcHCDy3qKcUFvdBbMATggfM/k\nR6fq9kIgQCxcTHhaQxt9gYf7OpCdKRpjKeXhUAmsT7FdiTylIK9dV+CV2132V5FN\nzkO2JU2H\n-----END PUBLIC KEY-----\n", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 0 + }, + "signature": "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", + "hash": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb" + }, + { + "seq": 1, + "prev": "6ae29ede18ae6af8f3967463dac1871178ab326fd6161d50f7c099795839e6fb", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "40", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "under the limit" + }, + "provenance": null, + "seq": 1 + }, + "signature": "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", + "hash": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29" + }, + { + "seq": 2, + "prev": "689175dab93268b55cd221f695b92a847419df745ecb61fbb1b8f968da779e29", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "payment", + "to": "0xbbbb", + "amount": "70", + "at": 1791022310 + }, + "decision": { + "allowed": false, + "reason": "over the limit: 110 > 100 per 3600s" + }, + "provenance": null, + "seq": 2 + }, + "signature": "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", + "hash": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6" + }, + { + "seq": 3, + "prev": "70e18dd73e423ccb717b9bb7f332748d350f7fe3a112831341057e6b32173ec6", + "body": { + "v": 2, + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "policyHash": "0x0e3c4a295d1b020f50a1dde05d2f95e46f505481dcb6ce88c00c3270e006b1f7", + "session": "9a38b91bc07691a3326ff629760dc149", + "at": 1791022310, + "action": { + "kind": "tool", + "tool": "retrieval", + "at": 1791022310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": null, + "seq": 3 + }, + "signature": "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", + "hash": "3f28a2fd5752211c342a52b9a5f5b98c9cd1dca2513b78411907696fc7dc818b" + } + ] + }, + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:d1ba277c887d6a2720b1aec21278b63aa2756430", + "spend": { + "amount": "100", + "windowSeconds": 3600, + "asset": "AERE" + }, + "tools": [ + "retrieval" + ], + "recipients": [ + "0xbbbb" + ] + } + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/fresh-agent.action-refused.json b/conformance/vectori/ai-trust/fresh-agent.action-refused.json new file mode 100644 index 0000000..656935f --- /dev/null +++ b/conformance/vectori/ai-trust/fresh-agent.action-refused.json @@ -0,0 +1,140 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/fresh-agent.action-refused", + "artifact": "ai-trust-bundle", + "title": "the same action under a policy that does not allow the tool: the ledger entry of the output is a refusal", + "source": "derived from ai-trust/fresh-agent.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/fresh-agent.partial", + "mutation": { + "producer": "the owner's policy lists another tool; the agent recorded the action and the ledger holds the refusal", + "changed": [ + [ + "bundle", + "permissions" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:another-model" + ], + "recipients": null + }, + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "session": "be6579a9db8cc4e59257f55e34c84427", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0x2950da7c240b5877859018244b8aa74d4a8bb3212111e3d2d639b5704c6962a5", + "session": "be6579a9db8cc4e59257f55e34c84427", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": false, + "reason": "tool \"model:example-model\" is not in the allowed list" + }, + "provenance": "ca0874f77b4586ec2f7e466a15c7c5f471e8aeaa84707312da0a9e7409538847", + "seq": 0 + }, + "signature": "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", + "hash": "f3663629cd9118b5b5bbd41002b656b3698a29b5171b9bb47d9c43bd9d5d7545" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T09:55:10.000Z" + }, + "statementHash": "0xd038978f96fcc37004d612e55c6ba079bf9cbce069c48ebdaf2ae5552601541c" + } + }, + "version": null, + "runtime": null, + "witness": null + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.action-refused" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/fresh-agent.ledger-time-mismatch.json b/conformance/vectori/ai-trust/fresh-agent.ledger-time-mismatch.json new file mode 100644 index 0000000..39f4935 --- /dev/null +++ b/conformance/vectori/ai-trust/fresh-agent.ledger-time-mismatch.json @@ -0,0 +1,144 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/fresh-agent.ledger-time-mismatch", + "artifact": "ai-trust-bundle", + "title": "the output is dated two hours before its ledger entry", + "source": "derived from ai-trust/fresh-agent.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/fresh-agent.partial", + "mutation": { + "producer": "the producer dated the output two hours before the agent recorded it", + "changed": [ + [ + "bundle", + "permissions" + ], + [ + "bundle", + "provenance" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:example-model" + ], + "recipients": null + }, + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "c8328018887810de7aa26029213940ae304127f903d728fc31d96310890b588e", + "seq": 0 + }, + "signature": "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", + "hash": "8128521cdb5b7a8c7457f43de004803c10ba5a4f8433732f81e5eba46e41bcf0" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T07:55:10.000Z" + }, + "statementHash": "0xea20f2b7012e25a550b3afd938969a7a7bbe9f85e32fbc769a40b8dd1821d1b8" + } + }, + "version": null, + "runtime": null, + "witness": null + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.ledger-time-mismatch" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/fresh-agent.partial.json b/conformance/vectori/ai-trust/fresh-agent.partial.json new file mode 100644 index 0000000..1e8410c --- /dev/null +++ b/conformance/vectori/ai-trust/fresh-agent.partial.json @@ -0,0 +1,130 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/fresh-agent.partial", + "artifact": "ai-trust-bundle", + "title": "a trust chain with no witness: the links hold, and nobody but the agent fixed a time", + "source": "producers (agents ledger, Proof of AI), one agent key made and discarded at generation", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": null, + "mutation": null, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-03T09:55:10.000Z", + "identity": { + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "spend": null, + "tools": [ + "model:example-model" + ], + "recipients": null + }, + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nC07zEjJF\n-----END PUBLIC KEY-----\n", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "policyHash": "0xffb1b1734bdd0c2013a477be585168045f75c2864643dc90d8332b4eb59a35bc", + "session": "cfb402c33b542f14a1b96f88ff6bfb28", + "at": 1791021310, + "action": { + "kind": "tool", + "tool": "model:example-model", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1791021310 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "ca0874f77b4586ec2f7e466a15c7c5f471e8aeaa84707312da0a9e7409538847", + "seq": 0 + }, + "signature": "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", + "hash": "7723d4c364fe964ebebf476d8d1a7bc880736b6dc79c338ccbb3155067ca4a0c" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "example-model", + "version": "1.0", + "weightsSha256": null + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x389e6caa2228e03f26010e68fe58dfeef97c892b1e5554fda1bdc9a7b1eca8df", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:example-model" + ], + "agentId": "aere-agent:eb2e77d319f1e34586c982215e9702ada9c88765", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-03T09:55:10.000Z" + }, + "statementHash": "0xd038978f96fcc37004d612e55c6ba079bf9cbce069c48ebdaf2ae5552601541c" + } + }, + "version": null, + "runtime": null, + "witness": null + } + }, + "expected": { + "verdict": "PARTIAL", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded-28001.provenance-finality.json b/conformance/vectori/ai-trust/recorded-28001.provenance-finality.json new file mode 100644 index 0000000..bbcf9d5 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded-28001.provenance-finality.json @@ -0,0 +1,270 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded-28001.provenance-finality", + "artifact": "ai-trust-bundle", + "title": "the Proof of AI envelope claims a notarization the chain does not hold (and so is no longer what the ledger links)", + "source": "derived from ai-trust/recorded-28001.valid", + "requires": [ + "rpc-28001" + ], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.provenance-finality", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch", + "aitrust.witness-head" + ], + "base": "ai-trust/recorded-28001.valid", + "mutation": { + "op": "add", + "path": [ + "bundle", + "provenance", + "proofOfAi", + "notarization" + ], + "value": { + "chainId": 28001 + } + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196", + "notarization": { + "chainId": 28001 + } + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.output-not-in-ledger", + "aitrust.provenance-finality" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "FAILED", + "finality": "PASSED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded-28001.valid.json b/conformance/vectori/ai-trust/recorded-28001.valid.json new file mode 100644 index 0000000..d012f0f --- /dev/null +++ b/conformance/vectori/ai-trust/recorded-28001.valid.json @@ -0,0 +1,253 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded-28001.valid", + "artifact": "ai-trust-bundle", + "title": "the same trust chain with the chain: the ledger head is under a verified post-quantum anchor", + "source": "recorded (ai-trust, 2026-10-02)", + "requires": [ + "rpc-28001" + ], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.provenance-finality", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch", + "aitrust.witness-head" + ], + "base": null, + "mutation": null, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "PASSED", + "finality": "PASSED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded-28001.witness-head.json b/conformance/vectori/ai-trust/recorded-28001.witness-head.json new file mode 100644 index 0000000..eb63eb9 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded-28001.witness-head.json @@ -0,0 +1,265 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded-28001.witness-head", + "artifact": "ai-trust-bundle", + "title": "a notarized head that is not a head of this ledger", + "source": "derived from ai-trust/recorded-28001.valid", + "requires": [ + "rpc-28001" + ], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.provenance-finality", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch", + "aitrust.witness-head" + ], + "base": "ai-trust/recorded-28001.valid", + "mutation": { + "op": "set", + "path": [ + "bundle", + "witness", + "heads", + 0, + "statementHash" + ], + "value": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e10" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e10", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.witness-head" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "FAILED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.audit-head.json b/conformance/vectori/ai-trust/recorded.audit-head.json new file mode 100644 index 0000000..bbb96e0 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.audit-head.json @@ -0,0 +1,260 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.audit-head", + "artifact": "ai-trust-bundle", + "title": "the attested head of the audit log changed after it was hashed", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "runtime", + "head", + "statementHash" + ], + "value": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605f0" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605f0" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.audit-head" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.audit-log-broken.json b/conformance/vectori/ai-trust/recorded.audit-log-broken.json new file mode 100644 index 0000000..d0ab21d --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.audit-log-broken.json @@ -0,0 +1,261 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.audit-log-broken", + "artifact": "ai-trust-bundle", + "title": "one entry hash of the audit log changed", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "runtime", + "auditLog", + 0, + "hash" + ], + "value": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d0" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAM549FJ8JaP9xfUWtr8m03ddBI0WBDTNZvgx\ndgFFZD5kVj+eB895lzRDN+naS0PmRsTKjqhH7F2FhissOBbrvvAyfzjqkGCWi3Jm\nqSPM5154djoN6Xh1jLUr0VYk50HGRMOHZfwAhYXoOYHpBswRs35Ld6k4UbsWhBiw\nqR02+xyNFLv5cW9QBBJdZOMh33rpqzNJV7Wwzl33qjpRS2je4VciAivx92ELI/72\nHFMFfVCpWuUl+3PPoFM1YMTsjgaUypYvK2gB3jw2pB3g+/KSRR08zLCD3SILdwYW\nlnp7V+f9ko5IT+1eTDGmZCqGRf2vlMnZiXOO/WqPMryPfC7erVbq8DsQimviURc6\nQxB5TM2+qQRRbB7MWJvkLuc5/2qs0kzHQ+NF57MTNXDsPBOGsSKvvGtwUlqiIYnO\nu2f1yhNni4HNcdC0uy7ohwnJAzxuZKuHQaNeTl9PgPoJ16Uu61ebFE7vOBOCvPvC\n6rtnmx0q8HqwduWfLKRSuUx82a2bZRr5Z31Jg0onLZS57sQzn6P3Q9wXSoq9VOzq\nDdFmg5ydH2h9wFBrw9Lm8hkabPjZt39cI3nGW3sn9NoJuPcFWfRsSTo1ndC25bHF\nPcoBz1WEkfw7hU3uMuhVuO1F2vw1NvFsnozgUXqcdf3KRcRRL/nInYkt+HFC8VDX\ni7q4J8V32EU3jdRvcgXlrf7g0PPkw5nCACpVUwUfb/PXs9+FunlRppR59146Unpm\naQlZgdN/9Ax5dKK7grcp7puz617D7l3wYg8RjNgRloEWkZ2Qt1g8l3MWYftvB3jF\nROC/gz8uPp8hMd7qtBSL9mMKDYvQ7yAdiYkJBzLXAyzKCP5oJkutUQHHqT5tkyrb\n6Qwr5PjFE/j0nbR2agqYLyKW/13dwUXV9GCHT58N5VpsorFds+6eXwd8CwW7zEgc\nXZNEDEUHVbFHKeh5ZLDlrBam1Y7xsLnxV/FSfjD54Wam/cvhcgGrQeUpc9xsoTY8\nm6aBtAPiAJoLAsdGn4shc5HhAXQzt5kD6o0NIKaU/zO3KRHu3580Jz65k9DRycJj\n2qQHR0RWCrsr7fSUaCT/mGCAmULsjJafVYz+VIRQ8RLvTwy9du8c7WCbcPqNo5Ro\nBJVT1Mfdvh78CVTWzjjPOoZiMaUUJdxsqDp0qvi5MrJLiPBYtlibLkSN5/DRqkOZ\nj7VT8wUd1vcCSwVNiRFb9YN/TV+X6cFJJQrlS8nEQm5Sv809036K+kTU2ejcSEnq\nmQgpX/6h01OJ6P19W6gj+eL1tMyrpc5dfPW1Yt+BSz+KPATHWKws+8fzhUuNDRz7\nKlu1cMkQoXiMY43q6ld6hEbOqjA/Pab7rKqm69fNO25ih/+Zujk1KysBOowBbiLo\nuf0lbHRzVPF5qv7pOFto31LSnQpuEoz8UeScjMAYJJ2bf9F/xg4O16Awiv4L4DDP\nN13jZpOHYWJFaZaF4ku39tR7QVFjap8ZKx3lmg2KuxznrEcD6sHAjwZmR1OT24D/\nSM3Bs+kiWEv62Y2zyU7NBnIBdzVju9JeXslna0YlSfm/tOZMIBb7LsDu7gVJC9yG\n5dmruzBO9eHUF4IBAbk9+G9rgrj5f4s166kxLzXx4O8Po+A3FVNqIeLWc/wBgOKw\n72fCdrhQsgomClBaGpSrQZate6uE8xeN1Pudnyj0NsZD51bv8bXd3r/DdfDjtV5I\nXkl36VCqMG7yW3N+k3B4H2SoEkGGQPPgugqj1OgA4UTgh+e3vdXu+SgwBBpXeJWC\n7EEsVL6thDE7riJq2xBHDetfndIUh7C46Munqy4qcaA8tlsuIVL8nTpL/zkAV/Jh\n2NCvtEVc0rv+ix1R8Yzk+i/n1laJingzkR+hWv4kLvb5cA3OzwkAXZ0CBEXbYE2m\ndxiakopyBt4Tt1ALsUD0cpT0El03X/sbMaKygW1RouU3iJOVs2vZOiKfOOq+cXtI\nl4I5VlWDCh/H33jaHYsnX0HMDbNF0R7K7rCWQzAoR7rC4a8EDAvabyR3m4koiatz\nthHUVYMbpUD3m2MBFBBV7WObShXy4xkaJ37+LDQTsJ6MNpiv4Pbi/wrDHiPSNXWl\ne4E8ZzSXGyZJYSKu7jWQUdZR9v7IsykngtEGTR9stWiMlgyPZrTRO35aH3thVWti\nvm6Dgu+/FMSRAcuU0vUuD0UG/q4Wk6o3T4mQsu5DdAvwPc/IdZ/bwow0cWlnbE7H\n/IEGNe5RpI6EPtI189ADE1JTVnNZGGz9Px66bbcjHcG+B8QtLX6OH3IroHo6vfsT\nz3ae6+V9BdmrtKlKoxjAB5MCuZaluafFe2nJHAalS6XRfRD/YRr+8O52kI/h19lm\nWbwzBg0zgUtcpcAxyyVp8fvWznqjizWKIfTTqM1lWWMFVIkA0sIa5cm7I9mjOk6J\nXqwQ1kpDRc7pm4X0r1LE189V0iNpCzaquUMgObXXfnuLeQdM7Nl9iwEhnGLwuK3B\nCk+rsWyw8vOOpk5i7SU5186RsnNJZhtQATeZZnr8v1HYB2rTWzPmM6Kv9ArvbUWX\nzQp/vDDyO6CZV8G9uRVIfMph1dlo+KRB1/bCaOx7VZ4Ychx8R9+0CpwmSj2uJSLb\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d0" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.audit-log-broken" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.form.json b/conformance/vectori/ai-trust/recorded.form.json new file mode 100644 index 0000000..a3a2e2d --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.form.json @@ -0,0 +1,258 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.form", + "artifact": "ai-trust-bundle", + "title": "the bundle declares another format", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "format" + ], + "value": "another-format" + }, + "input": { + "bundle": { + "format": "another-format", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.identity-key.json b/conformance/vectori/ai-trust/recorded.identity-key.json new file mode 100644 index 0000000..4538daf --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.identity-key.json @@ -0,0 +1,259 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.identity-key", + "artifact": "ai-trust-bundle", + "title": "the public key of the identity is not a key", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "identity", + "publicKeyPem" + ], + "value": "not a key" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "not a key" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.identity-key" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.identity-mismatch.json b/conformance/vectori/ai-trust/recorded.identity-mismatch.json new file mode 100644 index 0000000..3310e7b --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.identity-mismatch.json @@ -0,0 +1,259 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.identity-mismatch", + "artifact": "ai-trust-bundle", + "title": "the bundle names another agent than the key derives", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "identity", + "agentId" + ], + "value": "aere-agent:1111111111111111111111111111111111111111" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:1111111111111111111111111111111111111111", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.identity-mismatch" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.ledger-invalid.json b/conformance/vectori/ai-trust/recorded.ledger-invalid.json new file mode 100644 index 0000000..366978d --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.ledger-invalid.json @@ -0,0 +1,266 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.ledger-invalid", + "artifact": "ai-trust-bundle", + "title": "a ledger entry changed after it was signed", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "permissions", + "ledger", + "entries", + 0, + "body", + "action", + "args" + ], + "value": { + "promptHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAM549FJ8JaP9xfUWtr8m03ddBI0WBDTNZvgx\ndgFFZD5kVj+eB895lzRDN+naS0PmRsTKjqhH7F2FhissOBbrvvAyfzjqkGCWi3Jm\nqSPM5154djoN6Xh1jLUr0VYk50HGRMOHZfwAhYXoOYHpBswRs35Ld6k4UbsWhBiw\nqR02+xyNFLv5cW9QBBJdZOMh33rpqzNJV7Wwzl33qjpRS2je4VciAivx92ELI/72\nHFMFfVCpWuUl+3PPoFM1YMTsjgaUypYvK2gB3jw2pB3g+/KSRR08zLCD3SILdwYW\nlnp7V+f9ko5IT+1eTDGmZCqGRf2vlMnZiXOO/WqPMryPfC7erVbq8DsQimviURc6\nQxB5TM2+qQRRbB7MWJvkLuc5/2qs0kzHQ+NF57MTNXDsPBOGsSKvvGtwUlqiIYnO\nu2f1yhNni4HNcdC0uy7ohwnJAzxuZKuHQaNeTl9PgPoJ16Uu61ebFE7vOBOCvPvC\n6rtnmx0q8HqwduWfLKRSuUx82a2bZRr5Z31Jg0onLZS57sQzn6P3Q9wXSoq9VOzq\nDdFmg5ydH2h9wFBrw9Lm8hkabPjZt39cI3nGW3sn9NoJuPcFWfRsSTo1ndC25bHF\nPcoBz1WEkfw7hU3uMuhVuO1F2vw1NvFsnozgUXqcdf3KRcRRL/nInYkt+HFC8VDX\ni7q4J8V32EU3jdRvcgXlrf7g0PPkw5nCACpVUwUfb/PXs9+FunlRppR59146Unpm\naQlZgdN/9Ax5dKK7grcp7puz617D7l3wYg8RjNgRloEWkZ2Qt1g8l3MWYftvB3jF\nROC/gz8uPp8hMd7qtBSL9mMKDYvQ7yAdiYkJBzLXAyzKCP5oJkutUQHHqT5tkyrb\n6Qwr5PjFE/j0nbR2agqYLyKW/13dwUXV9GCHT58N5VpsorFds+6eXwd8CwW7zEgc\nXZNEDEUHVbFHKeh5ZLDlrBam1Y7xsLnxV/FSfjD54Wam/cvhcgGrQeUpc9xsoTY8\nm6aBtAPiAJoLAsdGn4shc5HhAXQzt5kD6o0NIKaU/zO3KRHu3580Jz65k9DRycJj\n2qQHR0RWCrsr7fSUaCT/mGCAmULsjJafVYz+VIRQ8RLvTwy9du8c7WCbcPqNo5Ro\nBJVT1Mfdvh78CVTWzjjPOoZiMaUUJdxsqDp0qvi5MrJLiPBYtlibLkSN5/DRqkOZ\nj7VT8wUd1vcCSwVNiRFb9YN/TV+X6cFJJQrlS8nEQm5Sv809036K+kTU2ejcSEnq\nmQgpX/6h01OJ6P19W6gj+eL1tMyrpc5dfPW1Yt+BSz+KPATHWKws+8fzhUuNDRz7\nKlu1cMkQoXiMY43q6ld6hEbOqjA/Pab7rKqm69fNO25ih/+Zujk1KysBOowBbiLo\nuf0lbHRzVPF5qv7pOFto31LSnQpuEoz8UeScjMAYJJ2bf9F/xg4O16Awiv4L4DDP\nN13jZpOHYWJFaZaF4ku39tR7QVFjap8ZKx3lmg2KuxznrEcD6sHAjwZmR1OT24D/\nSM3Bs+kiWEv62Y2zyU7NBnIBdzVju9JeXslna0YlSfm/tOZMIBb7LsDu7gVJC9yG\n5dmruzBO9eHUF4IBAbk9+G9rgrj5f4s166kxLzXx4O8Po+A3FVNqIeLWc/wBgOKw\n72fCdrhQsgomClBaGpSrQZate6uE8xeN1Pudnyj0NsZD51bv8bXd3r/DdfDjtV5I\nXkl36VCqMG7yW3N+k3B4H2SoEkGGQPPgugqj1OgA4UTgh+e3vdXu+SgwBBpXeJWC\n7EEsVL6thDE7riJq2xBHDetfndIUh7C46Munqy4qcaA8tlsuIVL8nTpL/zkAV/Jh\n2NCvtEVc0rv+ix1R8Yzk+i/n1laJingzkR+hWv4kLvb5cA3OzwkAXZ0CBEXbYE2m\ndxiakopyBt4Tt1ALsUD0cpT0El03X/sbMaKygW1RouU3iJOVs2vZOiKfOOq+cXtI\nl4I5VlWDCh/H33jaHYsnX0HMDbNF0R7K7rCWQzAoR7rC4a8EDAvabyR3m4koiatz\nthHUVYMbpUD3m2MBFBBV7WObShXy4xkaJ37+LDQTsJ6MNpiv4Pbi/wrDHiPSNXWl\ne4E8ZzSXGyZJYSKu7jWQUdZR9v7IsykngtEGTR9stWiMlgyPZrTRO35aH3thVWti\nvm6Dgu+/FMSRAcuU0vUuD0UG/q4Wk6o3T4mQsu5DdAvwPc/IdZ/bwow0cWlnbE7H\n/IEGNe5RpI6EPtI189ADE1JTVnNZGGz9Px66bbcjHcG+B8QtLX6OH3IroHo6vfsT\nz3ae6+V9BdmrtKlKoxjAB5MCuZaluafFe2nJHAalS6XRfRD/YRr+8O52kI/h19lm\nWbwzBg0zgUtcpcAxyyVp8fvWznqjizWKIfTTqM1lWWMFVIkA0sIa5cm7I9mjOk6J\nXqwQ1kpDRc7pm4X0r1LE189V0iNpCzaquUMgObXXfnuLeQdM7Nl9iwEhnGLwuK3B\nCk+rsWyw8vOOpk5i7SU5186RsnNJZhtQATeZZnr8v1HYB2rTWzPmM6Kv9ArvbUWX\nzQp/vDDyO6CZV8G9uRVIfMph1dlo+KRB1/bCaOx7VZ4Ychx8R9+0CpwmSj2uJSLb\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.ledger-invalid" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.output-not-in-ledger.json b/conformance/vectori/ai-trust/recorded.output-not-in-ledger.json new file mode 100644 index 0000000..52ac699 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.output-not-in-ledger.json @@ -0,0 +1,268 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.output-not-in-ledger", + "artifact": "ai-trust-bundle", + "title": "another output than the one the ledger entry links", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "producer": "the producer of the output wrote another output digest (statement rehashed); the ledger still links the first", + "changed": [ + [ + "bundle", + "provenance", + "proofOfAi", + "statement", + "outputHash" + ], + [ + "bundle", + "provenance", + "proofOfAi", + "statementHash" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "wAYJvunP2AyU67KhPyK7hbQfvKsfddNemyvWXw5I8MqOJSwy/ZfDXWQCHRe9GnuAgh6LJUrm3l2KpgAuiezR4HV+Ko9gSz+3KueNl+w5T1xLDJK1rcVvJ88HbxpfizB+eZ2Ch8GjMKUpTaR/PxTud7/QEFCFje/P68AnYKx9N8WOHY5q97CEkH68REriuHqE450MLqngx7X3/hCg1UF1fQadt3G/yjmAn/afGa6q+bipdTaomOq9MhhovrcAUOq/cWYWZMojI4jI8THht377xDJNc+6WC5EqwLwTIoSLb+XaDyPRzSnoZ0QIgy7YK9WZS2R8qHYaHWRbLIX0RgO5lgZN+OT2HUGQEwwjc9oSg0RkryytBld/oNpXupJTsyElDR9Zf+RCBBJt85cBdNA+1EF0ZsFJZTdH+Y+M5GgAaV5sTdmL40mF4ccojbNX+63sBp6n28hnqTVu3YKylzxl1Q5o+gFO6CGodvdCQzhAnTIfeMFS/xd5dNia2n4FRL9IQEE31+K/oqrYDFMP9gdtQRMiz7ttWnAm9n6JsmeViVs+Dqm+sJ2+t2ZRw74JY0IIQN6bTDwxNY/Q9BVxWr5LNpGyf6KeSg0lKnXE5sNc19KDZYRLyy3GLhT0Xd0yoBRoRmE4/OyGsbClvmQidn8oF9WXh6knaQODoqIdEsNjJ2dW0uUS+UjzCDsKkJoqU4O9zWrhozg0ISP6i8SyWwBT/mFYojopucA/vvd6iywsWphtPC9vkwMw86ZEdZjL4vYPye22yIxqVQC02VM7zscC+m+Ij4W7/23RsHlCkmPXdcHuOPslc6OyBxV/cbNIuxT7DX6MbbbmoZHtFjqSBy346/JU1ztZRxDdohg3m82yXokKcVISGSkFHs8kML7QznlkVRUfH7kNHbT0i3miYQDoZsyaiTAWgmInHWR+U02S1azzu4gX9mqZqqX37InTrErnhTR9hTM+bEJcI4jpsL+7ylHBdB0GJjzQP0pSlvBNXyxbq+FmkBprf6QNkPOO2KgBfpLF17oyOiy4LJtGY1HnrCZXeeF6eCuahnPuWqsDbXFz75+lH4EHDJ9uRzE3Lm3oSJH5C7C042ViTk7BG5qnM7+hTHI9lj2tBsJibgfIoO/Md1IkzeFdnzmm5h0fRILSJpg81HHgNYF/9QKPL2UsZNm7Fospy7RMubkog3wW3Vvvr6+Wu66t0LaVB/c1vLwSSOeJOD2FDS6qjKNdSzDTD4an1Txtq+X2nsYhEvdyoq1EakI9cMuUnAnOWxaoC+C17hAJtFiZhFuFBMQvfSot4cP4QTLK4iKsL1uFIWnUyi70zTC2cx2KDTiLBD7Fi84X4v9JknTgVc7n0z7Ojh5LI3RQoslAnyLebLCW221lYcHfWEDIlBtGXGM/0MnYRwrphFGXAYR1i2U8tnoijV2XaHsiicliK0LkBZ0TDy7VsJ8h2bJselRSbaFNQRqdTa951R1LRiuBiM1k2RtG6YmClLVzAu9mGsQrcoC/NXeXlTtcqDLmPlqey9EG+FHqERC5lXRiYaADjEgz24YF12auw45ewLkz2fdSo/yqqYGW4AixwQ6SmtlYzym/g7U4zKw9gyyzOTTwPdDWB3rkTjMgqS1zXF69QJFqdcEhVxrvkTNOo/qJA47DgirhfTlPNHJY1pND96Dihsccmmwwd5iCvSwfuD58om3YBOCUJMMDp6uvc+/kXV556ZayGD0XtTxVGPWoD9yrxIdGGG4ZbsBZ6GGgChNXOWCC2OiJ5mwmukQmWhxLFengWY8VEZnQQRfoDDEe1122FaOgipctuOelON+JKLWQSEAQZN1h9QbIfDYGbn8l+5/1rdo+aXMSx+LxgcdAa2y9MBIqj4M9um+OHzSecn2itZKW8nLebPynFgjAQQItmjmjLUxMmA0W5WvT/pdece/5nuL+Kl6Kv4GOkT/APAll3Zs3u57qFjCjRahQyONDJ15dHp6LLgGRGFToJJbO9tWjqau6BTYo9O4PWyHlU17kapyCKuszPghp7Y60AxMcfkOHREHJEPxwbKiOXlAqy9Y4aMoYdcn3BOk9j8fKnteQAeteftkVp19MfD3uXwazWaepCA7Lixxfxq2hafhFpH2rbOctVc1JE7zLJX/bDLB5KHLUNtV9hdgYq6bY7g9vsXhfn4zXZ5mPFAevKwagUxzWtR5IJxGbrC9mXQ59Oa6aUUUedfGB6kR9P0KiFZfCv8FR6g5Th4EoiZ62S1FaDCn65/yHXsTVJg9YhHgK+D9ezKZqvYqshzCpsm62DU3clvOXjYptzlLztR0jTwpYu1wsoqyeBzBLEyTWZTLAQJ5gi9e2MdBPf562CjiY1+loqlAYCfZDvGIjO3ZsHXIjhu6sAhnSgJlD8Etd8Js1TGHAZoLZCAVfZBXlJygHtmzBDp3c75zc2fGI3AOXwpdHup5qOaz8Spz0VDUG5zNall/rov89NtkdsucRVC31v2zSEG3YZRtgScVDW3RBBOrlAHrORN/DsbWcaL56AvEDb70wAHGFAqiAuc//WwnWSr8cCcA+RKYG4y82EbV/DllNY6i0HwgaChAJdRlpByhl9OOD1fHy3KFaM7sHLnl1wIe5eg0IzD+Z5e72h9sQaMmCtOE/CX6oMfur0C8HFBuXffv7Blu0NwyTJOac1YWdJeYwr7ATbd761nKEzETluuQf/G1x7UVf/SgEUI7ECco0i/IygUFEg2Uu4ZJFuPyjB8oGdGNSo4vVAgwmKQ/sX3PfL/lBgR4rzuao5/lc2Bu1DunvetGoomfFfWvtyYqBL1ao4+bDU1aPAG7q7r4mcxAM15IW192rNPsejDlEbNpyG3/N3hp6QSgyujQ971iGKa943gBu95bxfriA5lh5N19fOAmaFG9MLqYWSN3kzFLmfIQsk22UHseaPAsca3Ey+qULpK4kQC+kjdC53WEdvMUrh43o5ReUqCpBGHQqzSCvf0YlqVUBN6Ph3Nk/tBj/aiI5EIadWUOcrAMWn7XfdabVXonzF5xGm6FimDBq3rHIhtX/vtEmrJHqFeF8wKhBbGzNGRUB1NmJ284VSiB1+v/WttnJql94Q0VLC6ulrnkSJ3JP8ntKuYTnrf4EB07ewjt1M0Cp9B9OTEiVnURgU6DhPkIuZcytMJMqff/U3AmbskOdvPXOfeH9b4si+kfHYrdrpNBVjJ58aoASe73O9zJ7HcTjrLGMxHl8WbyYK9V4Gc7ky0rVOG6oGRtl3UyRLIRSGkdQ27cnkyryBUPnOAgiJdYc2RS3KAtPb4UwwzpnNlTkaG4iVGYFXh1lKd8XeIOAPHfwoR6vIJp/NaG/WRlubyf/sr2lHe2oibsAgK9Im3iOr6FMC1SLjLRwKbl56VrnnYp4MHaf0Ee5nchxdzvSlNbEmDyWDPGKF4+D1KGloeF4BBJW+7JkacsiRJtAzgSPp5IeTk5it1NpNiECy+KQhINSCEAzZ7wVYMmHp/o1BMQpFs3VBDPmvsAoxeklKfSxnkHXSeNihJt0Nqy/6mYou+r+dGlB5Iy9Rv7Ictfv28YXCc7MQgwAPpSpuOaKCADGbbza7A/hnvw2G7mplSHowCZzGG6FOQSWCruwWwMwIQJISa6NBOfQstXTD9DT+yIm//a1K+fKHNCsYpD+c1TVoUXFoTy3gmlKe4rQlgtyQ1uEF9Z1Ug6Z/y4z40f/s+pnrBuzyGBIRCjwl9/+AphXQKNHEjjxg9OzGTiYXqH4ORXyUr6uGjE+A80sx3ZZ7lf/I7yGuXUEzHWjMFTbrD+FhLeJTPqCWFrAFP5pzYEcE80XBeivurobLcxt5PfjXa1tj/yGBDsg2wZZsh/ew0v6HWdJif5GP09nFmXnBVrcNdaP1vgO7EEvTK0dvyyNurCDbP9LdjKTEK7INB+T/8Myg+mZ1oOyEI+ceaw5QdXIisglA6rqOcDXUwbL/ub94ZEkqREpy30nMTRtAz8YaM705jfwRBV9r0FVM2/x+0xypcdeHg30fnTTEOpJiSHJchBvD48dq66UaiOPk0jaT7i+RVEpZ2iBW51Q1gMXnI5GbTI30FtNraBTryeeVi5MH3NHix5OtHxwmyottGmnw96+5Af30udxQAe3uTzdYNdYPD6x9CBb3aCXQbmiu8udzy9KgNeCOMsPGlhWDXxhU/lyA2a09/SEpePAYCYh4ypOMocqKGdGXD057t7cJNkjU+7pF2tzvLrE5eWSVW2GufFzyfeUoyZcothxyDYLbOi9uvN9OD1Pcyks7iLRWZ2eeDRiIZcgAlc3vr0QhmdrTjSnb1Mm7qdy0f4Ruf2HV4Ksxh5Cy5sBBsFPaHB8f5MrPHl7jJBLbICbsd4fVIkHn8HcMlaJl6X+JSswyvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwPExke", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0x1908ea0bdaf32cf61deddb9682b03d449cea71dbb52a6bf33035fd1316286708", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0x4ac7923c407bc8d98a0f4528b394d7d956e028462848bae500c10a3033797fc3" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.output-not-in-ledger" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.partial.json b/conformance/vectori/ai-trust/recorded.partial.json new file mode 100644 index 0000000..dee92fc --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.partial.json @@ -0,0 +1,249 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.partial", + "artifact": "ai-trust-bundle", + "title": "the recorded trust chain judged offline: every link holds, the notarized heads it brings are not read", + "source": "recorded (ai-trust, 2026-10-02)", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": null, + "mutation": null, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "PARTIAL", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.policy-hash.json b/conformance/vectori/ai-trust/recorded.policy-hash.json new file mode 100644 index 0000000..53fa55f --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.policy-hash.json @@ -0,0 +1,259 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.policy-hash", + "artifact": "ai-trust-bundle", + "title": "the bundle pins another policy hash than the policy it shows", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "permissions", + "policyHash" + ], + "value": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b70" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b70", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.policy-hash" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.policy.json b/conformance/vectori/ai-trust/recorded.policy.json new file mode 100644 index 0000000..4e51ba0 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.policy.json @@ -0,0 +1,250 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.policy", + "artifact": "ai-trust-bundle", + "title": "the policy shown is not a policy", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "permissions", + "policy" + ], + "value": "no policy" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": "no policy", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.policy" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.provenance-envelope.json b/conformance/vectori/ai-trust/recorded.provenance-envelope.json new file mode 100644 index 0000000..6b74e74 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.provenance-envelope.json @@ -0,0 +1,261 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.provenance-envelope", + "artifact": "ai-trust-bundle", + "title": "the Proof of AI envelope is of another kind (and so is no longer what the ledger links)", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "provenance", + "proofOfAi", + "kind" + ], + "value": "aere-proof-of-data-attestation" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "wAYJvunP2AyU67KhPyK7hbQfvKsfddNemyvWXw5I8MqOJSwy/ZfDXWQCHRe9GnuAgh6LJUrm3l2KpgAuiezR4HV+Ko9gSz+3KueNl+w5T1xLDJK1rcVvJ88HbxpfizB+eZ2Ch8GjMKUpTaR/PxTud7/QEFCFje/P68AnYKx9N8WOHY5q97CEkH68REriuHqE450MLqngx7X3/hCg1UF1fQadt3G/yjmAn/afGa6q+bipdTaomOq9MhhovrcAUOq/cWYWZMojI4jI8THht377xDJNc+6WC5EqwLwTIoSLb+XaDyPRzSnoZ0QIgy7YK9WZS2R8qHYaHWRbLIX0RgO5lgZN+OT2HUGQEwwjc9oSg0RkryytBld/oNpXupJTsyElDR9Zf+RCBBJt85cBdNA+1EF0ZsFJZTdH+Y+M5GgAaV5sTdmL40mF4ccojbNX+63sBp6n28hnqTVu3YKylzxl1Q5o+gFO6CGodvdCQzhAnTIfeMFS/xd5dNia2n4FRL9IQEE31+K/oqrYDFMP9gdtQRMiz7ttWnAm9n6JsmeViVs+Dqm+sJ2+t2ZRw74JY0IIQN6bTDwxNY/Q9BVxWr5LNpGyf6KeSg0lKnXE5sNc19KDZYRLyy3GLhT0Xd0yoBRoRmE4/OyGsbClvmQidn8oF9WXh6knaQODoqIdEsNjJ2dW0uUS+UjzCDsKkJoqU4O9zWrhozg0ISP6i8SyWwBT/mFYojopucA/vvd6iywsWphtPC9vkwMw86ZEdZjL4vYPye22yIxqVQC02VM7zscC+m+Ij4W7/23RsHlCkmPXdcHuOPslc6OyBxV/cbNIuxT7DX6MbbbmoZHtFjqSBy346/JU1ztZRxDdohg3m82yXokKcVISGSkFHs8kML7QznlkVRUfH7kNHbT0i3miYQDoZsyaiTAWgmInHWR+U02S1azzu4gX9mqZqqX37InTrErnhTR9hTM+bEJcI4jpsL+7ylHBdB0GJjzQP0pSlvBNXyxbq+FmkBprf6QNkPOO2KgBfpLF17oyOiy4LJtGY1HnrCZXeeF6eCuahnPuWqsDbXFz75+lH4EHDJ9uRzE3Lm3oSJH5C7C042ViTk7BG5qnM7+hTHI9lj2tBsJibgfIoO/Md1IkzeFdnzmm5h0fRILSJpg81HHgNYF/9QKPL2UsZNm7Fospy7RMubkog3wW3Vvvr6+Wu66t0LaVB/c1vLwSSOeJOD2FDS6qjKNdSzDTD4an1Txtq+X2nsYhEvdyoq1EakI9cMuUnAnOWxaoC+C17hAJtFiZhFuFBMQvfSot4cP4QTLK4iKsL1uFIWnUyi70zTC2cx2KDTiLBD7Fi84X4v9JknTgVc7n0z7Ojh5LI3RQoslAnyLebLCW221lYcHfWEDIlBtGXGM/0MnYRwrphFGXAYR1i2U8tnoijV2XaHsiicliK0LkBZ0TDy7VsJ8h2bJselRSbaFNQRqdTa951R1LRiuBiM1k2RtG6YmClLVzAu9mGsQrcoC/NXeXlTtcqDLmPlqey9EG+FHqERC5lXRiYaADjEgz24YF12auw45ewLkz2fdSo/yqqYGW4AixwQ6SmtlYzym/g7U4zKw9gyyzOTTwPdDWB3rkTjMgqS1zXF69QJFqdcEhVxrvkTNOo/qJA47DgirhfTlPNHJY1pND96Dihsccmmwwd5iCvSwfuD58om3YBOCUJMMDp6uvc+/kXV556ZayGD0XtTxVGPWoD9yrxIdGGG4ZbsBZ6GGgChNXOWCC2OiJ5mwmukQmWhxLFengWY8VEZnQQRfoDDEe1122FaOgipctuOelON+JKLWQSEAQZN1h9QbIfDYGbn8l+5/1rdo+aXMSx+LxgcdAa2y9MBIqj4M9um+OHzSecn2itZKW8nLebPynFgjAQQItmjmjLUxMmA0W5WvT/pdece/5nuL+Kl6Kv4GOkT/APAll3Zs3u57qFjCjRahQyONDJ15dHp6LLgGRGFToJJbO9tWjqau6BTYo9O4PWyHlU17kapyCKuszPghp7Y60AxMcfkOHREHJEPxwbKiOXlAqy9Y4aMoYdcn3BOk9j8fKnteQAeteftkVp19MfD3uXwazWaepCA7Lixxfxq2hafhFpH2rbOctVc1JE7zLJX/bDLB5KHLUNtV9hdgYq6bY7g9vsXhfn4zXZ5mPFAevKwagUxzWtR5IJxGbrC9mXQ59Oa6aUUUedfGB6kR9P0KiFZfCv8FR6g5Th4EoiZ62S1FaDCn65/yHXsTVJg9YhHgK+D9ezKZqvYqshzCpsm62DU3clvOXjYptzlLztR0jTwpYu1wsoqyeBzBLEyTWZTLAQJ5gi9e2MdBPf562CjiY1+loqlAYCfZDvGIjO3ZsHXIjhu6sAhnSgJlD8Etd8Js1TGHAZoLZCAVfZBXlJygHtmzBDp3c75zc2fGI3AOXwpdHup5qOaz8Spz0VDUG5zNall/rov89NtkdsucRVC31v2zSEG3YZRtgScVDW3RBBOrlAHrORN/DsbWcaL56AvEDb70wAHGFAqiAuc//WwnWSr8cCcA+RKYG4y82EbV/DllNY6i0HwgaChAJdRlpByhl9OOD1fHy3KFaM7sHLnl1wIe5eg0IzD+Z5e72h9sQaMmCtOE/CX6oMfur0C8HFBuXffv7Blu0NwyTJOac1YWdJeYwr7ATbd761nKEzETluuQf/G1x7UVf/SgEUI7ECco0i/IygUFEg2Uu4ZJFuPyjB8oGdGNSo4vVAgwmKQ/sX3PfL/lBgR4rzuao5/lc2Bu1DunvetGoomfFfWvtyYqBL1ao4+bDU1aPAG7q7r4mcxAM15IW192rNPsejDlEbNpyG3/N3hp6QSgyujQ971iGKa943gBu95bxfriA5lh5N19fOAmaFG9MLqYWSN3kzFLmfIQsk22UHseaPAsca3Ey+qULpK4kQC+kjdC53WEdvMUrh43o5ReUqCpBGHQqzSCvf0YlqVUBN6Ph3Nk/tBj/aiI5EIadWUOcrAMWn7XfdabVXonzF5xGm6FimDBq3rHIhtX/vtEmrJHqFeF8wKhBbGzNGRUB1NmJ284VSiB1+v/WttnJql94Q0VLC6ulrnkSJ3JP8ntKuYTnrf4EB07ewjt1M0Cp9B9OTEiVnURgU6DhPkIuZcytMJMqff/U3AmbskOdvPXOfeH9b4si+kfHYrdrpNBVjJ58aoASe73O9zJ7HcTjrLGMxHl8WbyYK9V4Gc7ky0rVOG6oGRtl3UyRLIRSGkdQ27cnkyryBUPnOAgiJdYc2RS3KAtPb4UwwzpnNlTkaG4iVGYFXh1lKd8XeIOAPHfwoR6vIJp/NaG/WRlubyf/sr2lHe2oibsAgK9Im3iOr6FMC1SLjLRwKbl56VrnnYp4MHaf0Ee5nchxdzvSlNbEmDyWDPGKF4+D1KGloeF4BBJW+7JkacsiRJtAzgSPp5IeTk5it1NpNiECy+KQhINSCEAzZ7wVYMmHp/o1BMQpFs3VBDPmvsAoxeklKfSxnkHXSeNihJt0Nqy/6mYou+r+dGlB5Iy9Rv7Ictfv28YXCc7MQgwAPpSpuOaKCADGbbza7A/hnvw2G7mplSHowCZzGG6FOQSWCruwWwMwIQJISa6NBOfQstXTD9DT+yIm//a1K+fKHNCsYpD+c1TVoUXFoTy3gmlKe4rQlgtyQ1uEF9Z1Ug6Z/y4z40f/s+pnrBuzyGBIRCjwl9/+AphXQKNHEjjxg9OzGTiYXqH4ORXyUr6uGjE+A80sx3ZZ7lf/I7yGuXUEzHWjMFTbrD+FhLeJTPqCWFrAFP5pzYEcE80XBeivurobLcxt5PfjXa1tj/yGBDsg2wZZsh/ew0v6HWdJif5GP09nFmXnBVrcNdaP1vgO7EEvTK0dvyyNurCDbP9LdjKTEK7INB+T/8Myg+mZ1oOyEI+ceaw5QdXIisglA6rqOcDXUwbL/ub94ZEkqREpy30nMTRtAz8YaM705jfwRBV9r0FVM2/x+0xypcdeHg30fnTTEOpJiSHJchBvD48dq66UaiOPk0jaT7i+RVEpZ2iBW51Q1gMXnI5GbTI30FtNraBTryeeVi5MH3NHix5OtHxwmyottGmnw96+5Af30udxQAe3uTzdYNdYPD6x9CBb3aCXQbmiu8udzy9KgNeCOMsPGlhWDXxhU/lyA2a09/SEpePAYCYh4ypOMocqKGdGXD057t7cJNkjU+7pF2tzvLrE5eWSVW2GufFzyfeUoyZcothxyDYLbOi9uvN9OD1Pcyks7iLRWZ2eeDRiIZcgAlc3vr0QhmdrTjSnb1Mm7qdy0f4Ruf2HV4Ksxh5Cy5sBBsFPaHB8f5MrPHl7jJBLbICbsd4fVIkHn8HcMlaJl6X+JSswyvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwPExke", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.output-not-in-ledger", + "aitrust.provenance-envelope" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.runtime-after-output.json b/conformance/vectori/ai-trust/recorded.runtime-after-output.json new file mode 100644 index 0000000..b9ce6e9 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.runtime-after-output.json @@ -0,0 +1,268 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.runtime-after-output", + "artifact": "ai-trust-bundle", + "title": "the runtime record is dated an hour after the output", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "producer": "the host dated its record after the output (statement rehashed)", + "changed": [ + [ + "bundle", + "runtime", + "record", + "statement", + "createdAt" + ], + [ + "bundle", + "runtime", + "record", + "statementHash" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAM549FJ8JaP9xfUWtr8m03ddBI0WBDTNZvgx\ndgFFZD5kVj+eB895lzRDN+naS0PmRsTKjqhH7F2FhissOBbrvvAyfzjqkGCWi3Jm\nqSPM5154djoN6Xh1jLUr0VYk50HGRMOHZfwAhYXoOYHpBswRs35Ld6k4UbsWhBiw\nqR02+xyNFLv5cW9QBBJdZOMh33rpqzNJV7Wwzl33qjpRS2je4VciAivx92ELI/72\nHFMFfVCpWuUl+3PPoFM1YMTsjgaUypYvK2gB3jw2pB3g+/KSRR08zLCD3SILdwYW\nlnp7V+f9ko5IT+1eTDGmZCqGRf2vlMnZiXOO/WqPMryPfC7erVbq8DsQimviURc6\nQxB5TM2+qQRRbB7MWJvkLuc5/2qs0kzHQ+NF57MTNXDsPBOGsSKvvGtwUlqiIYnO\nu2f1yhNni4HNcdC0uy7ohwnJAzxuZKuHQaNeTl9PgPoJ16Uu61ebFE7vOBOCvPvC\n6rtnmx0q8HqwduWfLKRSuUx82a2bZRr5Z31Jg0onLZS57sQzn6P3Q9wXSoq9VOzq\nDdFmg5ydH2h9wFBrw9Lm8hkabPjZt39cI3nGW3sn9NoJuPcFWfRsSTo1ndC25bHF\nPcoBz1WEkfw7hU3uMuhVuO1F2vw1NvFsnozgUXqcdf3KRcRRL/nInYkt+HFC8VDX\ni7q4J8V32EU3jdRvcgXlrf7g0PPkw5nCACpVUwUfb/PXs9+FunlRppR59146Unpm\naQlZgdN/9Ax5dKK7grcp7puz617D7l3wYg8RjNgRloEWkZ2Qt1g8l3MWYftvB3jF\nROC/gz8uPp8hMd7qtBSL9mMKDYvQ7yAdiYkJBzLXAyzKCP5oJkutUQHHqT5tkyrb\n6Qwr5PjFE/j0nbR2agqYLyKW/13dwUXV9GCHT58N5VpsorFds+6eXwd8CwW7zEgc\nXZNEDEUHVbFHKeh5ZLDlrBam1Y7xsLnxV/FSfjD54Wam/cvhcgGrQeUpc9xsoTY8\nm6aBtAPiAJoLAsdGn4shc5HhAXQzt5kD6o0NIKaU/zO3KRHu3580Jz65k9DRycJj\n2qQHR0RWCrsr7fSUaCT/mGCAmULsjJafVYz+VIRQ8RLvTwy9du8c7WCbcPqNo5Ro\nBJVT1Mfdvh78CVTWzjjPOoZiMaUUJdxsqDp0qvi5MrJLiPBYtlibLkSN5/DRqkOZ\nj7VT8wUd1vcCSwVNiRFb9YN/TV+X6cFJJQrlS8nEQm5Sv809036K+kTU2ejcSEnq\nmQgpX/6h01OJ6P19W6gj+eL1tMyrpc5dfPW1Yt+BSz+KPATHWKws+8fzhUuNDRz7\nKlu1cMkQoXiMY43q6ld6hEbOqjA/Pab7rKqm69fNO25ih/+Zujk1KysBOowBbiLo\nuf0lbHRzVPF5qv7pOFto31LSnQpuEoz8UeScjMAYJJ2bf9F/xg4O16Awiv4L4DDP\nN13jZpOHYWJFaZaF4ku39tR7QVFjap8ZKx3lmg2KuxznrEcD6sHAjwZmR1OT24D/\nSM3Bs+kiWEv62Y2zyU7NBnIBdzVju9JeXslna0YlSfm/tOZMIBb7LsDu7gVJC9yG\n5dmruzBO9eHUF4IBAbk9+G9rgrj5f4s166kxLzXx4O8Po+A3FVNqIeLWc/wBgOKw\n72fCdrhQsgomClBaGpSrQZate6uE8xeN1Pudnyj0NsZD51bv8bXd3r/DdfDjtV5I\nXkl36VCqMG7yW3N+k3B4H2SoEkGGQPPgugqj1OgA4UTgh+e3vdXu+SgwBBpXeJWC\n7EEsVL6thDE7riJq2xBHDetfndIUh7C46Munqy4qcaA8tlsuIVL8nTpL/zkAV/Jh\n2NCvtEVc0rv+ix1R8Yzk+i/n1laJingzkR+hWv4kLvb5cA3OzwkAXZ0CBEXbYE2m\ndxiakopyBt4Tt1ALsUD0cpT0El03X/sbMaKygW1RouU3iJOVs2vZOiKfOOq+cXtI\nl4I5VlWDCh/H33jaHYsnX0HMDbNF0R7K7rCWQzAoR7rC4a8EDAvabyR3m4koiatz\nthHUVYMbpUD3m2MBFBBV7WObShXy4xkaJ37+LDQTsJ6MNpiv4Pbi/wrDHiPSNXWl\ne4E8ZzSXGyZJYSKu7jWQUdZR9v7IsykngtEGTR9stWiMlgyPZrTRO35aH3thVWti\nvm6Dgu+/FMSRAcuU0vUuD0UG/q4Wk6o3T4mQsu5DdAvwPc/IdZ/bwow0cWlnbE7H\n/IEGNe5RpI6EPtI189ADE1JTVnNZGGz9Px66bbcjHcG+B8QtLX6OH3IroHo6vfsT\nz3ae6+V9BdmrtKlKoxjAB5MCuZaluafFe2nJHAalS6XRfRD/YRr+8O52kI/h19lm\nWbwzBg0zgUtcpcAxyyVp8fvWznqjizWKIfTTqM1lWWMFVIkA0sIa5cm7I9mjOk6J\nXqwQ1kpDRc7pm4X0r1LE189V0iNpCzaquUMgObXXfnuLeQdM7Nl9iwEhnGLwuK3B\nCk+rsWyw8vOOpk5i7SU5186RsnNJZhtQATeZZnr8v1HYB2rTWzPmM6Kv9ArvbUWX\nzQp/vDDyO6CZV8G9uRVIfMph1dlo+KRB1/bCaOx7VZ4Ychx8R9+0CpwmSj2uJSLb\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T06:17:47.000Z" + }, + "statementHash": "0x91a3a74d0c5a379041a2cc578e9b290cbe203c363f0350a1a2e3054fbaebf7d9" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.runtime-after-output" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.runtime-artifact-mismatch.json b/conformance/vectori/ai-trust/recorded.runtime-artifact-mismatch.json new file mode 100644 index 0000000..934051a --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.runtime-artifact-mismatch.json @@ -0,0 +1,268 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.runtime-artifact-mismatch", + "artifact": "ai-trust-bundle", + "title": "the host declared another artifact running", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "producer": "the host recorded another artifact digest (statement rehashed)", + "changed": [ + [ + "bundle", + "runtime", + "record", + "statement", + "artifactSha256" + ], + [ + "bundle", + "runtime", + "record", + "statementHash" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0xff7a65a7c43bf51e19983e2b2c4abb5a8a1ff03ee8a9765b390d4d0e12606d4b" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.runtime-artifact-mismatch" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.runtime-not-in-audit-log.json b/conformance/vectori/ai-trust/recorded.runtime-not-in-audit-log.json new file mode 100644 index 0000000..4df303e --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.runtime-not-in-audit-log.json @@ -0,0 +1,239 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.runtime-not-in-audit-log", + "artifact": "ai-trust-bundle", + "title": "an audit log that does not hold the runtime record", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "runtime", + "auditLog" + ], + "value": [] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.runtime-not-in-audit-log" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.runtime-record.json b/conformance/vectori/ai-trust/recorded.runtime-record.json new file mode 100644 index 0000000..11faa0e --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.runtime-record.json @@ -0,0 +1,260 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.runtime-record", + "artifact": "ai-trust-bundle", + "title": "the runtime record is an envelope of another kind", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "runtime", + "record", + "kind" + ], + "value": "aere-proof-of-data-attestation" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "wAYJvunP2AyU67KhPyK7hbQfvKsfddNemyvWXw5I8MqOJSwy/ZfDXWQCHRe9GnuAgh6LJUrm3l2KpgAuiezR4HV+Ko9gSz+3KueNl+w5T1xLDJK1rcVvJ88HbxpfizB+eZ2Ch8GjMKUpTaR/PxTud7/QEFCFje/P68AnYKx9N8WOHY5q97CEkH68REriuHqE450MLqngx7X3/hCg1UF1fQadt3G/yjmAn/afGa6q+bipdTaomOq9MhhovrcAUOq/cWYWZMojI4jI8THht377xDJNc+6WC5EqwLwTIoSLb+XaDyPRzSnoZ0QIgy7YK9WZS2R8qHYaHWRbLIX0RgO5lgZN+OT2HUGQEwwjc9oSg0RkryytBld/oNpXupJTsyElDR9Zf+RCBBJt85cBdNA+1EF0ZsFJZTdH+Y+M5GgAaV5sTdmL40mF4ccojbNX+63sBp6n28hnqTVu3YKylzxl1Q5o+gFO6CGodvdCQzhAnTIfeMFS/xd5dNia2n4FRL9IQEE31+K/oqrYDFMP9gdtQRMiz7ttWnAm9n6JsmeViVs+Dqm+sJ2+t2ZRw74JY0IIQN6bTDwxNY/Q9BVxWr5LNpGyf6KeSg0lKnXE5sNc19KDZYRLyy3GLhT0Xd0yoBRoRmE4/OyGsbClvmQidn8oF9WXh6knaQODoqIdEsNjJ2dW0uUS+UjzCDsKkJoqU4O9zWrhozg0ISP6i8SyWwBT/mFYojopucA/vvd6iywsWphtPC9vkwMw86ZEdZjL4vYPye22yIxqVQC02VM7zscC+m+Ij4W7/23RsHlCkmPXdcHuOPslc6OyBxV/cbNIuxT7DX6MbbbmoZHtFjqSBy346/JU1ztZRxDdohg3m82yXokKcVISGSkFHs8kML7QznlkVRUfH7kNHbT0i3miYQDoZsyaiTAWgmInHWR+U02S1azzu4gX9mqZqqX37InTrErnhTR9hTM+bEJcI4jpsL+7ylHBdB0GJjzQP0pSlvBNXyxbq+FmkBprf6QNkPOO2KgBfpLF17oyOiy4LJtGY1HnrCZXeeF6eCuahnPuWqsDbXFz75+lH4EHDJ9uRzE3Lm3oSJH5C7C042ViTk7BG5qnM7+hTHI9lj2tBsJibgfIoO/Md1IkzeFdnzmm5h0fRILSJpg81HHgNYF/9QKPL2UsZNm7Fospy7RMubkog3wW3Vvvr6+Wu66t0LaVB/c1vLwSSOeJOD2FDS6qjKNdSzDTD4an1Txtq+X2nsYhEvdyoq1EakI9cMuUnAnOWxaoC+C17hAJtFiZhFuFBMQvfSot4cP4QTLK4iKsL1uFIWnUyi70zTC2cx2KDTiLBD7Fi84X4v9JknTgVc7n0z7Ojh5LI3RQoslAnyLebLCW221lYcHfWEDIlBtGXGM/0MnYRwrphFGXAYR1i2U8tnoijV2XaHsiicliK0LkBZ0TDy7VsJ8h2bJselRSbaFNQRqdTa951R1LRiuBiM1k2RtG6YmClLVzAu9mGsQrcoC/NXeXlTtcqDLmPlqey9EG+FHqERC5lXRiYaADjEgz24YF12auw45ewLkz2fdSo/yqqYGW4AixwQ6SmtlYzym/g7U4zKw9gyyzOTTwPdDWB3rkTjMgqS1zXF69QJFqdcEhVxrvkTNOo/qJA47DgirhfTlPNHJY1pND96Dihsccmmwwd5iCvSwfuD58om3YBOCUJMMDp6uvc+/kXV556ZayGD0XtTxVGPWoD9yrxIdGGG4ZbsBZ6GGgChNXOWCC2OiJ5mwmukQmWhxLFengWY8VEZnQQRfoDDEe1122FaOgipctuOelON+JKLWQSEAQZN1h9QbIfDYGbn8l+5/1rdo+aXMSx+LxgcdAa2y9MBIqj4M9um+OHzSecn2itZKW8nLebPynFgjAQQItmjmjLUxMmA0W5WvT/pdece/5nuL+Kl6Kv4GOkT/APAll3Zs3u57qFjCjRahQyONDJ15dHp6LLgGRGFToJJbO9tWjqau6BTYo9O4PWyHlU17kapyCKuszPghp7Y60AxMcfkOHREHJEPxwbKiOXlAqy9Y4aMoYdcn3BOk9j8fKnteQAeteftkVp19MfD3uXwazWaepCA7Lixxfxq2hafhFpH2rbOctVc1JE7zLJX/bDLB5KHLUNtV9hdgYq6bY7g9vsXhfn4zXZ5mPFAevKwagUxzWtR5IJxGbrC9mXQ59Oa6aUUUedfGB6kR9P0KiFZfCv8FR6g5Th4EoiZ62S1FaDCn65/yHXsTVJg9YhHgK+D9ezKZqvYqshzCpsm62DU3clvOXjYptzlLztR0jTwpYu1wsoqyeBzBLEyTWZTLAQJ5gi9e2MdBPf562CjiY1+loqlAYCfZDvGIjO3ZsHXIjhu6sAhnSgJlD8Etd8Js1TGHAZoLZCAVfZBXlJygHtmzBDp3c75zc2fGI3AOXwpdHup5qOaz8Spz0VDUG5zNall/rov89NtkdsucRVC31v2zSEG3YZRtgScVDW3RBBOrlAHrORN/DsbWcaL56AvEDb70wAHGFAqiAuc//WwnWSr8cCcA+RKYG4y82EbV/DllNY6i0HwgaChAJdRlpByhl9OOD1fHy3KFaM7sHLnl1wIe5eg0IzD+Z5e72h9sQaMmCtOE/CX6oMfur0C8HFBuXffv7Blu0NwyTJOac1YWdJeYwr7ATbd761nKEzETluuQf/G1x7UVf/SgEUI7ECco0i/IygUFEg2Uu4ZJFuPyjB8oGdGNSo4vVAgwmKQ/sX3PfL/lBgR4rzuao5/lc2Bu1DunvetGoomfFfWvtyYqBL1ao4+bDU1aPAG7q7r4mcxAM15IW192rNPsejDlEbNpyG3/N3hp6QSgyujQ971iGKa943gBu95bxfriA5lh5N19fOAmaFG9MLqYWSN3kzFLmfIQsk22UHseaPAsca3Ey+qULpK4kQC+kjdC53WEdvMUrh43o5ReUqCpBGHQqzSCvf0YlqVUBN6Ph3Nk/tBj/aiI5EIadWUOcrAMWn7XfdabVXonzF5xGm6FimDBq3rHIhtX/vtEmrJHqFeF8wKhBbGzNGRUB1NmJ284VSiB1+v/WttnJql94Q0VLC6ulrnkSJ3JP8ntKuYTnrf4EB07ewjt1M0Cp9B9OTEiVnURgU6DhPkIuZcytMJMqff/U3AmbskOdvPXOfeH9b4si+kfHYrdrpNBVjJ58aoASe73O9zJ7HcTjrLGMxHl8WbyYK9V4Gc7ky0rVOG6oGRtl3UyRLIRSGkdQ27cnkyryBUPnOAgiJdYc2RS3KAtPb4UwwzpnNlTkaG4iVGYFXh1lKd8XeIOAPHfwoR6vIJp/NaG/WRlubyf/sr2lHe2oibsAgK9Im3iOr6FMC1SLjLRwKbl56VrnnYp4MHaf0Ee5nchxdzvSlNbEmDyWDPGKF4+D1KGloeF4BBJW+7JkacsiRJtAzgSPp5IeTk5it1NpNiECy+KQhINSCEAzZ7wVYMmHp/o1BMQpFs3VBDPmvsAoxeklKfSxnkHXSeNihJt0Nqy/6mYou+r+dGlB5Iy9Rv7Ictfv28YXCc7MQgwAPpSpuOaKCADGbbza7A/hnvw2G7mplSHowCZzGG6FOQSWCruwWwMwIQJISa6NBOfQstXTD9DT+yIm//a1K+fKHNCsYpD+c1TVoUXFoTy3gmlKe4rQlgtyQ1uEF9Z1Ug6Z/y4z40f/s+pnrBuzyGBIRCjwl9/+AphXQKNHEjjxg9OzGTiYXqH4ORXyUr6uGjE+A80sx3ZZ7lf/I7yGuXUEzHWjMFTbrD+FhLeJTPqCWFrAFP5pzYEcE80XBeivurobLcxt5PfjXa1tj/yGBDsg2wZZsh/ew0v6HWdJif5GP09nFmXnBVrcNdaP1vgO7EEvTK0dvyyNurCDbP9LdjKTEK7INB+T/8Myg+mZ1oOyEI+ceaw5QdXIisglA6rqOcDXUwbL/ub94ZEkqREpy30nMTRtAz8YaM705jfwRBV9r0FVM2/x+0xypcdeHg30fnTTEOpJiSHJchBvD48dq66UaiOPk0jaT7i+RVEpZ2iBW51Q1gMXnI5GbTI30FtNraBTryeeVi5MH3NHix5OtHxwmyottGmnw96+5Af30udxQAe3uTzdYNdYPD6x9CBb3aCXQbmiu8udzy9KgNeCOMsPGlhWDXxhU/lyA2a09/SEpePAYCYh4ypOMocqKGdGXD057t7cJNkjU+7pF2tzvLrE5eWSVW2GufFzyfeUoyZcothxyDYLbOi9uvN9OD1Pcyks7iLRWZ2eeDRiIZcgAlc3vr0QhmdrTjSnb1Mm7qdy0f4Ruf2HV4Ksxh5Cy5sBBsFPaHB8f5MrPHl7jJBLbICbsd4fVIkHn8HcMlaJl6X+JSswyvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgwPExke", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.runtime-record" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.version-artifact-mismatch.json b/conformance/vectori/ai-trust/recorded.version-artifact-mismatch.json new file mode 100644 index 0000000..d108c7d --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.version-artifact-mismatch.json @@ -0,0 +1,270 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.version-artifact-mismatch", + "artifact": "ai-trust-bundle", + "title": "the attestation covers another artifact than the weights the output names", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "producer": "the attester attested another artifact digest (statement rehashed)", + "changed": [ + [ + "bundle", + "version", + "attestation", + "statement", + "artifacts", + 0, + "sha256" + ], + [ + "bundle", + "version", + "attestation", + "statementHash" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xabababababababababababababababababababababababababababababababab", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x59a3a39525e8a65cfc992f857c6c5e92efa2d5456c0beabb3df91bb96360411c", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.version-artifact-mismatch" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.version-attestation.json b/conformance/vectori/ai-trust/recorded.version-attestation.json new file mode 100644 index 0000000..a856487 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.version-attestation.json @@ -0,0 +1,263 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.version-attestation", + "artifact": "ai-trust-bundle", + "title": "the model attestation changed after it was hashed", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "op": "set", + "path": [ + "bundle", + "version", + "attestation", + "statement", + "artifacts", + 0, + "sha256" + ], + "value": "0xefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef" + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAM549FJ8JaP9xfUWtr8m03ddBI0WBDTNZvgx\ndgFFZD5kVj+eB895lzRDN+naS0PmRsTKjqhH7F2FhissOBbrvvAyfzjqkGCWi3Jm\nqSPM5154djoN6Xh1jLUr0VYk50HGRMOHZfwAhYXoOYHpBswRs35Ld6k4UbsWhBiw\nqR02+xyNFLv5cW9QBBJdZOMh33rpqzNJV7Wwzl33qjpRS2je4VciAivx92ELI/72\nHFMFfVCpWuUl+3PPoFM1YMTsjgaUypYvK2gB3jw2pB3g+/KSRR08zLCD3SILdwYW\nlnp7V+f9ko5IT+1eTDGmZCqGRf2vlMnZiXOO/WqPMryPfC7erVbq8DsQimviURc6\nQxB5TM2+qQRRbB7MWJvkLuc5/2qs0kzHQ+NF57MTNXDsPBOGsSKvvGtwUlqiIYnO\nu2f1yhNni4HNcdC0uy7ohwnJAzxuZKuHQaNeTl9PgPoJ16Uu61ebFE7vOBOCvPvC\n6rtnmx0q8HqwduWfLKRSuUx82a2bZRr5Z31Jg0onLZS57sQzn6P3Q9wXSoq9VOzq\nDdFmg5ydH2h9wFBrw9Lm8hkabPjZt39cI3nGW3sn9NoJuPcFWfRsSTo1ndC25bHF\nPcoBz1WEkfw7hU3uMuhVuO1F2vw1NvFsnozgUXqcdf3KRcRRL/nInYkt+HFC8VDX\ni7q4J8V32EU3jdRvcgXlrf7g0PPkw5nCACpVUwUfb/PXs9+FunlRppR59146Unpm\naQlZgdN/9Ax5dKK7grcp7puz617D7l3wYg8RjNgRloEWkZ2Qt1g8l3MWYftvB3jF\nROC/gz8uPp8hMd7qtBSL9mMKDYvQ7yAdiYkJBzLXAyzKCP5oJkutUQHHqT5tkyrb\n6Qwr5PjFE/j0nbR2agqYLyKW/13dwUXV9GCHT58N5VpsorFds+6eXwd8CwW7zEgc\nXZNEDEUHVbFHKeh5ZLDlrBam1Y7xsLnxV/FSfjD54Wam/cvhcgGrQeUpc9xsoTY8\nm6aBtAPiAJoLAsdGn4shc5HhAXQzt5kD6o0NIKaU/zO3KRHu3580Jz65k9DRycJj\n2qQHR0RWCrsr7fSUaCT/mGCAmULsjJafVYz+VIRQ8RLvTwy9du8c7WCbcPqNo5Ro\nBJVT1Mfdvh78CVTWzjjPOoZiMaUUJdxsqDp0qvi5MrJLiPBYtlibLkSN5/DRqkOZ\nj7VT8wUd1vcCSwVNiRFb9YN/TV+X6cFJJQrlS8nEQm5Sv809036K+kTU2ejcSEnq\nmQgpX/6h01OJ6P19W6gj+eL1tMyrpc5dfPW1Yt+BSz+KPATHWKws+8fzhUuNDRz7\nKlu1cMkQoXiMY43q6ld6hEbOqjA/Pab7rKqm69fNO25ih/+Zujk1KysBOowBbiLo\nuf0lbHRzVPF5qv7pOFto31LSnQpuEoz8UeScjMAYJJ2bf9F/xg4O16Awiv4L4DDP\nN13jZpOHYWJFaZaF4ku39tR7QVFjap8ZKx3lmg2KuxznrEcD6sHAjwZmR1OT24D/\nSM3Bs+kiWEv62Y2zyU7NBnIBdzVju9JeXslna0YlSfm/tOZMIBb7LsDu7gVJC9yG\n5dmruzBO9eHUF4IBAbk9+G9rgrj5f4s166kxLzXx4O8Po+A3FVNqIeLWc/wBgOKw\n72fCdrhQsgomClBaGpSrQZate6uE8xeN1Pudnyj0NsZD51bv8bXd3r/DdfDjtV5I\nXkl36VCqMG7yW3N+k3B4H2SoEkGGQPPgugqj1OgA4UTgh+e3vdXu+SgwBBpXeJWC\n7EEsVL6thDE7riJq2xBHDetfndIUh7C46Munqy4qcaA8tlsuIVL8nTpL/zkAV/Jh\n2NCvtEVc0rv+ix1R8Yzk+i/n1laJingzkR+hWv4kLvb5cA3OzwkAXZ0CBEXbYE2m\ndxiakopyBt4Tt1ALsUD0cpT0El03X/sbMaKygW1RouU3iJOVs2vZOiKfOOq+cXtI\nl4I5VlWDCh/H33jaHYsnX0HMDbNF0R7K7rCWQzAoR7rC4a8EDAvabyR3m4koiatz\nthHUVYMbpUD3m2MBFBBV7WObShXy4xkaJ37+LDQTsJ6MNpiv4Pbi/wrDHiPSNXWl\ne4E8ZzSXGyZJYSKu7jWQUdZR9v7IsykngtEGTR9stWiMlgyPZrTRO35aH3thVWti\nvm6Dgu+/FMSRAcuU0vUuD0UG/q4Wk6o3T4mQsu5DdAvwPc/IdZ/bwow0cWlnbE7H\n/IEGNe5RpI6EPtI189ADE1JTVnNZGGz9Px66bbcjHcG+B8QtLX6OH3IroHo6vfsT\nz3ae6+V9BdmrtKlKoxjAB5MCuZaluafFe2nJHAalS6XRfRD/YRr+8O52kI/h19lm\nWbwzBg0zgUtcpcAxyyVp8fvWznqjizWKIfTTqM1lWWMFVIkA0sIa5cm7I9mjOk6J\nXqwQ1kpDRc7pm4X0r1LE189V0iNpCzaquUMgObXXfnuLeQdM7Nl9iwEhnGLwuK3B\nCk+rsWyw8vOOpk5i7SU5186RsnNJZhtQATeZZnr8v1HYB2rTWzPmM6Kv9ArvbUWX\nzQp/vDDyO6CZV8G9uRVIfMph1dlo+KRB1/bCaOx7VZ4Ychx8R9+0CpwmSj2uJSLb\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.version-attestation" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/ai-trust/recorded.version-label-mismatch.json b/conformance/vectori/ai-trust/recorded.version-label-mismatch.json new file mode 100644 index 0000000..e806de5 --- /dev/null +++ b/conformance/vectori/ai-trust/recorded.version-label-mismatch.json @@ -0,0 +1,269 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "ai-trust/recorded.version-label-mismatch", + "artifact": "ai-trust-bundle", + "title": "the attestation names another model version than the output", + "source": "derived from ai-trust/recorded.partial", + "requires": [], + "exercises": [ + "aitrust.action-refused", + "aitrust.audit-head", + "aitrust.audit-log-broken", + "aitrust.form", + "aitrust.identity-key", + "aitrust.identity-mismatch", + "aitrust.ledger-invalid", + "aitrust.ledger-time-mismatch", + "aitrust.output-not-in-ledger", + "aitrust.policy", + "aitrust.policy-hash", + "aitrust.provenance-envelope", + "aitrust.runtime-after-output", + "aitrust.runtime-artifact-mismatch", + "aitrust.runtime-not-in-audit-log", + "aitrust.runtime-record", + "aitrust.version-artifact-mismatch", + "aitrust.version-attestation", + "aitrust.version-label-mismatch" + ], + "base": "ai-trust/recorded.partial", + "mutation": { + "producer": "the attester attested another version label (statement rehashed)", + "changed": [ + [ + "bundle", + "version", + "attestation", + "statement", + "subject", + "version" + ], + [ + "bundle", + "version", + "attestation", + "statementHash" + ] + ] + }, + "input": { + "bundle": { + "format": "aere-ai-trust-chain-1", + "createdAt": "2026-10-02T05:18:59.202Z", + "identity": { + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n" + }, + "permissions": { + "policy": { + "v": 1, + "kind": "aere-agent-policy", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "spend": null, + "tools": [ + "model:aere-model-proba" + ], + "recipients": null + }, + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "ledger": { + "version": "aere-agent-ledger/2 (2026-09-29)", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\n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\nr4bN7MGD\n-----END PUBLIC KEY-----\n", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "entries": [ + { + "seq": 0, + "prev": "0000000000000000000000000000000000000000000000000000000000000000", + "body": { + "v": 2, + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "at": 1790918267, + "action": { + "kind": "tool", + "tool": "model:aere-model-proba", + "args": { + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93" + }, + "at": 1790918267 + }, + "decision": { + "allowed": true, + "reason": "tool allowed" + }, + "provenance": "b31b4582c8ee4caab3587b80378f8e7ef0345328b9616b046b5ac0c7af35bcee", + "seq": 0 + }, + "signature": "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", + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb" + } + ] + }, + "revocations": [] + }, + "provenance": { + "proofOfAi": { + "v": 1, + "kind": "aere-proof-of-ai-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-ai", + "model": { + "name": "aere-model-proba", + "version": "1.0.0", + "weightsSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b" + }, + "promptHash": "0x1ed19f00c605cc860b3f375197b2c94d03d99a81c15d949294f8417d9edd1f93", + "inputHash": "0x101246d82b1883367c721f286b66a06272464e9de4a6b3c76818ea4f22dad2cb", + "outputHash": "0xd49920d0712d4c9ead9845329b4c921c5423fa71330c464363690d352b273e3c", + "tools": [ + "model:aere-model-proba" + ], + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "requesterHash": "0x9bba5c53a0545e0c80184b946153c9f58387e3bd1d4ee35740f29ac2e718b019", + "createdAt": "2026-10-02T05:17:47.000Z" + }, + "statementHash": "0xbf61d868ca971d865fd0ee807439b77f2456ef7a4cd0b56e6abf4bdb4185c196" + } + }, + "version": { + "attestation": { + "v": 1, + "kind": "aere-proof-of-software-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-software", + "tool": "aere-proof-of-software/1.5.0", + "subject": { + "name": "aere-model-proba", + "version": "1.0.0-other" + }, + "artifacts": [ + { + "name": "model-weights.bin", + "sha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "bytes": 4096 + } + ], + "sbom": null, + "source": null, + "builder": { + "platform": "win32/x64", + "node": "v24.14.1" + }, + "createdAt": "2026-10-02T05:18:47.385Z" + }, + "statementHash": "0x8b1f269b6d142c50f3b142b0ed679cfa677bab95026d9cbd5da9ed47cd6586c7", + "signature": { + "v": 1, + "kind": "aere-hybrid-signature", + "alg": "secp256k1+ml-dsa-65", + "hash": "sha256", + "messageHash": "0x2054e2817854b8b600079cde2041b07f459b332784a56dfc744ea09f041507c7", + "toSign": "0xf29da105e3cb554c05d79eeb5b710ac763cf91b7cbd7ab719cf35ea0bb812a70", + "classicalPublicKey": "0x02fb216d6425b1639575de6b318a2208735e855017d69e2d0ce8b19651adc0b4a3", + "classicalSignature": "0x2f97f740add016e61a5a4bd25221922beb3cf00ca2660506a865a4cc5a91538175dcf4c1cf9162f3bd78b0b84fd4f9f8d2817c9cc4a80d8026991003441dcf94", + "pqPublicKey": "0x72b4db6f419f2ae35f60b12d22252ddc49f5746d5187a91a27f1553043324844cef20b04a78d2612e77e2c4663215851e34b5a9142bafa9f459eae8795d2ca7b103c956ae1e6b87547b32fcd0e741daef9f4dd878a1a2ecb04624d499900b9718eb5b91d1d295f53e8ee793e21962fcd13eada511cb75fe5c42d3a1d72ea1ba99d727f26502b3259b9d8c29d487b47f3dc9711adc425897c01be4f20c01d99da3b36bffa28ef5dec0984b052cbb1db728686669313e02e42c3b844a2eba0bbbca79faaccab686014c8bfebaf37b1ee2285db9111be069d858ca5e14198c42067380add6f282a4b4701a1390f7ca5b69e62817f41c44961a70496ed1b8fb4283d4f05d59e8ce0293237d115e1269d3b73815b7bc67d52e7c55a550722eba20ee63c4c04256080c915f9a4f7e0e0a790322b371e50c9992deeb22a329e25986fd2ecd61125465f04d23f9a13aa786e453d932d0339bf3f0951d652d1d652de4b2ac3aed28d22a36371a65a27ad254f9435519c15e4b63a28b1f73eb4810cbf83a575d23aae1470c6ccb37b1095033d06ce050a200aead03bd5b36157755cfb33ee104bea6e1118ad730f817038f0abd78b460b922f6ff508f0ec84035988bdc3de5c7b5e3f29986d750ae9c07dd74aae47b48cd9c2cd875d0a9d36b0caa857ad3e74928fd6ecc57fc3a98edc9aa68fcf902f8b6d28b631b79f7cd24efb0f351072027d0bcd0018f93d84e7460e42e6cd1d7b9f4859b8030dd55774271bfccd38372db7a8181ca60a14d1f998e7ee2e190a0bd95a3251712460adc915175dce10c3399df069c05f74a7ae1d6e009bff2810598506d09df508517a0c800f135b3a06d96c7a2bd94c77aa44d6e5d7f74768cf6730f046b8ecf60ef499738e7acd676d6122968cd18956185dbdd965ed199650de4fc5bf96a2cd5f0bd1e0e721223d4def12241714961c806c131b283d0697ca4966d4460e5eeb0a92b3373a8efba2ed303db7f107c597cfa97c1ce0535a4278e09dd365c82e8587573c94eb3a66c057a5ed2751dfc4f9c68823992aed6543e4abb25b6ba423b5bc423cd1068be6149467ef03a3d156c0838aa6584c07620a7d9a0b9c2c3bc4365873e3051009d8e0b3159c9eb437d13c757eb3f77ed2e82eb1fbc2530ffe09d0e57d4f3c720f46517512a12a2fe7185f3d7ad4416ff1f115c39e6da0653850f285294d8175f2f13964c8e03086d8cdedfd264b12dceb3a7695781bfb1a9102cb9abf1a367abfcf3024e923eba458bbc72e5928bd71d4afa1768698617c552ba034c5deee00e76f7af3d9a8e06b2c60e4562a83dec816ce902bcc70a7cd6b35d7ddc68d4e322a215ecf0df3930107a2c7cd334a2ea14e7ebe73b685973998852ee4f7d6781fbe49fa3a27353b15a0380db2f3252f2c57de907b2454211dc7a6d364429c0737a05c53911f7d8af8852e1a289f02229ad2906d1758a65002fc0d31e2f46b177297bbedaa8d00d74f66a6689d958adb5aa2f816f7f785d1b0037303ba4d9c14eb358465d3c280a078af64df6bd5dfb5d61c4cad4ed1be8eb42589e6854f23a8f9d58825438001cfded789076fd108e7aecc6f334beb1b0cad4d091bc09c69ed312bf1abd55666b9e6e7fce1b308539a8f3ae4c59cd706fad2c2c533892028a105c266ae0ed1da5f96e1aa6a95f3b88f9a5a141d6c2c7d0fa89f0fd4c2da1e96cc9cd9a53135abb1f2aeb1fff061664e5c22338272c3d8e66b67cec4de3ccda1baabcd1639dc188d914cce1eac8c81989477de3cb5a31a38ac8276ffe5ca3f1aa91db55fd3da2a1e679735ade7f542bf5d9f6277b9ef34f7176bdd6713e2fe2b7b8d58bbd4a59f7c7a20936b54b9ea720a3d3f0bfb6cfd7d67520157d865e51fe2e9bbe53717b4e429198459fa2c4f6aa1ee95eaf2a52841df1bee67481871757864466832c4ecfa2e52efbd62371d4756b940abc396f1d15efcf0eb74e82469496d39d56b3db071bf5ae517a2699db269c18f703aa461f08cf7166497eca142c6ec64013381cdaff628e540f384f416d0707bc372de592dbf9365676f747a3a0410627e6fc135f595012c5409ab002160eb61d3b9fafd044f16e05e583341bf672b5c62ab4747a2c9ac9d4637c6e35cf8308d50958ca329da06d2e2b761efa916cf79b57b2d9017d2f4e434b0420989f4742aaa44006a9cab3c7e78144d26f73b5f2a3b72853bf5163d90e53ab59e7692a642ace65e24013d568248cf3a4a1b2fdb2fc5b9c8f2633ae625ff05d2a95f59dfbab30a07000fed589e81d5c9570ec00e2c710a5f6c2fef9a41e833b314366bd8d40c2838c46a2554bfcbbccd244a97df36020989d79769bebc0121764a1a2a9e148815fa724776daeb1e09dc60305df192870c7d30f37c07529fad5340b00c31207fe3ccc2bf988cef1626195ea50c9edcf533ab3ae6cf6c3dfb06e021936319bee8d95555bbee413fbd923990d77877de4eb310b7e4fe448202e0ac532b24db5da05f404a61b885a12d9701db80facf42beaa06dfbe2fbd44d86ae772cb34595b21d4fdae659a61344b38decd2c949a837923fd7708c14236210abed998b06e013163a1c505f6fa0d3d883277c19d7eacb199bb81ceccab2c1c984fae7c408238f54d03dff3c27db2b44c02d3a96a0cc880c4e54321af7b8ea7b787b3657a3a8b40d851614f1ab9dcff17b561303181eb1a03d879977eecd0b2d8dfe519d8fc31c746294ad979689102818084732b7d37c1a1", + "pqSignature": "0x7a0f9915556471cc7b2719794367459c24f3b00329d43be64d57f9bedca5cda49ae10b45f36de74799d78e20215765615410be1b5373f740b2311ae26ecec0286ef62c84bcb6d3f3e228f1f4914dfb4d0454aafc09c27f95b8d44c4906523e11ca484f97af0d0060cf3470141b887b0c24186e1dd9973779de79ec9c28f47ca370cb4726a5577b55e548f5f99812c29efba78160dcc7444d268fa41ed2499ca787dff8587868b13aa95d6b3ff48d74dcfd8a81d78c21a012cb2a9e79505f4653a5d604c3e48998a73a979bfd4b3da266844905abfa74b5525c32f46d08aa88489c3f84fb2b3fc9bf6a95a5b3ad61719f027abcfa55b6f9b17a49db540b44fe4cf4a9f46e275e218da4d456e64cfff8cc40a893e5c312cf9d7f91cbfbced1f8d1d5f732a3dce8e045dd3fac19a3f009050a59ccf5ae0fea669f40f2115d1089e78b30fa21cd457f9d5008f4803074da5724e5d7e888706d8d8e638f1552c6d93d5b1ede02f603b1d7a4c25d980e88ea3d1183fcd4af233ad51ad42ac20eceb2e579a28eb31ef43cb3ef37433e645c2621380a0fd731065f36fadb53850e7708bcc4bb700eadedbf2665dbfeb7fa6f182db18058b3887dc78cbde72cfea5e0fbc69571fdb4f1a81e83f601fc11f34b2378dd7a5d39325654fd202b890adf8b172e997a575a07454f95a7612b026e93c223b2aba2ea88d491a8cb5701b3688a46696b994b3ad665771c208be8d58646f28be2aaaadfb4c577dd7dde53620aab4d19676f5bee1634bd658af388f7b1b20e5fe0fca241395b14adfca0254f936c1807e9032af3718d4490b6d54beaea77f5e78b0509f15a659cbc5cfd84970fbd02d6342ed4047abe21a030af11558566b830f13540ff68f36bc85868ec33e86022e8fd5f8512386ae17d7bbd4d27c27ab2fe9ed160e802fa36db6d5f2e84a02b3c874cef27c2aae972406a79de6763ce5d04fbdf7712da16ecf5c20427fe5bee1be3d70ec276af0ef43c7fe13c64b5531ad79e556cc4bf1d64b74e5f87d3d05c04fd17f8e5a6d6b29277778a73c7c42e9d0ce73e8dc3fc865ace955b6d9f694ae4c3a7e051e9ab68c7b91e5214d71fdd1956ea2fe8136f40e0a2849d222014c14c22b83f1cc4a2deb00904ddb6483a278f8d8e8a8edd3d12451da4098a44d8e4c79155d8818895478d3ee7a0857b2971a56266265f6b38b5affb9d878c75ecb7c4541ac7c9bb01d8030c9b057ad3ed5877137c34fbcb23cce4c7bca5aa7ce10ac3a92416b972dea33c21cc49439f2b50650576fd3bca128da6053c5f5703d7107106e05a87e97a08a03cf28ea81dcbd713e71f0ef4b4285ec88029f8937e84607598e45a518d5bb95ba47a9e48ac0139fc76c7f6d9f0134c86749c5458ed59cebbe2fbad50a60a890eec6b3ab449eb17e2d02a3308633a9310f9aa25c54bb181bb298d25367851794dad6c4c25efe8598b1e718371d16e9b89a23b8ba8f31b2da54ae7f9cdfde9328e045f85a395950d24a4d48841d317564d9c06df9a70e95efae8f218c3b63ce42510caa93605b0e63b7434b1eb96db22df88fccb40da7652382ab0f24eec598d96b0915acfaaa0a6be242da6bc242f934920de333251e1a1c217734435879e24271fcd162e317a6f926434ed2a121793eb704c208fcfe0cc165d5a00e81a526cb25dbc0e65984bd74ec6a94911ca94e1903abc638879ed006928a47f36dcfcef6857e938c65906f2d6949208ebbfd351c3142d47f8ccf31b988a6735df449e30c38788c55fa274a59cb045cd99592ea4c9e17f175db2d84e9582dd40cbd81ef7ca510eed3b40da7ce62a2269bfbd3a9d3ff6dd379dcd73eccffcb1061d038b3e9807002e51cb32d912f8e7e3d5b9dc050584c2f61e8257daa0abc88c732ac8cd0081cf14f9f21041e4bd593d0b13d63aa5d1af95c8a421303d5b89b5af1c8d3b274f188b0530a398f09fd2048852295b115a0bd58c0c996cfb62dd8874566e5e3c252743a842111d3adc3d49d9c3d381fc0ecccc19e8429d96f02244c79be7171bda8ed836331657794beba1f863c0818eb8468e4e0864fd17b2ec4c910df9e016e75e589881684bbd5aedb309ca0e67d4f5902201625b6407eae56599c61c4c18fda2f1debff684ffb26e0a88808891a09943bc96a93ce540dfceed9969af0316beeb75084a790e69be50a046daa03ffdf69f05ed07296da1325293341d987d455eb60b2067dc4e264b4bf7fa47e7f081cb10e97f13d5f3ecae20812ac4f6c83f15dffb4d011335073fb6bf3c936d27dc6c789b6f4c3881f88365b402cf110eb20d664ed5fa66e8d520113e1b320f17068017694cd6cd85ad6075d6aa9e95f8a9b5aef03295425a2ffeeb852458f26536597da2b003824011054662896649496305f0c1e99f1c08948c70c7083dabacb94d57c587906c15cd03e52916a235fd515ba5ad325e8290148926aec6a40a6b132c2de7f02b81527fadb8de5bd4390e83fe36e0f09b7072380cf05d93508c877ea95760d405e925ac54ba239140f74edc4debd28bc6eb20d310153a17baac946db25776dafe491bac594d1732a5c339e0a0e2a2bed5e77fb536807ace1abf2d60cc005ac0a8927f3824e58a33730b5b3c144788d1c3b89f2296dbb2bbca4f9150b3b13652f0d170017e312f995d86c717782f0120a8d31df1c9da16a8dff419676e91ea5bc22065e30a9794657fc2f107f4cda2af965dea3bf40f06fc9d2e97a9f3d825ff58696e9209ecbb773ccee9c284c839bbeb5f2d10a2284c17b4cc1c3c9160a73bef0fe1ce38d93218237653f14c3a761c491162a2a3351fde6068e5d94f35f7effed952f2a9cdba13cb1894154ae22ee59ed584eebf0898bc01d8d67de0d02a4e8a3507c36e1ba3f0e2014b9d707a5862dd44af253ecb3b26f79c0e8be04ca65fccf6351633618c43cf1e857e3e846e4479c6b49029e86d152d70b190bb3f2cb870526020f1f326d128cfe6dfe3912172f5db6347181b0b0a7ec1d9ae62cdbd04aaa8d98f5c59fc6c81f9cba363eb3f0d4fcf1139406173c065aebb77ab06862a1cf989c6e7e01f3e0686cf0ab683e5e5c5fd28c35a631b60655764efd1c4900e0ce154bfca4d2da9c2c0fbf1e9b3d3a8c631873789ae0828e227d872a501b63f83b8a9717d3954bc69262423046fc6a711cacab0df12fb5ddfb3f5579fd6c9949ce6b63f209bdcb669ae73d9f8f09f314029d76b223bd15e0120b6d14e26b8a5c74f69fe8908d51a0958a4d3692d95459d5384c773a21880eb6d4dc90fcab84b62b2cc66deade1b1a26e8d239c94e75781ee5e866181b2579a9b16186e67079bc35ed2bdb6c57e82e578fe3b37ad7f7983d47a49a5f0f82240fe92afdc5a7d17fe9062fe3454946952765b1cf8337691d715a9b4ce5c78be8fb0179eae49ea9fc488308d549bacd1b0d0577a2032117f02c62f12c3db1b67f8e0b0dc53eaa182676540f785267d44253acf60abd0be18b91972815b7aa80be6e20789dad365ba0a610050f081aebc1b20d80b3aa532be0b2dbbffe32359bf0cf7a97ecd0054d986a03dcdf3e8fe9b796077c6d12ece9312fb4fa38b57998ea31f2d78851520a85779ed9cf5712c7278ee9d2be1f8d8e3759cd1a49143e90edc9a6dc7fcc7d7693733693df0649a67758c55bd0acf3368534d84efdf560e8221edcee71591ea8c203146cc9d8aaf97b0b756ff54b7f826775638f3b6a2d65a99d5f27a3acd503d3a19ac732092c7d73d4dca4bf7ac546e5ffab1304f77e6d6724aade54eeaaa920eaaceacd1b78d70b787773ef4b7448cbcc485b55fadd1ca22430a824360da74d910d09aa130e1565673b1532d0231ecbaf7d3ca79ab464dea076b5dcd29b6bb9acee554788c0c8d82d145b78fe6dbafbfff729273aa7f943d6c49b7f77f0b214cb35a203598366fb8ed9e6a9e1da7203beca6b86286aab0e0608199c00c466c2ca247b7d3bf5c5255485a6507ee3959bdbefd95f98d00966925eeca3e738f6b8469c6c73a112a6fa28d448b1cc2287ea7afcc5277d417285f14eecdc9e3e5ba82215dec3f8ec22b65f8672f22385b41fcb89a96dcfcb18800b2b1461f39986eab15a8caa5a954f2ec19dd9e6d505b4fbc87478bb2178231cc214175036245f8cea200415a36b29b0bf0171840b838dde166d21bf1abe6cb45ae1d7a3c5c4831e7dd1e2c02e9cc67d5648a18330c841f00b3d9102e219e39929a300810e33e2bf0fb83949d6c220ad34b50931864810b41576f11e0c303cfb6f8a29e1429f20356f82d094714df497bc8878a8a2f965f9cc40c13c21fd7d880b7f13cbd29b894db469b5a1711b039ac1eec76a72763170c40e90e78623f73dbcba9b000c280092a8b8f6d98954c70c96f00f31ed69c47d0682cccfa6d9b11709f43573ebe9e3b54277eb961b52c5768ac4b53253021af69a646e71135eaef611e6df5a9c2f775b3f67a405b3d810eb4c1f136644105a552326e891db73149822731fcf45c37bf273449652b7c597706dbcd9f518d07c5c67b12fb5d6ba65240e7d6b07d2a70377a9dea017d518d809db75311cb410f0d518ad95c7a4d78a0bb0942ccd63b407f8699eff2175e829dd6177ce3e7fd617eabf1000000000000000000000000000000000000000000000000000004080f14191d" + }, + "notarization": null + }, + "artifactName": null + }, + "runtime": { + "record": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "auditLog": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-runtime-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-runtime", + "artifactSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "attestedSha256": "0xd0ce419be4152cc92aaf23799d6551044e286057bf9583032e4277317c742d1b", + "host": "lab-probe", + "matches": true, + "createdAt": "2026-10-02T05:16:47.000Z" + }, + "statementHash": "0x43be8a42d60c487d5f31d4d45f05122aaab8aad7ef851e8a3df32d8469dc9fd8" + }, + "hash": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "lab-probe", + "count": 1, + "head": "0x191e053dd8a9362c1f7be1f9fd2ec91a6a3b39c49d1255e01c55f21f14ba52d5", + "createdAt": "2026-10-02T05:18:47.712Z" + }, + "statementHash": "0x3df17b7cdc1197d45291c50b27ffe66c9b7317d66c7fa94589673886d07605fa" + } + }, + "witness": { + "heads": [ + { + "v": 1, + "kind": "aere-agent-ledger-head-attestation", + "statement": { + "v": 1, + "kind": "aere-agent-ledger-head", + "agentId": "aere-agent:965ac8dd3578bd4c32289394319a516b5f513947", + "session": "08bdf8fc04fba02a829bc11220a86e40", + "policyHash": "0x5040392a96c4f93295031ecc408d40b2ab717df5d6a8031d915377900bf06b76", + "seq": 0, + "hash": "bd9095330bb9b9bec67463d842b9eaec595f108ec221bcfff3cf14104a0e4dcb", + "createdAt": "2026-10-02T05:18:52.410Z" + }, + "statementHash": "0x596f0fbc420a50a9289332a2c28a379f66b8a2d58fe4e5a458a98fb16db61e1a", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790918334, + "txHash": "0x03a9151c4e6257f40548bb57b9173cc45677529302ce8666390f386e5100e9ca", + "block": 4383359 + } + } + ], + "chainId": 28001 + } + }, + "chain": 28001 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "aitrust.version-label-mismatch" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-consistency/four-to-six.consistency-end.json b/conformance/vectori/audit-consistency/four-to-six.consistency-end.json new file mode 100644 index 0000000..81acc30 --- /dev/null +++ b/conformance/vectori/audit-consistency/four-to-six.consistency-end.json @@ -0,0 +1,77 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-consistency/four-to-six.consistency-end", + "artifact": "audit-consistency", + "title": "the proof ends at another root than the new head", + "source": "derived from audit-consistency/four-to-six.valid", + "requires": [], + "exercises": [ + "audittree.consistency", + "audittree.consistency-end", + "audittree.consistency-start", + "audittree.head-form", + "audittree.head-hash", + "audittree.proof-form" + ], + "base": "audit-consistency/four-to-six.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "secondRoot" + ], + "value": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019a0" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-consistency-proof", + "firstSize": 4, + "secondSize": 6, + "firstRoot": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "secondRoot": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019a0", + "path": [ + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ] + }, + "older": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + }, + "newer": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.consistency-end" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-consistency/four-to-six.consistency-start.json b/conformance/vectori/audit-consistency/four-to-six.consistency-start.json new file mode 100644 index 0000000..e76877a --- /dev/null +++ b/conformance/vectori/audit-consistency/four-to-six.consistency-start.json @@ -0,0 +1,77 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-consistency/four-to-six.consistency-start", + "artifact": "audit-consistency", + "title": "the proof starts at another root than the old head", + "source": "derived from audit-consistency/four-to-six.valid", + "requires": [], + "exercises": [ + "audittree.consistency", + "audittree.consistency-end", + "audittree.consistency-start", + "audittree.head-form", + "audittree.head-hash", + "audittree.proof-form" + ], + "base": "audit-consistency/four-to-six.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "firstRoot" + ], + "value": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf0" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-consistency-proof", + "firstSize": 4, + "secondSize": 6, + "firstRoot": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf0", + "secondRoot": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "path": [ + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ] + }, + "older": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + }, + "newer": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.consistency-start" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-consistency/four-to-six.consistency.json b/conformance/vectori/audit-consistency/four-to-six.consistency.json new file mode 100644 index 0000000..b119e0f --- /dev/null +++ b/conformance/vectori/audit-consistency/four-to-six.consistency.json @@ -0,0 +1,78 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-consistency/four-to-six.consistency", + "artifact": "audit-consistency", + "title": "one hash of the consistency path changed", + "source": "derived from audit-consistency/four-to-six.valid", + "requires": [], + "exercises": [ + "audittree.consistency", + "audittree.consistency-end", + "audittree.consistency-start", + "audittree.head-form", + "audittree.head-hash", + "audittree.proof-form" + ], + "base": "audit-consistency/four-to-six.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "path", + 0 + ], + "value": "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09160" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-consistency-proof", + "firstSize": 4, + "secondSize": 6, + "firstRoot": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "secondRoot": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "path": [ + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09160" + ] + }, + "older": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + }, + "newer": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.consistency" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-consistency/four-to-six.valid.json b/conformance/vectori/audit-consistency/four-to-six.valid.json new file mode 100644 index 0000000..920ba9b --- /dev/null +++ b/conformance/vectori/audit-consistency/four-to-six.valid.json @@ -0,0 +1,68 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-consistency/four-to-six.valid", + "artifact": "audit-consistency", + "title": "the tree of six entries extends the tree of four", + "source": "producers (verify-layer log and tree) on the fixed inputs", + "requires": [], + "exercises": [ + "audittree.consistency", + "audittree.consistency-end", + "audittree.consistency-start", + "audittree.head-form", + "audittree.head-hash", + "audittree.proof-form" + ], + "base": null, + "mutation": null, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-consistency-proof", + "firstSize": 4, + "secondSize": 6, + "firstRoot": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "secondRoot": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "path": [ + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ] + }, + "older": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + }, + "newer": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.head-form.json b/conformance/vectori/audit-inclusion/entry-2.head-form.json new file mode 100644 index 0000000..3200aa2 --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.head-form.json @@ -0,0 +1,87 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.head-form", + "artifact": "audit-inclusion", + "title": "the tree head is an attestation of another kind", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "kind" + ], + "value": "aere-audit-head-attestation" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.head-form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.head-hash.json b/conformance/vectori/audit-inclusion/entry-2.head-hash.json new file mode 100644 index 0000000..db47f46 --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.head-hash.json @@ -0,0 +1,87 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.head-hash", + "artifact": "audit-inclusion", + "title": "the tree head changed after it was hashed", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "statementHash" + ], + "value": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4590" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4590" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.head-hash" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-entry.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-entry.json new file mode 100644 index 0000000..ed01cca --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-entry.json @@ -0,0 +1,88 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-entry", + "artifact": "audit-inclusion", + "title": "the entry shown changed after it was hashed", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "entry", + "prev" + ], + "value": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7641" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7641", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-entry" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-envelope.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-envelope.json new file mode 100644 index 0000000..e28e54c --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-envelope.json @@ -0,0 +1,90 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-envelope", + "artifact": "audit-inclusion", + "title": "the host logged an envelope that does not hash to its statementHash: the entry is in the tree, and it is not an envelope", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "producer": "the host wrote a broken envelope into entry 2 and chained the log over it", + "changed": [ + [ + "proof" + ], + [ + "head" + ] + ] + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd30" + }, + "hash": "0x8f47ac6e00b8130cef6f0b7ef475e2ba736d56e53966fbfebb8742b637d2d93f" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x8bd81609c2b0a1c911a55449a52cc2de9431549648a8eed20173e9b491e26cbc", + "path": [ + "0xed26b7849a8147d092ec0c0f061d16c807bf4e7f2ca018c0d363d74fc288ee21", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0x4b851a258b9421cebcd4132a323322a5c4df1da7970d033f9f9323ad77632af7" + ], + "rootHash": "0xff6e68fc9824fa8611ec987d9207425d6567cf8e0753a8c995daa5e1e93582a5" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0xff6e68fc9824fa8611ec987d9207425d6567cf8e0753a8c995daa5e1e93582a5", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x64f699c8c0cb6050bb76f63a056ac069387a44218501f4dd634f7c5969d02d1d" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-envelope" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-head.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-head.json new file mode 100644 index 0000000..aac757f --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-head.json @@ -0,0 +1,98 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-head", + "artifact": "audit-inclusion", + "title": "the head given is the head of another tree", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "head" + ], + "value": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + } + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 4, + "rootHash": "0x5d1827afc2aed8acadb9cff9fdbe650add676982a9359c6bd0f47a916b4efdf2", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x4c09d101028abca3cef4e23035126322528aa42f1bff217d69c47569e209cb8c" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-head" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-index.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-index.json new file mode 100644 index 0000000..74a7b1a --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-index.json @@ -0,0 +1,87 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-index", + "artifact": "audit-inclusion", + "title": "the proof is for another index than the entry shown", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "index" + ], + "value": 3 + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 3, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-index" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-leaf.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-leaf.json new file mode 100644 index 0000000..4469158 --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-leaf.json @@ -0,0 +1,87 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-leaf", + "artifact": "audit-inclusion", + "title": "the leaf is not the leaf of the entry shown", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "leafHash" + ], + "value": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80210" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80210", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-leaf" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.inclusion-path.json b/conformance/vectori/audit-inclusion/entry-2.inclusion-path.json new file mode 100644 index 0000000..c300682 --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.inclusion-path.json @@ -0,0 +1,88 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.inclusion-path", + "artifact": "audit-inclusion", + "title": "one hash of the path changed", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "path", + 0 + ], + "value": "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f0" + }, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f0", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.inclusion-path" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.proof-form.json b/conformance/vectori/audit-inclusion/entry-2.proof-form.json new file mode 100644 index 0000000..76a7a21 --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.proof-form.json @@ -0,0 +1,87 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.proof-form", + "artifact": "audit-inclusion", + "title": "the proof declares another kind", + "source": "derived from audit-inclusion/entry-2.valid", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": "audit-inclusion/entry-2.valid", + "mutation": { + "op": "set", + "path": [ + "proof", + "kind" + ], + "value": "another-proof" + }, + "input": { + "proof": { + "v": 1, + "kind": "another-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "audittree.proof-form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-inclusion/entry-2.valid.json b/conformance/vectori/audit-inclusion/entry-2.valid.json new file mode 100644 index 0000000..96eba7d --- /dev/null +++ b/conformance/vectori/audit-inclusion/entry-2.valid.json @@ -0,0 +1,78 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-inclusion/entry-2.valid", + "artifact": "audit-inclusion", + "title": "entry 2 proven in the tree of six entries, against its head", + "source": "producers (verify-layer log and tree) on the fixed inputs", + "requires": [], + "exercises": [ + "audittree.head-form", + "audittree.head-hash", + "audittree.inclusion-entry", + "audittree.inclusion-envelope", + "audittree.inclusion-head", + "audittree.inclusion-index", + "audittree.inclusion-leaf", + "audittree.inclusion-path", + "audittree.proof-form" + ], + "base": null, + "mutation": null, + "input": { + "proof": { + "v": 1, + "kind": "aere-audit-inclusion-proof", + "entry": { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + "index": 2, + "treeSize": 6, + "leafHash": "0x0ff7bae0e5ae531ac0295c9edaa99ffa38d95827d3df225977d68c1dddb80212", + "path": [ + "0xbe3d3351dc873bc8f912a5a1083efd1572f2b9537a89d918e986ca5ee83b06f7", + "0xb39cb026e638f9697949ddad41bd806b75a544189212669202778031310781cd", + "0xcad95aa6e05f32ddc81346332708fa309c18ff2a4338ab8baeab1dfd4fa09166" + ], + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab" + }, + "head": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 6, + "rootHash": "0x5cdd233d08ed23a9c7d89b54cfa1a126e706e086c3915d309be32ccbef2019ab", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x88786be2e0d61dc753a9653fbbd424c83a31a44cdb72097bfc7a3e0c1c0b4598" + } + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/head-at-four.head-form.json b/conformance/vectori/audit-log/head-at-four.head-form.json new file mode 100644 index 0000000..5dfe18b --- /dev/null +++ b/conformance/vectori/audit-log/head-at-four.head-form.json @@ -0,0 +1,131 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/head-at-four.head-form", + "artifact": "audit-log", + "title": "the head is an attestation of another kind", + "source": "derived from audit-log/head-at-four.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-rewritten", + "auditlog.head-short", + "auditlog.seq" + ], + "base": "audit-log/head-at-four.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "kind" + ], + "value": "aere-proof-of-data-attestation" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/head-at-four.head-hash.json b/conformance/vectori/audit-log/head-at-four.head-hash.json new file mode 100644 index 0000000..84c6608 --- /dev/null +++ b/conformance/vectori/audit-log/head-at-four.head-hash.json @@ -0,0 +1,131 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/head-at-four.head-hash", + "artifact": "audit-log", + "title": "the head changed after it was hashed", + "source": "derived from audit-log/head-at-four.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-rewritten", + "auditlog.head-short", + "auditlog.seq" + ], + "base": "audit-log/head-at-four.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "statementHash" + ], + "value": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dc0" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dc0" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-hash" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/head-at-four.head-rewritten.json b/conformance/vectori/audit-log/head-at-four.head-rewritten.json new file mode 100644 index 0000000..ac36d87 --- /dev/null +++ b/conformance/vectori/audit-log/head-at-four.head-rewritten.json @@ -0,0 +1,140 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/head-at-four.head-rewritten", + "artifact": "audit-log", + "title": "the host rewrote an entry before the attested point and chained the log again", + "source": "derived from audit-log/head-at-four.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-rewritten", + "auditlog.head-short", + "auditlog.seq" + ], + "base": "audit-log/head-at-four.valid", + "mutation": { + "producer": "entry 1 rewritten (another envelope), every later entry re-chained; the head is the one attested before", + "changed": [ + [ + "log", + 1 + ], + [ + "log", + 2 + ], + [ + "log", + 3 + ] + ] + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-27T00:00:00Z" + }, + "statementHash": "0x1cf999198468f72a7442699b479d1d5fe08ad900480df468976e79bb200c4202" + }, + "hash": "0x8adf3b7cd6cfa5dd106ad31e391818b50970f969cd86936a4ce29978d1d56b1f" + }, + { + "seq": 2, + "prev": "0x8adf3b7cd6cfa5dd106ad31e391818b50970f969cd86936a4ce29978d1d56b1f", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x0d4da7b48506a026299c5c42832385051e5252945319c269cfea335328c02dde" + }, + { + "seq": 3, + "prev": "0x0d4da7b48506a026299c5c42832385051e5252945319c269cfea335328c02dde", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0xa18143798505ebcb8fc72f25e56f54906f2ef9f3d479550945415a6777c4fcb7" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-rewritten" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/head-at-four.head-short.json b/conformance/vectori/audit-log/head-at-four.head-short.json new file mode 100644 index 0000000..594e3c5 --- /dev/null +++ b/conformance/vectori/audit-log/head-at-four.head-short.json @@ -0,0 +1,111 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/head-at-four.head-short", + "artifact": "audit-log", + "title": "the last attested entry removed from the log", + "source": "derived from audit-log/head-at-four.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-rewritten", + "auditlog.head-short", + "auditlog.seq" + ], + "base": "audit-log/head-at-four.valid", + "mutation": { + "op": "remove", + "path": [ + "log", + 3 + ] + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-short" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/head-at-four.valid.json b/conformance/vectori/audit-log/head-at-four.valid.json new file mode 100644 index 0000000..8001d5f --- /dev/null +++ b/conformance/vectori/audit-log/head-at-four.valid.json @@ -0,0 +1,122 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/head-at-four.valid", + "artifact": "audit-log", + "title": "four entries and the attested head that covers them", + "source": "producers (verify-layer log and tree) on the fixed inputs", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-rewritten", + "auditlog.head-short", + "auditlog.seq" + ], + "base": null, + "mutation": null, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca" + } + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-key.json b/conformance/vectori/audit-log/signed-head.head-key.json new file mode 100644 index 0000000..d657189 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-key.json @@ -0,0 +1,143 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-key", + "artifact": "audit-log", + "title": "the public key of the head signature is not a key", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "signature", + "publicKey" + ], + "value": "AAAA" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "AAAA", + "signature": "GpBFZ2kMBxcCiab8r0vZv5akl/ocG1SxIyLCVI5jj38gnuMJgrlwdJr5ECa+aswHWCWgvUNZWX/4MUyzcDAXSzuDbrVPf3wttH9r7HQf0UiBZBQAkeaCX2iZIegRtSDL6KtMLFYxWd4uLDG+pSt01jbI2/SyrzaRcpYDgLn0F1eDFN7CiGQdX5AJhrp9jKGjH34S/DMtvSIpdOvLFLz+j6RZVKSVC8q9LcDoCrUngMF5w8ggiaKaFyD66hYypzsUSG7ZJmNydgoXawt0Q6RqoPLWLvFQleYoTh7GGxkaAlk2sjp9UyEgh1OvaJA1THGylqHXs4Skcg12fx0PolSN42bxZGZ0WkhRkbCz+3iotdtf2llSnwaMr0hQkSllYOCDb9Tw+zzfDaFjIl2/UaTAbF052Ss0J/3sWsbtFo1aP4s2Q3ozEkmfdfOKzPcTCw0xhQQAuiqZ+E0rIdSgEJxyS5Qc5yrNRPnuh9nYRA3VzKP3xRf90odXQDJxs6QbpZtTMEnRUpsxZ8SAeLMSxHk2oSvDKLNvfgOnNwzSt3bgMbmPDwaJwpcpEN6zx5nvMSDTwRgEXmN15ijbzkFpb/CRR8f94RdMdeWtYMeUBuedZA8631N2w83A3AC9aaB6c1UcQSPJ/byCB90gveqZc/Thg2a02v7cx+QDSDPGl+shgYajXjKoegzKtjq40XzXinWpfy86Uta7R4SKykffho0PWSyFZpNesH5KgT5XcPMeEdduxsU8Sl9qek9mIHg4YQJ+u5CtM98StVsMtXeWA4f6xxz0LzAMdFKTODcBP2HBjvvfYa0GvQxis6ayUHDUoKY0YVIR9FOlE1vaKgX0ebS1bOFXw3bfZIadzMu2HNSX+tJ4nYj/sHRTY5sGfSXrniRbNjQIbzNsZqMKhlXshruwNJvVisOEg+HLddko7RodSozW2cPmoGnjJ2BJiWdJcx3CH9XxWiIv9Z98pv0rvnYGLJYAM+UgCty3A0ff0nl7ZypFzhfzFWIq2cIhyrZDrKKp0U8o5PBhjlRUwyYCCTlNGl12w+Ea8fo1HCi5DTGCV4FXnfQXcmgPiQtAO0zGxj5HJvcjscoDYXv5tZa6jXyjhv9U2CkYvobwuXnMlcThMHH322H6eBKCA5IaY+aalS159lmcn/xnxWTJ5rcCGK9Ml9oFlsoBe1YwomPBVUuQD2Fpxve313nZDj8l88jQDqfjkVtcOiqgcgAqrYFF+MrryyrUmlBGhUuiNxf5Tt2czIZHrej15RXcyqEYRc14a+Qhu85Y0qSXxcj4ciKThEr1PhebvgRjbpB2AYzZX29QioO8rZeqFeAAe1oPDZC4zLeUCPG2XBlCPVCRZo+GEE3NKNlzt2/2r6AB4ZkQRDFCjE+FpVRU8TJFqCQX0bt3ocVtuPnGmhlBWtYYwKUv2r2Kadcke0MqGd+i/yJxec8LNiVBO46OU3oubRyWyBWX9Kw8h9DkdUEHe+4ojNTcrxgepAqeyU1jtdN+r7SBPIkn2t8XXosm5vSHP5ZlNbfwpZNBqi3FaEoLc11saHvjoqPXCfubwkP8aLezAf/59dyWvzXCelUC5h1H/VNS/yS0HFKAhmhOwVkpC/zR+ljM69YG/iYlFiVMz1a4yjYeebTx2EevHUD+IAVTn/5HWZVypEtHmTykNezqpNtdfelXFoqkfkqIaou6d5Pmfu1/kMLqSiZ2bRG9BORQYuLZCs/QoiHQodnZbFaneiVJtlrAV0eNmzRlUx5wpZMbzOIvoh79IdD6lwGhrsbVw9685taCpgP28h/Zm6JdVmzzzJJB9grVi42tpaYikN0NfPQANwDjt5yL9c2ExeBDjHRrhbSKfOBOAyysjjBKo3/iYTUv5X9ks9fh4H8XtozHLVyPkUq12yUAC7opuUgBYNfxi1fOAObLeNekU1mM1W5DbfbD8jqe59+mTa0rtPaHl5/22GeMhcEbfnypkQhd58KDZkWGv4T4zQw2E2cMDdhD2OHK7KnnLa7X4Lfm43/x8IP0D5X53BOrRzK49PDyxqmqPhoB4oIj6BstsG6Tt98HciafKOszQ/5RLvTFXK7ylfCfwcdj28Dy/CvVlKo8YK9Hv6uTsfuj6bv4Z7uhIo63KnD7Pus7oTB+iTfGSNFNKYJ4QiPb5ogMoL8v8GH5lmItQCsALdOpEpPQIdHnATAHgA8ZxD1crsuIc03ePneEiV/nld0GaG+QjRJaLfqTmmUjryRrT/eD1/y8CWu6pKb1nFRqLcEP2jFtds1qUIPKFLOISPlOxLakZhpKmlLPFpvwnNaPJCWhFVpkluvVhqt/ygUbtbQ3ST4QuBkHYmmgPLz5QsstBaBX15DoiuRrKZ0pmyKrL/7hoMu6xas5Fhu0j0UWQvsjcXTJvgJfWoZHxRcF3m/cBgpAIE+8LtdlWWgtJkEIwMOPfEqcJ7/1QLIeSfoeMeg4HQP3saFfKtQZm68IdziRGl3lPzGqCwrwmSP77KmDZiRoeLpUzCpvsnh84qIcw4JZJZxfm/1DhLVC1RXY2/kSu+D8cjFoS17ifJ5QEv393mzDo1cmFiEGi3NOjmE2dlVaMX7tG2fnerRXeAqVHOej2677QXHru0dvRkdKO6oqWOxgi5fTnKe8jfBiBFpK4evA36w1uAexwGt51lWcEZFMrDartTOnxHoZD1m034o4RoT3LMbt2bIkogiu+NX5yTuB4qUx2QWG0kqimze+JBdcyweGC5q1g6lFmiMno6cd3wzEnC6OuolXFCyb2q3iX/gkwrlSdcDDgB5m08A0+qhfVyJm5UUU8iQhLR46V+6bsf8vSjEHLxnrF9i16H9YXvfGycBd/1qgLBc+1qxWJUsX6qhFPOXzKIPYyrPuXYM7KcYXNUoWOVSwzRGJ+rU6D64yul/h0zrfEJG1ylh3MsIsVTaALvKy3EFJYRgCFonWezU8hIzQVzbmOOAsuu7hb2OC+9fs3gtWKCuIGdw8xx9NgiW96vM7xJ/KwJMEKU2BKTb+5pjz9luQwfDcqX26QKfRLVJX8V6ThR3UbC3RjGZcpEXcV9tGNknGeGxit2664r8WATIFAdJ8K/gBm0rbwySEUQ/7FEqEv2OUzUhk6rf9rQk7aj4qHS3VptV8MohRBhi+ZFFsXOlaqf9e3vHai6ZaKkL5R4bATA5dGCTTMvVeDRLnxy2D8i8cjcdK0KOcv8PLMVNl1i5Pjq0Ken1wskqQNC4TeM4LscfteFltp3nzPQsZ8aOxUHG2daKK8Zx5BuYRLVFA4V30rIFNj4kOXy8FBicx+/mN+UCfRkNmw0/XponcWZvp88ffm28vKXBoSoe78StbcWdTjgAnnauRH/jc0xc+VRsmOKhEczv4uSXGIvR2WOijQkloR5RBt0ZVN7f2F393ZHISN1/mFCppWjx4VjVWmyMkn1yomd6y+HyURuvayEg9w0BqW/rmbo4fG/ssAjMJorFMiNCitk9JwqWJExT8d0GasHwK6aRnBJQpvd16NtTwLmbJ1FWjGXd8tee2jnA7b6PKtBs/HetLWaZbHu/AmVaoDNK7nu0IJJVfMrBOBGIAxHHJmoESGtxsvX9+iWHkqW4EABFx0rDJdDC2d7g13ONp+uLfMgV4CFHJlzS9ZPkJljZC7woUY4QnUs11+a8EPNkkpV5db5zByMaz5K/P7i8TrGc2OfMVjBCL6qyqpoag4s2zR1sBCw2NT13cQ33dyaRDC7pEpGqSQWrJt6UCrlQrjIhsConoDyZLC/uWiksUxvpONx2WlGivC+oaaftopDDWm1ClW2VBQVFLEUU7rKDL1eRXd4nXcz1bo37JvrKn07//Saw28EdUfixn32WkvNEdHi48GPvyo15oXm6uIbebbbiThx7ULZvMRgiTrplI6Ei4W4pCWVxYMjrj8QxQAiAE0KDTMlno2Mu7rEutKnPbmqP0prwQeH6PLjggMWcJlbQnPowdtM0GlAXncDNmRMbxG27WmDM7c8D9YCxEx7rgFfxoRkVDoOIiCr/nAwP231Fwj1Q8oMK+031reTBv+s0lE/1Fc6uscWIXzi6FPhOcWrGt7oFKoq1y3VE2saPdnSKF+GdanxkvGioGX4IbjEJUe9/BmgCiIOISE51UGLccHjj9fTC3aKvzTsD0+BS7AJWbHfSu6k/8sfcthrKiDP7lE76wgnRWATbn4vgGE6yw8NUVhaL8ujuvdyIhe8MJHc2O2fc1riK1/8o/Hr9AC1VPjSIRdOqZrV+x1zqd2A2UBSgcCItaP6P044Y6I6aaD88ocqlAdD6zKX3A5LOIdn4+WWWH+/OPA57WUxt1Y0z3F32YPdx3CyZZTC8MM2nP7PoXQ0VjhZPB3OTq7fD1D0FgISNWfO0dS3PMQFFpcZGmqMDEy80AAAAAAAAAAAAAAAAABhMWGx8q" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\nMIIHsjALBglghkgBZQMEAxIDggehAMxV9xuGbuwsEmcVClbIFGdUyjHk2CvEjVIi\nBDREv08h8R8b/PUMlqeTanaOP5Sk4Ow3Qv8L66cNvjxwuUzrc02EOazU5pqlr5g2\ntZ8rfBK0T+oM7R+oXD6Gt6zDN6BLruR/lLwscqkDB1r3owztyKBQh+vWbckhjPJM\nZQyVy8oygjqEcaox/VavAh5iGEyP3dXXeRCqySv8BvrsFKW1QYS3doT0NAkZWe81\nE8uUIpzux8pdVpTowa8YAJC+LgZjlLlLfUp11GX1eIrUPTl1jCq3kbCd3R3Ur4jl\nVvdl+lKmbdDx3EFbK6yfp96EekyUaONl3VKtw1u9WFhVd+Avvmk3Dl0pvxUSSdMi\nlVvQhJGldLA/Sd895/C1yZIPS1uJN2M9av1JTPt9zY19qxeF7TeQ9ZSdqARhd8Nu\niC5UIRkcQ6ZK6YF83x4Ei45vPf8bXfE11IXfIuh3LfrfEZ0xVPrT3o//K0yxyabv\nmxIYkL8uNI4nWo4aI9zTPm+J/KHvOlcgor1Sk5u/PWX2Jc7MOrLtTnZ/HVsVnTOI\nOHj22EHNZcaoD2vt7hukdYfurPVme1VCtA4tf+k+EW/OLuiz4OereTKPkJrLqZaP\nUcDyUfAgN+LspoqVgVHrutAP4WskTA+4TRPuVCw1vapklXrOIihbtfm81swbjQxA\niXINRWo7oyGPKGWIr58ycWTP5TWT6QuSZcV3aYDKbqKli25fDY3QNKoQSXiEPf/x\n4KMvbQgJsArA/YAJtKbyyw/lWnnWH47SnKI3sr4/FF8uZJtSyZ9zYfBMUR20ahHu\nLFtmY+T9Ngb+1S6iKzzE9xsVzPeat8lp0vJxTyLf8PlsG5PZ98t3Eh4ZJzYCZg6h\nupp8QnMD3NWjbYsM94YFO8XQ4CVjdbdNYQPoEE9qc6uQQ2ukhwrn5CWfZMlHxt9i\nu7hmBMTUQFIcsUkAxmJq3/QQzKjdW0md6FyXvjg2P5+7U3WYAWXe5HXtsI8IFvdQ\nOUo0R0a2YdGvysABFOWjHNDci6/h8K2DRdI6nGWuYb15jTR9yg42e33wTiffBQiw\ngH0+b7Kern9J83CBXAznZzs6a9tK30ga3PWkkVn7344gArFu8dEdPij0vEYpgm9v\nQjAI93XPoX8zivUNz3UTefdDOs9uB8FCjPB40UrY0O12CD1gH3kuxIp+iuzvK74J\nIJT7Hv6gljeCUJqDYs5VylH4jzxXe5aK1EGpxez6MHAwqqHwCtmh1eC02hwCPeuq\nxtRwbzlmMcC2N5LWStAoKe6lM3GIp4XllOn1pRUwlaD8Q1xetxBa7bZfjNGlYgaz\nUtCOltJuBSs6znJdbQc14jkZRWRgX6o+P1K6hSJsLyT8vgS0H+ZN2glLPC5ibS9h\ndfb8XlkWd3zhjcOwzdj8DlHVMnJJIygQItJEU/vwwuYJMLM8bxFIImh61p9VFd8U\nN73XTnzdBlmuRhdAbBeJvA1/a0fA9ggi1cLQjKMSm+g3GK4MYASGEQw9mVhg8Pt5\n3TONpmhkGZXVXLf/GWV13iojYZoGrITLnQO+nK9GM0Oeq/ZIhKBXvG9XF8oaTPWE\nWkWMH5U4XtZLDH9ybziPOSdSa/VGZ2poiKubGZdxOeebJntyFbPsNblMR2CV3sTi\ndJ/qO+aAD1Qrt477TToNPMoZ7slCs6SW5JGDitZakkuIHlZqlQcqdllRnBA6lmyg\n0N9FOhPxxhG+834nuJX3s/sEhjLjDQcHSRKBOYudCvZ8+4mlFFepVT8oeulZduGz\nu1sQp/NMTbCCPjorII1buN7/yiS+p1UGrLeds/L9EUzDX6xCx8TJHusAJhgR7Qp1\nAHyQH4NZzC3IwP5A8r0PgvlQd/8rTydJVECGbHgYvXk1WrKf+5bq6ajxq7LbjPoW\nw2sToYqi57qHIkCO5x9cQ100uTzPYMjFmVIbOkahJliE18OxwIolNRWAtKuyjUvg\n+xEfzIboMOoXEJvWO0I5IAPbcjpq53FtJmS8pJcWBt4av3NlDxB3q8FvwxgqPKUy\ngFZTReYQ1aALJnfHku+0WsTJ7364jumHVHsKCioRh+Wf14h6pYU23mez6//SGPCJ\nKXmX8GYD/Fz7T4TLjiYVLxNXJMxl95kXlMeEZAVHhj/+xeWVhdKmz7gTkql4QKbq\nx37eU9gvZ4ScSgeLFlqZIyrdE3cbIfmtm3p7BwVw5lYPYXSXy6vjZiZXQrt9X2i3\nlmpJCxT6jOEYw0HGnVEhUJWoWlaRfzbqv1I8HcP7lMGvY8hVDFA5DeZp0bpz11t/\nrtcud1P/xpXNLghNuWzq1FrB4s1yGU5HNaLHkcME3qYprk3PCcj4WR5WuamRQ6Hg\n23qMcPc6VOQb2dDViT2DGHinCa/h6yuFrAMj0v3k531BNOrxdXlJKWZH7heikFzj\nEy+k2iMCbnprdk2hHdfzWG2OxIafXRvaMdlSq7aJ9BPOXrvqqURVM8lIfKGVlenr\nHeEEoKdH6jND5RzK0XAGl8PFIw5YIa2wacnpm0KKediCB3yjFmkmUZaXUysm2WOf\nvwqIL0OoPjpE2t62VYExUbXBXQiMpxzpuCq+FQKYqwVPethMP9qdYC1AxdQIr7Ht\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-key" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-scheme-classical-key.json b/conformance/vectori/audit-log/signed-head.head-scheme-classical-key.json new file mode 100644 index 0000000..74570e1 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-scheme-classical-key.json @@ -0,0 +1,149 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-scheme-classical-key", + "artifact": "audit-log", + "title": "the head is signed with an Ed25519 key that declares ml-dsa-65", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "producer": "the signer used a classical key (made and discarded at generation) and declared the scheme ml-dsa-65", + "changed": [ + [ + "head", + "signature", + "publicKey" + ], + [ + "head", + "signature", + "signature" + ] + ] + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "MCowBQYDK2VwAyEALyLdb8ExLItdJptX+Im4E2CkleE6+poJ6dXSl897s6E=", + "signature": "rUzfHXPJtarX5Ct155VIJese8CrsGzL6Ss4ihV8z6DpHL0blU/aEAquMXwccMjGnnYCKgYedHcjESjSQiP/bBQ==" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-scheme" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-scheme.json b/conformance/vectori/audit-log/signed-head.head-scheme.json new file mode 100644 index 0000000..2ec80a5 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-scheme.json @@ -0,0 +1,143 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-scheme", + "artifact": "audit-log", + "title": "the head signature declares another scheme", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "signature", + "scheme" + ], + "value": "ed25519" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ed25519", + "publicKey": "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", + "signature": "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" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-scheme" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-signature.json b/conformance/vectori/audit-log/signed-head.head-signature.json new file mode 100644 index 0000000..5aaa8d4 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-signature.json @@ -0,0 +1,143 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-signature", + "artifact": "audit-log", + "title": "the head signature has one character changed", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "op": "set", + "path": [ + "head", + "signature", + "signature" + ], + "value": "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" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "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", + "signature": "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" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-signature" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-signer.json b/conformance/vectori/audit-log/signed-head.head-signer.json new file mode 100644 index 0000000..e8d9bd0 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-signer.json @@ -0,0 +1,141 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-signer", + "artifact": "audit-log", + "title": "the head is signed, by another key than the signer expected", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "op": "set", + "path": [ + "signer" + ], + "value": "-----BEGIN PUBLIC KEY-----\n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\nQ+yxbD9O\n-----END PUBLIC KEY-----\n" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "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", + "signature": "GpBFZ2kMBxcCiab8r0vZv5akl/ocG1SxIyLCVI5jj38gnuMJgrlwdJr5ECa+aswHWCWgvUNZWX/4MUyzcDAXSzuDbrVPf3wttH9r7HQf0UiBZBQAkeaCX2iZIegRtSDL6KtMLFYxWd4uLDG+pSt01jbI2/SyrzaRcpYDgLn0F1eDFN7CiGQdX5AJhrp9jKGjH34S/DMtvSIpdOvLFLz+j6RZVKSVC8q9LcDoCrUngMF5w8ggiaKaFyD66hYypzsUSG7ZJmNydgoXawt0Q6RqoPLWLvFQleYoTh7GGxkaAlk2sjp9UyEgh1OvaJA1THGylqHXs4Skcg12fx0PolSN42bxZGZ0WkhRkbCz+3iotdtf2llSnwaMr0hQkSllYOCDb9Tw+zzfDaFjIl2/UaTAbF052Ss0J/3sWsbtFo1aP4s2Q3ozEkmfdfOKzPcTCw0xhQQAuiqZ+E0rIdSgEJxyS5Qc5yrNRPnuh9nYRA3VzKP3xRf90odXQDJxs6QbpZtTMEnRUpsxZ8SAeLMSxHk2oSvDKLNvfgOnNwzSt3bgMbmPDwaJwpcpEN6zx5nvMSDTwRgEXmN15ijbzkFpb/CRR8f94RdMdeWtYMeUBuedZA8631N2w83A3AC9aaB6c1UcQSPJ/byCB90gveqZc/Thg2a02v7cx+QDSDPGl+shgYajXjKoegzKtjq40XzXinWpfy86Uta7R4SKykffho0PWSyFZpNesH5KgT5XcPMeEdduxsU8Sl9qek9mIHg4YQJ+u5CtM98StVsMtXeWA4f6xxz0LzAMdFKTODcBP2HBjvvfYa0GvQxis6ayUHDUoKY0YVIR9FOlE1vaKgX0ebS1bOFXw3bfZIadzMu2HNSX+tJ4nYj/sHRTY5sGfSXrniRbNjQIbzNsZqMKhlXshruwNJvVisOEg+HLddko7RodSozW2cPmoGnjJ2BJiWdJcx3CH9XxWiIv9Z98pv0rvnYGLJYAM+UgCty3A0ff0nl7ZypFzhfzFWIq2cIhyrZDrKKp0U8o5PBhjlRUwyYCCTlNGl12w+Ea8fo1HCi5DTGCV4FXnfQXcmgPiQtAO0zGxj5HJvcjscoDYXv5tZa6jXyjhv9U2CkYvobwuXnMlcThMHH322H6eBKCA5IaY+aalS159lmcn/xnxWTJ5rcCGK9Ml9oFlsoBe1YwomPBVUuQD2Fpxve313nZDj8l88jQDqfjkVtcOiqgcgAqrYFF+MrryyrUmlBGhUuiNxf5Tt2czIZHrej15RXcyqEYRc14a+Qhu85Y0qSXxcj4ciKThEr1PhebvgRjbpB2AYzZX29QioO8rZeqFeAAe1oPDZC4zLeUCPG2XBlCPVCRZo+GEE3NKNlzt2/2r6AB4ZkQRDFCjE+FpVRU8TJFqCQX0bt3ocVtuPnGmhlBWtYYwKUv2r2Kadcke0MqGd+i/yJxec8LNiVBO46OU3oubRyWyBWX9Kw8h9DkdUEHe+4ojNTcrxgepAqeyU1jtdN+r7SBPIkn2t8XXosm5vSHP5ZlNbfwpZNBqi3FaEoLc11saHvjoqPXCfubwkP8aLezAf/59dyWvzXCelUC5h1H/VNS/yS0HFKAhmhOwVkpC/zR+ljM69YG/iYlFiVMz1a4yjYeebTx2EevHUD+IAVTn/5HWZVypEtHmTykNezqpNtdfelXFoqkfkqIaou6d5Pmfu1/kMLqSiZ2bRG9BORQYuLZCs/QoiHQodnZbFaneiVJtlrAV0eNmzRlUx5wpZMbzOIvoh79IdD6lwGhrsbVw9685taCpgP28h/Zm6JdVmzzzJJB9grVi42tpaYikN0NfPQANwDjt5yL9c2ExeBDjHRrhbSKfOBOAyysjjBKo3/iYTUv5X9ks9fh4H8XtozHLVyPkUq12yUAC7opuUgBYNfxi1fOAObLeNekU1mM1W5DbfbD8jqe59+mTa0rtPaHl5/22GeMhcEbfnypkQhd58KDZkWGv4T4zQw2E2cMDdhD2OHK7KnnLa7X4Lfm43/x8IP0D5X53BOrRzK49PDyxqmqPhoB4oIj6BstsG6Tt98HciafKOszQ/5RLvTFXK7ylfCfwcdj28Dy/CvVlKo8YK9Hv6uTsfuj6bv4Z7uhIo63KnD7Pus7oTB+iTfGSNFNKYJ4QiPb5ogMoL8v8GH5lmItQCsALdOpEpPQIdHnATAHgA8ZxD1crsuIc03ePneEiV/nld0GaG+QjRJaLfqTmmUjryRrT/eD1/y8CWu6pKb1nFRqLcEP2jFtds1qUIPKFLOISPlOxLakZhpKmlLPFpvwnNaPJCWhFVpkluvVhqt/ygUbtbQ3ST4QuBkHYmmgPLz5QsstBaBX15DoiuRrKZ0pmyKrL/7hoMu6xas5Fhu0j0UWQvsjcXTJvgJfWoZHxRcF3m/cBgpAIE+8LtdlWWgtJkEIwMOPfEqcJ7/1QLIeSfoeMeg4HQP3saFfKtQZm68IdziRGl3lPzGqCwrwmSP77KmDZiRoeLpUzCpvsnh84qIcw4JZJZxfm/1DhLVC1RXY2/kSu+D8cjFoS17ifJ5QEv393mzDo1cmFiEGi3NOjmE2dlVaMX7tG2fnerRXeAqVHOej2677QXHru0dvRkdKO6oqWOxgi5fTnKe8jfBiBFpK4evA36w1uAexwGt51lWcEZFMrDartTOnxHoZD1m034o4RoT3LMbt2bIkogiu+NX5yTuB4qUx2QWG0kqimze+JBdcyweGC5q1g6lFmiMno6cd3wzEnC6OuolXFCyb2q3iX/gkwrlSdcDDgB5m08A0+qhfVyJm5UUU8iQhLR46V+6bsf8vSjEHLxnrF9i16H9YXvfGycBd/1qgLBc+1qxWJUsX6qhFPOXzKIPYyrPuXYM7KcYXNUoWOVSwzRGJ+rU6D64yul/h0zrfEJG1ylh3MsIsVTaALvKy3EFJYRgCFonWezU8hIzQVzbmOOAsuu7hb2OC+9fs3gtWKCuIGdw8xx9NgiW96vM7xJ/KwJMEKU2BKTb+5pjz9luQwfDcqX26QKfRLVJX8V6ThR3UbC3RjGZcpEXcV9tGNknGeGxit2664r8WATIFAdJ8K/gBm0rbwySEUQ/7FEqEv2OUzUhk6rf9rQk7aj4qHS3VptV8MohRBhi+ZFFsXOlaqf9e3vHai6ZaKkL5R4bATA5dGCTTMvVeDRLnxy2D8i8cjcdK0KOcv8PLMVNl1i5Pjq0Ken1wskqQNC4TeM4LscfteFltp3nzPQsZ8aOxUHG2daKK8Zx5BuYRLVFA4V30rIFNj4kOXy8FBicx+/mN+UCfRkNmw0/XponcWZvp88ffm28vKXBoSoe78StbcWdTjgAnnauRH/jc0xc+VRsmOKhEczv4uSXGIvR2WOijQkloR5RBt0ZVN7f2F393ZHISN1/mFCppWjx4VjVWmyMkn1yomd6y+HyURuvayEg9w0BqW/rmbo4fG/ssAjMJorFMiNCitk9JwqWJExT8d0GasHwK6aRnBJQpvd16NtTwLmbJ1FWjGXd8tee2jnA7b6PKtBs/HetLWaZbHu/AmVaoDNK7nu0IJJVfMrBOBGIAxHHJmoESGtxsvX9+iWHkqW4EABFx0rDJdDC2d7g13ONp+uLfMgV4CFHJlzS9ZPkJljZC7woUY4QnUs11+a8EPNkkpV5db5zByMaz5K/P7i8TrGc2OfMVjBCL6qyqpoag4s2zR1sBCw2NT13cQ33dyaRDC7pEpGqSQWrJt6UCrlQrjIhsConoDyZLC/uWiksUxvpONx2WlGivC+oaaftopDDWm1ClW2VBQVFLEUU7rKDL1eRXd4nXcz1bo37JvrKn07//Saw28EdUfixn32WkvNEdHi48GPvyo15oXm6uIbebbbiThx7ULZvMRgiTrplI6Ei4W4pCWVxYMjrj8QxQAiAE0KDTMlno2Mu7rEutKnPbmqP0prwQeH6PLjggMWcJlbQnPowdtM0GlAXncDNmRMbxG27WmDM7c8D9YCxEx7rgFfxoRkVDoOIiCr/nAwP231Fwj1Q8oMK+031reTBv+s0lE/1Fc6uscWIXzi6FPhOcWrGt7oFKoq1y3VE2saPdnSKF+GdanxkvGioGX4IbjEJUe9/BmgCiIOISE51UGLccHjj9fTC3aKvzTsD0+BS7AJWbHfSu6k/8sfcthrKiDP7lE76wgnRWATbn4vgGE6yw8NUVhaL8ujuvdyIhe8MJHc2O2fc1riK1/8o/Hr9AC1VPjSIRdOqZrV+x1zqd2A2UBSgcCItaP6P044Y6I6aaD88ocqlAdD6zKX3A5LOIdn4+WWWH+/OPA57WUxt1Y0z3F32YPdx3CyZZTC8MM2nP7PoXQ0VjhZPB3OTq7fD1D0FgISNWfO0dS3PMQFFpcZGmqMDEy80AAAAAAAAAAAAAAAAABhMWGx8q" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nQ+yxbD9O\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-signer" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.head-unsigned.json b/conformance/vectori/audit-log/signed-head.head-unsigned.json new file mode 100644 index 0000000..e2b5d0d --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.head-unsigned.json @@ -0,0 +1,136 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.head-unsigned", + "artifact": "audit-log", + "title": "the signature taken off a head whose signer is required", + "source": "derived from audit-log/signed-head.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": "audit-log/signed-head.valid", + "mutation": { + "op": "remove", + "path": [ + "head", + "signature" + ] + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca" + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.head-unsigned" + ], + "levels": { + "integrity": "NOT_MEASURED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/signed-head.valid.json b/conformance/vectori/audit-log/signed-head.valid.json new file mode 100644 index 0000000..5ef9a30 --- /dev/null +++ b/conformance/vectori/audit-log/signed-head.valid.json @@ -0,0 +1,133 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/signed-head.valid", + "artifact": "audit-log", + "title": "the same log against its head signed by the operator (ML-DSA-65), with the signer expected", + "source": "producers (verify-layer log and tree) on the fixed inputs; operator key made and discarded at generation", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.head-form", + "auditlog.head-hash", + "auditlog.head-key", + "auditlog.head-rewritten", + "auditlog.head-scheme", + "auditlog.head-short", + "auditlog.head-signature", + "auditlog.head-signer", + "auditlog.head-unsigned", + "auditlog.seq" + ], + "base": null, + "mutation": null, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + } + ], + "head": { + "v": 1, + "kind": "aere-audit-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-head", + "host": "conformance", + "count": 4, + "head": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "createdAt": "2026-10-03T00:00:00Z" + }, + "statementHash": "0x6d1f7500b3cedcbef99e1dc3be7bc131c7d14cedcca82384454bbd98bcb08dca", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "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", + "signature": "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" + } + }, + "signer": "-----BEGIN PUBLIC KEY-----\n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\nHkNSKW8R\n-----END PUBLIC KEY-----\n" + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "PASSED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/six-entries.chain.json b/conformance/vectori/audit-log/six-entries.chain.json new file mode 100644 index 0000000..11fe995 --- /dev/null +++ b/conformance/vectori/audit-log/six-entries.chain.json @@ -0,0 +1,152 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/six-entries.chain", + "artifact": "audit-log", + "title": "an entry does not link the one before it", + "source": "derived from audit-log/six-entries.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.seq" + ], + "base": "audit-log/six-entries.valid", + "mutation": { + "op": "set", + "path": [ + "log", + 2, + "prev" + ], + "value": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7641" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7641", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + }, + { + "seq": 4, + "prev": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "proof": { + "v": 1, + "kind": "aere-proof-of-location-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-location", + "evidenceHash": "0x20e95ada67c778758b26bd6425863f9a53bb666a98e3fe060eec15866e87cc12", + "subject": "srv-eu", + "region": "eu-central", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x88d2213cf649be8237cc64cff901e2ad8051473d4aab76ca02a7206dee83ad6c" + }, + "hash": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a" + }, + { + "seq": 5, + "prev": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a", + "proof": { + "v": 1, + "kind": "aere-proof-of-device-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-device", + "attestationHash": "0xaa70e763e0eceecb3f1033c9cc44e05681d741afc05d0479269fe859d523021d", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "deviceId": "dev-9", + "posture": "secure-boot", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x440956f2ba441931fd5dcfbf808c3a646187bd01c144052d52a3b127dc71659c" + }, + "hash": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04ae" + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.chain" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/six-entries.entry.json b/conformance/vectori/audit-log/six-entries.entry.json new file mode 100644 index 0000000..dcf2550 --- /dev/null +++ b/conformance/vectori/audit-log/six-entries.entry.json @@ -0,0 +1,132 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/six-entries.entry", + "artifact": "audit-log", + "title": "an entry of the log is not a log entry", + "source": "derived from audit-log/six-entries.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.seq" + ], + "base": "audit-log/six-entries.valid", + "mutation": { + "op": "set", + "path": [ + "log", + 1 + ], + "value": "not an entry" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + "not an entry", + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + }, + { + "seq": 4, + "prev": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "proof": { + "v": 1, + "kind": "aere-proof-of-location-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-location", + "evidenceHash": "0x20e95ada67c778758b26bd6425863f9a53bb666a98e3fe060eec15866e87cc12", + "subject": "srv-eu", + "region": "eu-central", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x88d2213cf649be8237cc64cff901e2ad8051473d4aab76ca02a7206dee83ad6c" + }, + "hash": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a" + }, + { + "seq": 5, + "prev": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a", + "proof": { + "v": 1, + "kind": "aere-proof-of-device-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-device", + "attestationHash": "0xaa70e763e0eceecb3f1033c9cc44e05681d741afc05d0479269fe859d523021d", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "deviceId": "dev-9", + "posture": "secure-boot", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x440956f2ba441931fd5dcfbf808c3a646187bd01c144052d52a3b127dc71659c" + }, + "hash": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04ae" + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.entry" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/six-entries.hash.json b/conformance/vectori/audit-log/six-entries.hash.json new file mode 100644 index 0000000..781a191 --- /dev/null +++ b/conformance/vectori/audit-log/six-entries.hash.json @@ -0,0 +1,152 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/six-entries.hash", + "artifact": "audit-log", + "title": "the hash of the last entry is not the hash of its content", + "source": "derived from audit-log/six-entries.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.seq" + ], + "base": "audit-log/six-entries.valid", + "mutation": { + "op": "set", + "path": [ + "log", + 5, + "hash" + ], + "value": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04a0" + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + }, + { + "seq": 4, + "prev": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "proof": { + "v": 1, + "kind": "aere-proof-of-location-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-location", + "evidenceHash": "0x20e95ada67c778758b26bd6425863f9a53bb666a98e3fe060eec15866e87cc12", + "subject": "srv-eu", + "region": "eu-central", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x88d2213cf649be8237cc64cff901e2ad8051473d4aab76ca02a7206dee83ad6c" + }, + "hash": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a" + }, + { + "seq": 5, + "prev": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a", + "proof": { + "v": 1, + "kind": "aere-proof-of-device-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-device", + "attestationHash": "0xaa70e763e0eceecb3f1033c9cc44e05681d741afc05d0479269fe859d523021d", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "deviceId": "dev-9", + "posture": "secure-boot", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x440956f2ba441931fd5dcfbf808c3a646187bd01c144052d52a3b127dc71659c" + }, + "hash": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04a0" + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.hash" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/six-entries.seq.json b/conformance/vectori/audit-log/six-entries.seq.json new file mode 100644 index 0000000..b6985e4 --- /dev/null +++ b/conformance/vectori/audit-log/six-entries.seq.json @@ -0,0 +1,152 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/six-entries.seq", + "artifact": "audit-log", + "title": "an entry carries another sequence number", + "source": "derived from audit-log/six-entries.valid", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.seq" + ], + "base": "audit-log/six-entries.valid", + "mutation": { + "op": "set", + "path": [ + "log", + 1, + "seq" + ], + "value": 5 + }, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 5, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + }, + { + "seq": 4, + "prev": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "proof": { + "v": 1, + "kind": "aere-proof-of-location-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-location", + "evidenceHash": "0x20e95ada67c778758b26bd6425863f9a53bb666a98e3fe060eec15866e87cc12", + "subject": "srv-eu", + "region": "eu-central", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x88d2213cf649be8237cc64cff901e2ad8051473d4aab76ca02a7206dee83ad6c" + }, + "hash": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a" + }, + { + "seq": 5, + "prev": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a", + "proof": { + "v": 1, + "kind": "aere-proof-of-device-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-device", + "attestationHash": "0xaa70e763e0eceecb3f1033c9cc44e05681d741afc05d0479269fe859d523021d", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "deviceId": "dev-9", + "posture": "secure-boot", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x440956f2ba441931fd5dcfbf808c3a646187bd01c144052d52a3b127dc71659c" + }, + "hash": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04ae" + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "auditlog.seq" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/audit-log/six-entries.valid.json b/conformance/vectori/audit-log/six-entries.valid.json new file mode 100644 index 0000000..cd8fffb --- /dev/null +++ b/conformance/vectori/audit-log/six-entries.valid.json @@ -0,0 +1,142 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "audit-log/six-entries.valid", + "artifact": "audit-log", + "title": "a log of six entries, its hash chain intact", + "source": "producers (verify-layer log and tree) on the fixed inputs", + "requires": [], + "exercises": [ + "auditlog.chain", + "auditlog.entry", + "auditlog.hash", + "auditlog.seq" + ], + "base": null, + "mutation": null, + "input": { + "log": [ + { + "seq": 0, + "prev": "0x0000000000000000000000000000000000000000000000000000000000000000", + "proof": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + }, + "hash": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05" + }, + { + "seq": 1, + "prev": "0x7d43298c03b11b1f562e556ec47b2846a7e5fe53bbeb8a0c9f07faccfe159e05", + "proof": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0x582967534d0f909d196b97f9e6921342777aea87b46fa52df165389db1fb8ccf", + "outputHash": "0x762069bc07a6e1b5df123a5ae7bd91c10daa04694fbaa17fba0cd6a8dcce8f22", + "programSha256": null, + "program": "aere-node", + "exitCode": 0, + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x06a106c24b5fd8cfc7ed0cee3dc6401c720c394566ad3d7ca899f9640414fc8e" + }, + "hash": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640" + }, + { + "seq": 2, + "prev": "0xfa923655dd1c178a0474df55d6cd29d47724fa83324fc471ac5a07fdc12e7640", + "proof": { + "v": 1, + "kind": "aere-proof-of-time-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-time", + "subjectHash": "0xe12e3d24bc08d052711daa489e746297af597599f2726d945c1d6309427b9394", + "source": "aere-anchor", + "at": "2026-09-26T00:00:00Z", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0xbd803c1eae1875ac755df34e94e9cb20e30c12fe3c02b0c7c4cfe677040ecd31" + }, + "hash": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95" + }, + { + "seq": 3, + "prev": "0x5d38e31c21e00f88cbf0cc720348916df6a0d09a3c4155c6e3de556a637c6b95", + "proof": { + "v": 1, + "kind": "aere-proof-of-identity-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-identity", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "subjectHash": null, + "method": "ml-dsa-65", + "subjectId": "agent-1", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x9c609bdaa3f6e7c0b926c2071a18026a6073e92c4344ea537f3ffabcd3a921b9" + }, + "hash": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf" + }, + { + "seq": 4, + "prev": "0x10b3f1793cbcd8c4fc2cd6ee30b0638cbff3eeb8e61ac7e8899d2663cac2eecf", + "proof": { + "v": 1, + "kind": "aere-proof-of-location-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-location", + "evidenceHash": "0x20e95ada67c778758b26bd6425863f9a53bb666a98e3fe060eec15866e87cc12", + "subject": "srv-eu", + "region": "eu-central", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x88d2213cf649be8237cc64cff901e2ad8051473d4aab76ca02a7206dee83ad6c" + }, + "hash": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a" + }, + { + "seq": 5, + "prev": "0x363506fc947e7d8087d861e0bccfb222acfb8c564d7239162ee9c50def11cd7a", + "proof": { + "v": 1, + "kind": "aere-proof-of-device-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-device", + "attestationHash": "0xaa70e763e0eceecb3f1033c9cc44e05681d741afc05d0479269fe859d523021d", + "publicKeyHash": "0xfcab7fcc2b4cffd9bb45003bfc2e468a04ef6f77ca8200a7341f027631584d25", + "deviceId": "dev-9", + "posture": "secure-boot", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x440956f2ba441931fd5dcfbf808c3a646187bd01c144052d52a3b127dc71659c" + }, + "hash": "0x48af7e5cbaade0404f9d5195e25c91454fb9b1bf762149d735300c70b8fc04ae" + } + ] + }, + "expected": { + "verdict": "VALID", + "failed": [], + "levels": { + "integrity": "PASSED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-list.json b/conformance/vectori/envelope/data.form-list.json new file mode 100644 index 0000000..65adbbb --- /dev/null +++ b/conformance/vectori/envelope/data.form-list.json @@ -0,0 +1,62 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-list", + "artifact": "envelope", + "title": "the file holds a list with the envelope inside", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "op": "set", + "path": [ + "envelope" + ], + "value": [ + { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + } + ] + }, + "input": { + "envelope": [ + { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-data", + "sha256": "0x205830ca5b23bbe39ab510cfddc1dff2d9842e38b5fa7b7c48cd4ca7e44f92a1", + "name": "report.csv", + "createdAt": "2026-09-26T00:00:00Z" + }, + "statementHash": "0x2acbef682084c42c3f8a7bc9fa4370257ff83994ffa92c36e44c556b44d5c8b2" + } + ] + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-not-json.json b/conformance/vectori/envelope/data.form-not-json.json new file mode 100644 index 0000000..d29eea9 --- /dev/null +++ b/conformance/vectori/envelope/data.form-not-json.json @@ -0,0 +1,40 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-not-json", + "artifact": "envelope", + "title": "the file is not JSON (the envelope cut short)", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "producer": "the file holds text that is not JSON: the input carries it as `raw`, the text of the file, in place of `envelope`", + "changed": [ + [ + "envelope" + ], + [ + "raw" + ] + ] + }, + "input": { + "raw": "{\"v\":1,\"kind\":\"aere-proof-of-data-attestation\",\"statement\":{" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-null.json b/conformance/vectori/envelope/data.form-null.json new file mode 100644 index 0000000..efe9a88 --- /dev/null +++ b/conformance/vectori/envelope/data.form-null.json @@ -0,0 +1,36 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-null", + "artifact": "envelope", + "title": "the file holds the JSON value null", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "op": "set", + "path": [ + "envelope" + ], + "value": null + }, + "input": { + "envelope": null + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-number.json b/conformance/vectori/envelope/data.form-number.json new file mode 100644 index 0000000..14c8699 --- /dev/null +++ b/conformance/vectori/envelope/data.form-number.json @@ -0,0 +1,36 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-number", + "artifact": "envelope", + "title": "the file holds a number", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "op": "set", + "path": [ + "envelope" + ], + "value": 7 + }, + "input": { + "envelope": 7 + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-statement-list.json b/conformance/vectori/envelope/data.form-statement-list.json new file mode 100644 index 0000000..534cfcb --- /dev/null +++ b/conformance/vectori/envelope/data.form-statement-list.json @@ -0,0 +1,47 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-statement-list", + "artifact": "envelope", + "title": "the statement is a list, with the hash of that list", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "producer": "a producer that made the statement a list and hashed it", + "changed": [ + [ + "envelope", + "statement" + ], + [ + "envelope", + "statementHash" + ] + ] + }, + "input": { + "envelope": { + "v": 1, + "kind": "aere-proof-of-data-attestation", + "statement": [], + "statementHash": "0x4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-string.json b/conformance/vectori/envelope/data.form-string.json new file mode 100644 index 0000000..617b5aa --- /dev/null +++ b/conformance/vectori/envelope/data.form-string.json @@ -0,0 +1,36 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-string", + "artifact": "envelope", + "title": "the file holds a string", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "op": "set", + "path": [ + "envelope" + ], + "value": "x" + }, + "input": { + "envelope": "x" + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/data.form-true.json b/conformance/vectori/envelope/data.form-true.json new file mode 100644 index 0000000..44e5fea --- /dev/null +++ b/conformance/vectori/envelope/data.form-true.json @@ -0,0 +1,36 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/data.form-true", + "artifact": "envelope", + "title": "the file holds true", + "source": "derived from envelope/data.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity" + ], + "base": "envelope/data.valid", + "mutation": { + "op": "set", + "path": [ + "envelope" + ], + "value": true + }, + "input": { + "envelope": true + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.form" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/signed-head.signature-classical-key.json b/conformance/vectori/envelope/signed-head.signature-classical-key.json new file mode 100644 index 0000000..96121f4 --- /dev/null +++ b/conformance/vectori/envelope/signed-head.signature-classical-key.json @@ -0,0 +1,62 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/signed-head.signature-classical-key", + "artifact": "envelope", + "title": "the signature declares ml-dsa-65 and was made with an Ed25519 key: a classical signature is not a post-quantum one because it says so", + "source": "derived from envelope/signed-head.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity", + "envelope.signature" + ], + "base": "envelope/signed-head.valid", + "mutation": { + "producer": "the signer used a classical key (Ed25519, made and discarded at generation) and declared the scheme ml-dsa-65", + "changed": [ + [ + "envelope", + "signature", + "publicKey" + ], + [ + "envelope", + "signature", + "signature" + ] + ] + }, + "input": { + "envelope": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 3, + "rootHash": "0xfeabb16d0b795805345b053ff7b77d732ca566303b0dace87992b667674b1bd3", + "createdAt": "2026-10-03T09:33:28.671Z" + }, + "statementHash": "0xe661da6bb6f98b38d5b891debb4b72111b90852f133bed0f6dc22cb3f9ae6c41", + "signature": { + "scheme": "ml-dsa-65", + "publicKey": "MCowBQYDK2VwAyEAhL3xG9ucSsJb+ektvn4qeSgiiDwXofCsjuQf+G2NB+M=", + "signature": "AmhVjs2RszYtKNZlUuWC0q2HowZyOfYDfKJYzWAYApHzvYy4mNpxSVMx/sjx57uWkwBcqccjXn0Z2cN3hidMDw==" + } + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.signature" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/signed-head.signature-no-key.json b/conformance/vectori/envelope/signed-head.signature-no-key.json new file mode 100644 index 0000000..65a27f8 --- /dev/null +++ b/conformance/vectori/envelope/signed-head.signature-no-key.json @@ -0,0 +1,54 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/signed-head.signature-no-key", + "artifact": "envelope", + "title": "the signature carries no public key", + "source": "derived from envelope/signed-head.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity", + "envelope.signature" + ], + "base": "envelope/signed-head.valid", + "mutation": { + "op": "remove", + "path": [ + "envelope", + "signature", + "publicKey" + ] + }, + "input": { + "envelope": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 3, + "rootHash": "0xfeabb16d0b795805345b053ff7b77d732ca566303b0dace87992b667674b1bd3", + "createdAt": "2026-10-03T09:33:28.671Z" + }, + "statementHash": "0xe661da6bb6f98b38d5b891debb4b72111b90852f133bed0f6dc22cb3f9ae6c41", + "signature": { + "scheme": "ml-dsa-65", + "signature": "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" + } + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.signature" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/envelope/signed-head.signature-not-object.json b/conformance/vectori/envelope/signed-head.signature-not-object.json new file mode 100644 index 0000000..b4fd26d --- /dev/null +++ b/conformance/vectori/envelope/signed-head.signature-not-object.json @@ -0,0 +1,51 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "envelope/signed-head.signature-not-object", + "artifact": "envelope", + "title": "the signature field is a string", + "source": "derived from envelope/signed-head.valid", + "requires": [], + "exercises": [ + "envelope.form", + "envelope.integrity", + "envelope.signature" + ], + "base": "envelope/signed-head.valid", + "mutation": { + "op": "set", + "path": [ + "envelope", + "signature" + ], + "value": "signed" + }, + "input": { + "envelope": { + "v": 1, + "kind": "aere-audit-tree-head-attestation", + "statement": { + "v": 1, + "kind": "aere-audit-tree-head", + "host": "conformance", + "treeSize": 3, + "rootHash": "0xfeabb16d0b795805345b053ff7b77d732ca566303b0dace87992b667674b1bd3", + "createdAt": "2026-10-03T09:33:28.671Z" + }, + "statementHash": "0xe661da6bb6f98b38d5b891debb4b72111b90852f133bed0f6dc22cb3f9ae6c41", + "signature": "signed" + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "envelope.signature" + ], + "levels": { + "integrity": "PASSED", + "authenticity": "FAILED", + "anchoring": "NOT_MEASURED", + "finality": "NOT_MEASURED" + } + } +} diff --git a/conformance/vectori/market-timeline/s1-28001.proof-claim-early.json b/conformance/vectori/market-timeline/s1-28001.proof-claim-early.json new file mode 100644 index 0000000..3d1cd1d --- /dev/null +++ b/conformance/vectori/market-timeline/s1-28001.proof-claim-early.json @@ -0,0 +1,166 @@ +{ + "v": 1, + "kind": "aere-conformance-vector", + "id": "market-timeline/s1-28001.proof-claim-early", + "artifact": "market-timeline", + "title": "the envelope claims it was notarized earlier than the chain, read under the anchor, says", + "source": "derived from market-timeline/s1-paid-28001.valid", + "requires": [ + "rpc-28001" + ], + "exercises": [ + "envelope.finality", + "envelope.form", + "envelope.integrity", + "market.arbiter", + "market.complete", + "market.deadline", + "market.form", + "market.payout", + "market.posting", + "market.proof", + "market.replay", + "market.result", + "market.window" + ], + "base": "market-timeline/s1-paid-28001.valid", + "mutation": { + "op": "set", + "path": [ + "envelope", + "notarization", + "firstSeen" + ], + "value": 1790959033 + }, + "input": { + "chainId": 28001, + "market": "0x4145d6f639436d840957F2D4B9f2e73f34F56B5D", + "jobId": "5", + "constants": { + "arbiter": "0x5521aC7371Afdbf6BE986B46Da4116fb256d9e58", + "governance": "0x86D6C68408DDb2CC0d1cf4dFd6e07d3830600fAF", + "arbitrationTimeout": 1209600, + "zkVerifier": "0x70099E62735500AA2F85B60C518551a57B202d54", + "pinnedProofSelector": "0x4388a21c" + }, + "job": { + "requester": "0x86D6C68408DDb2CC0d1cf4dFd6e07d3830600fAF", + "provider": "0xeC2261CECBB06768F6db095822b429AF5c861E2e", + "token": "0x0000000000000000000000000000000000000000", + "reward": "0", + "providerBond": "0", + "specHash": "0xf2a0d3e03521234fd6be921e346817e6f77e20db038ff5325318a2a5a47cfd25", + "resultHash": "0xeba5b6ff363f15d358926ab16bc4c7c8c979ec2d217868134810488304dde0be", + "zkProgramVKey": "0x0000000000000000000000000000000000000000000000000000000000000000", + "mode": 0, + "status": 5, + "pqcSettlement": false, + "offchainResult": false, + "deadline": 1790960218, + "challengeWindow": 90, + "submittedAt": 1790959639, + "disputedAt": 0 + }, + "events": [ + { + "name": "JobPosted", + "args": { + "id": "5", + "requester": "0x86D6C68408DDb2CC0d1cf4dFd6e07d3830600fAF", + "token": "0x0000000000000000000000000000000000000000", + "reward": "10000000000000000", + "mode": "0", + "specHash": "0xf2a0d3e03521234fd6be921e346817e6f77e20db038ff5325318a2a5a47cfd25", + "deadline": "1790960218", + "pqcSettlement": false + }, + "blockNumber": 4446103, + "blockHash": "0xfc22d0155293bef0b5349507a2a45495de7d3baa37b1f9e5e482585d93ecdc3e", + "timestamp": 1790959620, + "txHash": "0x5178c7b523d9ad5516f5e649f50bc98c44aacd6c4564403ac6b7528a9e63791e", + "from": "0x86D6C68408DDb2CC0d1cf4dFd6e07d3830600fAF", + "logIndex": 0 + }, + { + "name": "JobClaimed", + "args": { + "id": "5", + "provider": "0xeC2261CECBB06768F6db095822b429AF5c861E2e", + "providerBond": "4000000000000000" + }, + "blockNumber": 4446113, + "blockHash": "0xd59b44a60e225a952c0ef940a62f6ebe7325dc4d75627161c329aa6f48bc9ce4", + "timestamp": 1790959626, + "txHash": "0xf46a947200113d014c3e8b0282267feb2882f0d8895ae4b13a72f1db20fa7ee3", + "from": "0xeC2261CECBB06768F6db095822b429AF5c861E2e", + "logIndex": 0 + }, + { + "name": "ResultSubmitted", + "args": { + "id": "5", + "resultHash": "0xeba5b6ff363f15d358926ab16bc4c7c8c979ec2d217868134810488304dde0be", + "result": "0x7b22646967657374223a22307864346139306165303264396364623232353863373239633532636166613662613263623164306539323532326135313739313733383362366535386131323535222c226974657273223a32303030302c2273656564223a22307862666366386461653665366631303562346537656164383938613466646230333139373435646562336433383034326533383135643735383035653130363064222c227461736b223a226b656363616b2d636861696e227d" + }, + "blockNumber": 4446136, + "blockHash": "0x7cedaf1f5da474b94c41fd0925f181459ff642fa449843886d94226daaf2650f", + "timestamp": 1790959639, + "txHash": "0xea128ff1992e39f6690ebfbfbd9896ff27bcea0db4b0070c32062d2de599d446", + "from": "0xeC2261CECBB06768F6db095822b429AF5c861E2e", + "logIndex": 0 + }, + { + "name": "JobPaid", + "args": { + "id": "5", + "provider": "0xeC2261CECBB06768F6db095822b429AF5c861E2e", + "token": "0x0000000000000000000000000000000000000000", + "reward": "10000000000000000", + "bondReturned": "4000000000000000" + }, + "blockNumber": 4446295, + "blockHash": "0x736c818d1833f0c88ccda5ec5101d392fd842af32a6b152018a085c7a75a7c5c", + "timestamp": 1790959733, + "txHash": "0x5e4bfedda879e4e016b7f4434f75da4a8af63ccc4cce285d714b9e56e453e65f", + "from": "0x5521aC7371Afdbf6BE986B46Da4116fb256d9e58", + "logIndex": 0 + } + ], + "result": "0x7b22646967657374223a22307864346139306165303264396364623232353863373239633532636166613662613263623164306539323532326135313739313733383362366535386131323535222c226974657273223a32303030302c2273656564223a22307862666366386461653665366631303562346537656164383938613466646230333139373435646562336433383034326533383135643735383035653130363064222c227461736b223a226b656363616b2d636861696e227d", + "envelope": { + "v": 1, + "kind": "aere-proof-of-execution-attestation", + "statement": { + "v": 1, + "kind": "aere-proof-of-execution", + "inputHash": "0xf2a0d3e03521234fd6be921e346817e6f77e20db038ff5325318a2a5a47cfd25", + "outputHash": "0xeba5b6ff363f15d358926ab16bc4c7c8c979ec2d217868134810488304dde0be", + "programSha256": "0x1824b9e133c368fab195cb2f33e35bee78abdb4de7b03f0c377ac5af951eb9e0", + "program": "keccak-chain", + "exitCode": 0, + "createdAt": "2026-10-02T16:47:11.789Z" + }, + "statementHash": "0xfffa43d50b6222a17f915d528f0f636b16882f736f357b8418d30dfec2f88200", + "notarization": { + "chainId": 28001, + "notary": "0x70099E62735500AA2F85B60C518551a57B202d54", + "firstSeen": 1790959033, + "txHash": "0x86f094ae0ba1030b97060792344eda1b6018367dbf14088c6c2de1e5a4e2fc6e", + "block": 4446125 + } + } + }, + "expected": { + "verdict": "INVALID", + "failed": [ + "market.proof" + ], + "levels": { + "integrity": "FAILED", + "authenticity": "NOT_MEASURED", + "anchoring": "PASSED", + "finality": "PASSED" + } + } +} diff --git a/conformance/verdict.mjs b/conformance/verdict.mjs index 47f7882..8f0e005 100644 --- a/conformance/verdict.mjs +++ b/conformance/verdict.mjs @@ -9,11 +9,11 @@ // // A level nobody judged is NOT_MEASURED and says why (`cause`). The verdict is INVALID when a level FAILED; PARTIAL when nothing // failed but something the artifact CLAIMS was not measured (a notarization claim not checked offline, a signature scheme the -// verifier cannot check, a timeline that is not terminal); VALID otherwise, and only with integrity PASSED. `failed` is the sorted +// verifier cannot check, a timeline that is not terminal, a trust chain no witness fixed in time); VALID otherwise, and only with integrity PASSED. `failed` is the sorted // list of the rule ids that refused: the suite compares it as an exact set. export const LEVELS = ['integrity', 'authenticity', 'anchoring', 'finality']; /** Causes that leave a claim of the artifact unmeasured: nothing failed, and the verdict still cannot be VALID. */ -export const CAUZE_PARTIALE = ['claim-not-checked', 'unmeasurable', 'pending', 'incomplete']; +export const CAUZE_PARTIALE = ['claim-not-checked', 'unmeasurable', 'pending', 'incomplete', 'unwitnessed']; export function acumulator() { return Object.fromEntries(LEVELS.map((l) => [l, { failed: [], motive: [], passed: [], nm: [] }])); } export const pica = (acc, level, rule, motiv) => { acc[level].failed.push(rule); if (motiv) acc[level].motive.push(motiv); }; diff --git a/market-settlement/README.md b/market-settlement/README.md index 18c6c78..5540dbd 100644 --- a/market-settlement/README.md +++ b/market-settlement/README.md @@ -24,11 +24,14 @@ arbiter or after `ARBITRATION_TIMEOUT`, the terminal payout matching the state, the public spec agreeing with whoever won, and the notarized envelope naming this job's spec and result before the window closed. Every refusal names its rule (`reguli`). A timeline the judge cannot read is refused by name, not thrown, and so is one that lacks an event the job state implies: a timeline with its submission event withheld used to skip the window rule and come out VALID (found by -the conformance suite on 2026-10-03, `conformance/`). +the conformance suite on 2026-10-03, `conformance/`). WHEN the provider's envelope was notarized is the chain's word, not the +envelope's: the caller hands the judge the reading of the AIP-23 reference verifier for that envelope (`certified`: the first-seen +time held by the notary under a verified post-quantum anchor); the judge takes the time from it and only compares the envelope's own +claim with it. Until 2026-10-03 the time was taken from the claim. Without a certified reading the judge says so (`nemasurat`). ``` AERE_TESTNET_KEY_FILE= AERE_ETHERS_DIR= node proba-piata-28001.mjs # the flow on 28001 (five scenarios) -node proba-judecata.mjs # the judge on the recorded timelines: 5 honest VALID, 15 forged or malformed INVALID, the receipt +node proba-judecata.mjs # the judge on the recorded timelines: 7 honest VALID, 18 forged or malformed INVALID, the receipt node proba-judecata.mjs --control-negativ # 10 plantings on a copy of piata.mjs; each forged fixture must then be accepted node extrage-artefact.mjs # regenerate AereComputeMarketV3.json from the contracts build (refuses a changed source) ``` diff --git a/market-settlement/piata.mjs b/market-settlement/piata.mjs index 6ea0758..73ab71b 100644 --- a/market-settlement/piata.mjs +++ b/market-settlement/piata.mjs @@ -89,13 +89,13 @@ export function judeca(d) { try { return judecaForma(d); } catch (e) { return { verdict: 'INVALID', motive: ['malformed timeline: ' + String(e.message).slice(0, 120)], reguli: ['forma'], randuri: [] }; } } function judecaForma(d) { - const motive = [], randuri = [], reguli = new Set(); const cere = (cond, text, regula) => { if (!REGULI.includes(regula)) throw new Error('piata: undeclared rule ' + regula); if (!cond) { motive.push(text); reguli.add(regula); } return !!cond; }; + const motive = [], randuri = [], nemasurat = [], reguli = new Set(); const cere = (cond, text, regula) => { if (!REGULI.includes(regula)) throw new Error('piata: undeclared rule ' + regula); if (!cond) { motive.push(text); reguli.add(regula); } return !!cond; }; const j = d.job, ev = d.events || []; const un = (n) => ev.find((e) => e.name === n); const toate = (n) => ev.filter((e) => e.name === n); const t = (e) => (e ? e.timestamp : null); if (!j || !ev.length) return { verdict: 'INCOMPLETE', motive: ['no job or no events'], reguli: [], randuri }; const intregi = (...x) => x.every(Number.isInteger); const okForma = typeof j === 'object' && Array.isArray(ev) && ev.every((e) => e && typeof e === 'object' && typeof e.name === 'string' && e.args && typeof e.args === 'object' && typeof e.from === 'string' && intregi(e.timestamp, e.blockNumber)) - && !!d.constants && typeof d.constants.arbiter === 'string' && intregi(d.constants.arbitrationTimeout, j.deadline, j.submittedAt, j.challengeWindow, j.status) && (d.result == null || typeof d.result === 'string') /*PAZA:forma*/; + && !!d.constants && typeof d.constants.arbiter === 'string' && intregi(d.constants.arbitrationTimeout, j.deadline, j.submittedAt, j.challengeWindow, j.status) && (d.result == null || typeof d.result === 'string') && (d.certified == null || (typeof d.certified === 'object' && Number.isInteger(d.certified.firstSeen))) /*PAZA:forma*/; if (!cere(okForma, 'malformed timeline: events need name, args, from, integer timestamp and blockNumber; the job and the constants their integer fields', 'forma')) return { verdict: 'INVALID', motive, reguli: [...reguli].sort(), randuri }; for (const e of ev) randuri.push(`${new Date(e.timestamp * 1000).toISOString()} #${e.blockNumber} ${e.name} by ${e.from.slice(0, 10)}.. ${Object.entries(e.args).filter(([k]) => k !== 'result').map(([k, v]) => k + '=' + (H32.test(String(v)) ? String(v).slice(0, 10) + '..' : String(v).length > 20 ? String(v).slice(0, 10) + '..' : v)).join(' ')}`); const posted = un('JobPosted'), claimed = un('JobClaimed'), submitted = un('ResultSubmitted') || un('ResultReferenced'), disputed = un('JobDisputed'), resolved = un('DisputeResolved'), timedOut = un('DisputeTimedOut'), paid = un('JobPaid'), refunded = un('JobRefunded'), slashed = un('JobSlashed'); @@ -140,10 +140,24 @@ function judecaForma(d) { const e = d.envelope, stmt = e.statement || {}; const okE = e.kind === 'aere-proof-of-execution-attestation' && low(stmt.outputHash) === low(j.resultHash) && low(stmt.inputHash) === low(j.specHash) && sha256(Buffer.from(JSON.stringify(stmt), 'utf8')) === low(e.statementHash) /*PAZA:dovada*/; cere(okE, 'the execution envelope does not name this job\'s specHash/resultHash, or its statementHash is not its statement\'s', 'dovada'); - if (e.notarization && submitted) cere(Number(e.notarization.firstSeen) <= j.submittedAt + j.challengeWindow /*PAZA:dovada*/, 'the envelope was notarized only after the challenge window closed', 'dovada'); + // WHEN the envelope was notarized is the chain's word, not the envelope's: `d.certified` is the reading of the AIP-23 reference + // verifier for THIS envelope (its finality level's `certified`: the first-seen time held by the notary under a state root that a + // verified post-quantum anchor covers), brought by the caller who ran that verifier, never taken from the artifact. The time is + // taken from it; the envelope's own claim is only compared with it. (2026-10-03: until then the time was taken from the claim, + // so a claim written earlier than the truth passed.) Without a certified reading the claim is all there is: a claim that itself + // admits lateness is refused, and the result says the time was not measured. + const cert = d.certified || null, fereastra = j.submittedAt + j.challengeWindow; + if (cert) { + cere(low(cert.statementHash) === low(e.statementHash) /*PAZA:dovada*/, 'the certified reading is for another envelope than the one shown', 'dovada'); + if (submitted) cere(cert.firstSeen <= fereastra /*PAZA:dovada*/, `the chain first saw the envelope at ${cert.firstSeen}, after the challenge window closed (${fereastra})`, 'dovada'); + if (e.notarization && e.notarization.firstSeen !== undefined) cere(Number(e.notarization.firstSeen) === cert.firstSeen /*PAZA:dovada*/, `the envelope claims it was first seen at ${e.notarization.firstSeen}; the chain, read under the anchor, says ${cert.firstSeen}`, 'dovada'); + } else if (e.notarization) { + if (submitted) cere(Number(e.notarization.firstSeen) <= fereastra /*PAZA:dovada*/, 'the envelope was notarized only after the challenge window closed (by its own claim)', 'dovada'); + nemasurat.push('the notarization time: the envelope\'s claim was not compared with a certified reading of the chain'); + } } const terminalStatus = ['Paid', 'Refunded', 'Slashed'].includes(st); - return { verdict: motive.length ? 'INVALID' : terminalStatus ? 'VALID' : 'INCOMPLETE', motive, reguli: [...reguli].sort(), randuri, status: st, terminal, replay }; + return { verdict: motive.length ? 'INVALID' : terminalStatus ? 'VALID' : 'INCOMPLETE', motive, reguli: [...reguli].sort(), nemasurat, randuri, status: st, terminal, replay }; } /** The AIP-23 settlement receipt of a terminal job: the payout transaction, the parties, the amount, the instruction (market, job, status). */ export function chitanta(d, { createdAt = new Date().toISOString() } = {}) { diff --git a/market-settlement/proba-judecata.mjs b/market-settlement/proba-judecata.mjs index 357adb4..d27a059 100644 --- a/market-settlement/proba-judecata.mjs +++ b/market-settlement/proba-judecata.mjs @@ -38,6 +38,13 @@ export function fixturi(P) { F.push({ nume: 'N12 S5 an event whose time is not a whole number of seconds: refused by name (form)', asteptat: 'INVALID', paza: 'forma', r: () => { const d = date('S5'); ev(d, 'JobPosted').timestamp += 0.5; return v(P.judeca(d)); } }); F.push({ nume: 'N14 S1 finalized inside the window by a third party, with the ResultSubmitted event withheld (the window rule would be skipped): refused as not whole', asteptat: 'INVALID', paza: 'intreg', r: () => { const d = date('S1'); ev(d, 'JobPaid').timestamp = d.job.submittedAt + 1; d.events = d.events.filter((e) => e.name !== 'ResultSubmitted'); const r = P.judeca(d); return { verdict: r.verdict, detail: r.reguli.join() + ': ' + r.motive.join('; ') }; } }); F.push({ nume: 'N15 S4 the JobClaimed event withheld (the deadline rule of an expiry would be skipped): refused as not whole', asteptat: 'INVALID', paza: 'intreg', r: () => { const d = date('S4'); d.events = d.events.filter((e) => e.name !== 'JobClaimed'); return v(P.judeca(d)); } }); + // the notarization time is the chain's (a certified reading), not the envelope's claim + const cuCert = (d, x = {}) => ({ ...d, certified: { statementHash: d.envelope.statementHash, firstSeen: d.envelope.notarization.firstSeen, ...x } }); + F.push({ nume: 'C1 S1 with the certified reading of its envelope (the same time the claim says): VALID, nothing left unmeasured', asteptat: 'VALID', r: () => { const r = P.judeca(cuCert(date('S1'))); return { verdict: r.verdict === 'VALID' && r.nemasurat.length === 0 ? 'VALID' : 'INVALID', detail: r.motive.join('; ') + ' unmeasured: ' + r.nemasurat.length }; } }); + F.push({ nume: 'C2 S1 without a certified reading: VALID by the claim, and the judge says the time was not measured', asteptat: 'VALID', r: () => { const r = P.judeca(date('S1')); return { verdict: r.verdict === 'VALID' && r.nemasurat.length === 1 ? 'VALID' : 'INVALID', detail: r.nemasurat.join('; ') }; } }); + F.push({ nume: 'N16 S1 the envelope claims an earlier time than the chain certifies', asteptat: 'INVALID', paza: 'dovada', r: () => { const d = date('S1'); const c = cuCert(d); c.envelope.notarization.firstSeen -= 600; return v(P.judeca(c)); } }); + F.push({ nume: 'N17 S1 the chain certifies a time after the window closed, whatever the claim says', asteptat: 'INVALID', paza: 'dovada', r: () => { const d = date('S1'); return v(P.judeca(cuCert(d, { firstSeen: d.job.submittedAt + d.job.challengeWindow + 1 }))); } }); + F.push({ nume: 'N18 S1 a certified reading that is for another envelope', asteptat: 'INVALID', paza: 'dovada', r: () => v(P.judeca(cuCert(date('S1'), { statementHash: '0x' + 'dd'.repeat(32) }))) }); F.push({ nume: 'N13 malformed timelines (no constants, an event without args, events not a list) are refused by name, never thrown', asteptat: 'INVALID', r: () => { const rez = [(d) => { delete d.constants; }, (d) => { delete d.events[0].args; }, (d) => { d.events = 'x'; }].map((f) => { const d = date('S2'); f(d); const r = P.judeca(d); return r.verdict + ':' + r.reguli.join(); }); return { verdict: rez.every((x) => x === 'INVALID:forma') ? 'INVALID' : 'VALID', detail: rez.join(' ') }; } }); F.push({ nume: 'R1 the settlement receipt of S1 is an AIP-23 settlement envelope naming the payout tx and the provider', asteptat: 'VALID', r: () => { const d = date('S1'); const c = P.chitanta(d); const t = ev(d, 'JobPaid'); return { verdict: c.kind === 'aere-proof-of-settlement-attestation' && c.statement.txHash === t.txHash && c.statement.to.toLowerCase() === d.job.provider.toLowerCase() && c.statement.chainId === 28001 ? 'VALID' : 'INVALID', detail: c.statementHash.slice(0, 18) + '..' }; } }); return F; diff --git a/proof-of-ai/README.md b/proof-of-ai/README.md index 72af9d5..4a10afa 100644 --- a/proof-of-ai/README.md +++ b/proof-of-ai/README.md @@ -1,18 +1,24 @@ -# AERE Proof of AI (roadmap B2 / #38) +# AERE Proof of AI -Un plic AERE Proof Protocol (AIP-23) care dovedeste provenienta unei actiuni de agent AI - ce model, ce versiune, ce prompt, ce -unelte, ce iesire, ce agent, cine a cerut - verificat de ACELASI verificator ca orice alt proof AERE, fara niciun cod nou de -verificare. Notarizarea si finalitatea post-cuantica vin din AIP-23 (statementHash notarizat pe AereNotary, acoperit de o ancora PQ). +An AERE Proof Protocol (AIP-23) envelope that proves the provenance of an AI agent's action: which model, which version, which +prompt, which tools, which output, which agent and who asked. It is verified by the SAME verifier as every other AERE proof, with +no new verification code. Notarization and the post-quantum certified point come from AIP-23: the statement hash is notarized on +AereNotary and covered by a post-quantum anchor. ``` import { buildProofOfAi } from './proof-of-ai.mjs'; -const plic = buildProofOfAi({ model:{name,version,weightsSha256}, prompt, input, output, tools:[...], agentId, requester, createdAt }); -// -> plic AIP-23; se verifica cu tools/aere-proof-protocol/verify.mjs +const envelope = buildProofOfAi({ model:{name,version,weightsSha256}, prompt, input, output, tools:[...], agentId, requester, createdAt }); +// -> an AIP-23 envelope; verify it with the AIP-23 reference verifier (verify-proof.mjs, published at aere.network/tools) ``` -Plicul tine numai DIGESTURI (promptul, intrarea, iesirea, cine a cerut se stocheaza ca SHA-256, nu brut). Se aliniaza cu contractul -de pe lant `contracts/contracts/compliance/AereAIProof.sol` (modelId, inputHash, outputHash, requesterHash), dar e PORTABIL: exista -fara lant, il cere doar pentru finalitate. +The envelope holds DIGESTS only: the prompt, the input, the output and the requester are stored as SHA-256, never raw. It lines up +with the on-chain contract `AereAIProof` (modelId, inputHash, outputHash, requesterHash), but it is PORTABLE: it exists without the +chain and needs the chain only for the certified point. -Proba: `node proba-proof-of-ai.mjs` (6/6, cu control negativ: iesire schimbata dupa hash -> INVALID). Teza demonstrata: un standard, -multe feluri de dovada - acelasi verificator, un fel de proof nou, zero cod nou. +Test: `node proba-proof-of-ai.mjs` (6/6, with a negative control: an output changed after hashing is INVALID). What it shows: one +standard, many kinds of proof. The same verifier, a new kind of proof, no new code. + +What it is not: no third party has reviewed this component, and a proof of provenance says what was recorded, not that the model's +output is correct. + +(Until 2026-10-05 this README was written in Romanian.) diff --git a/verify-layer/README.md b/verify-layer/README.md index 89246fb..534543e 100644 --- a/verify-layer/README.md +++ b/verify-layer/README.md @@ -110,7 +110,7 @@ other, so both verify commands then say whether each head is signed and by which ## Tests - node proba-sidecar.mjs # 44 checks + node proba-sidecar.mjs # 45 checks node control-negativ-sidecar.mjs # puts each guard back to its absent form and requires the named check to fail node proba-arbore.mjs # 20: the tree (the reference roots of Certificate Transparency for 1..8 leaves, every proof up to 64 leaves, each attack) node control-negativ-arbore.mjs # 14 guards removed in a copy, each turns its named test red @@ -119,18 +119,26 @@ other, so both verify commands then say whether each head is signed and by which seq, a changed hash is caught, and nothing is appended to a broken chain; that a chain **rebuilt from genesis** passes `verify-log` alone (the stated limit) but fails against the attested head, as do a shortened log and a modified attestation, while a log that only grew passes; that a signed head passes the verifier's signature level and `--signer`, while a head -signed by another key, an unsigned head with `--signer`, and a damaged signature are refused; that two writers appending 150 entries each at the same time leave an intact chain of 300; +signed by another key, an unsigned head with `--signer`, a damaged signature, and a head signed with a classical key that +declares `ml-dsa-65` are refused; that two writers appending 150 entries each at the same time leave an intact chain of 300; that a line that is not JSON is reported as broken at its seq; that the Docker and Kubernetes adapters record only running containers and no secret value; and that every envelope is `VALID` for the AIP-23 reference verifier. The verifier is looked for at `AERE_VERIFY_PROOF` (for example `verify-proof.mjs` from the `aere-node` repository, after `npm install` there); without it, the five checks that need it are reported as skipped and the exit code is 2, not 0. -`control-negativ-sidecar.mjs` measured 10 of 10 on 2026-09-29: the version before the review (taken from the development -history, skipped where that history is absent) and nine plantings, each disabling one guard (the writer lock, the head +`control-negativ-sidecar.mjs` measured 11 of 11 on 2026-10-05: the version before the review (taken from the development +history, skipped where that history is absent) and ten plantings, each disabling one guard (the requirement that the key of a +head signature be an ML-DSA-65 key, the writer lock, the head comparison, the length check, the attestation hash check, the handling of an unreadable line, the digest check of `--attested`, the head signature check, the comparison with `--signer`, the refusal of an unsigned head when `--signer` is given). `proba-notarizare-testnet.mjs --key-file ` repeats the on-chain run above (9 checks, it needs a funded testnet key). +**Corrected on 2026-10-03.** Until then the check of a head's signature required the DECLARED scheme to be `ml-dsa-65` but not +the key to be an ML-DSA-65 key: a head signed with an Ed25519, RSA or P-256 key that declared `ml-dsa-65` was reported as a head +signed with ML-DSA-65. Found while this verifier was enrolled in the conformance suite (`conformance/`), where it is now a vector. +The key must be an ML-DSA-65 key, or the head is refused by name. Every refusal of `verify-log`, of the inclusion check and of the +consistency check now also carries a rule id from a declared list (`REGULI` in `sidecar.mjs` and `jurnal-arbore.mjs`). + ## What it is not (yet) It does not report to a live console over the network, and it has no per-cloud adapters that read deployments from the AWS, diff --git a/verify-layer/control-negativ-arbore.mjs b/verify-layer/control-negativ-arbore.mjs index 3c2cb8d..1d8e5ec 100644 --- a/verify-layer/control-negativ-arbore.mjs +++ b/verify-layer/control-negativ-arbore.mjs @@ -15,12 +15,12 @@ const PLANTARI = [ ['consistenta nu mai cere radacina veche', M, [["return sn === 0 && hx(fr) === firstRoot && hx(sr) === secondRoot;", 'return sn === 0 && hx(sr) === secondRoot;']], 'ATAC: istoria rescrisa'], ['consistenta fara radacina veche pusa in fata la o putere a lui 2', M, [["if ((firstSize & (firstSize - 1)) === 0) pc.unshift(dinHex(firstRoot, 'first root'));", '']], 'fiecare dovada de consistenta'], ['marimi egale acceptate cu orice drum', M, [['if (firstSize === secondSize) return path.length === 0 && firstRoot === secondRoot;', 'if (firstSize === secondSize) return true;']], 'CONTROL: marimi egale'], - ['intrarea din dovada nu isi mai reface hash-ul', J, [["if (hashIntrare(e.seq, e.prev, e.proof) !== e.hash) return", 'if (false) return']], 'ATAC: intrarea din dovada schimbata'], - ['plicul intrarii nu mai trebuie sa fie intreg', J, [["if (!e.proof || !e.proof.statement || sha256(Buffer.from(JSON.stringify(e.proof.statement), 'utf8')) !== String(e.proof.statementHash).toLowerCase()) return", 'if (false) return']], 'ATAC: un plic stricat scris de gazda'], - ['marimea si radacina capului nu se mai compara cu dovada', J, [['if (cap.statement.treeSize !== d.treeSize || cap.statement.rootHash !== d.rootHash) return', 'if (false) return']], 'ATAC: dovada de includere pentru un arbore de alta marime'], - ['capul atins primit (statementHash nerefacut)', J, [["if (!H.test(String(cap.statementHash)) || sha256(Buffer.from(JSON.stringify(st), 'utf8')) !== cap.statementHash) return", 'if (false) return']], 'ATAC: capul de arbore atins'], + ['intrarea din dovada nu isi mai reface hash-ul', J, [["if (!(hashIntrare(e.seq, e.prev, e.proof) === e.hash /*PAZA:includere-intrare*/)) return", 'if (false) return']], 'ATAC: intrarea din dovada schimbata'], + ['plicul intrarii nu mai trebuie sa fie intreg', J, [["=== String(e.proof.statementHash).toLowerCase() /*PAZA:includere-plic*/)) return", "=== String(e.proof.statementHash).toLowerCase() /*PAZA:includere-plic*/) && Boolean(Number('0'))) return"]], 'ATAC: un plic stricat scris de gazda'], + ['marimea si radacina capului nu se mai compara cu dovada', J, [['if (!(cap.statement.treeSize === d.treeSize && cap.statement.rootHash === d.rootHash /*PAZA:includere-cap*/)) return', 'if (false) return']], 'ATAC: dovada de includere pentru un arbore de alta marime'], + ['capul atins primit (statementHash nerefacut)', J, [["=== cap.statementHash /*PAZA:arbore-hash*/)) return", "=== cap.statementHash /*PAZA:arbore-hash*/) && Boolean(Number('0'))) return"]], 'ATAC: capul de arbore atins'], ['semnatarul cerut nu mai trece in verificare', J, [['const s = verificaSemnaturaCap(cap, semnatar);', 'const s = verificaSemnaturaCap(cap, null);']], 'includere: intrarea 7'], - ['dovada de consistenta nu mai trebuie sa porneasca de la capul vechi', J, [['if (vechi.statement.treeSize !== d.firstSize || vechi.statement.rootHash !== d.firstRoot) return', 'if (false) return']], 'ATAC: capetele inversate'], + ['dovada de consistenta nu mai trebuie sa porneasca de la capul vechi', J, [['if (!(vechi.statement.treeSize === d.firstSize && vechi.statement.rootHash === d.firstRoot /*PAZA:consistenta-inceput*/)) return', 'if (false) return']], 'ATAC: capetele inversate'], ['un jurnal rupt primeste cap', J, [['if (!v.ok) throw new Error(`tree: the log is broken', 'if (false) throw new Error(`tree: the log is broken']], 'un jurnal rupt'], // B-25: forma publicata in 082b862 (iesirea tace despre semnatura capetelor) ['verify-consistency tace despre semnatura capetelor', 'sidecar.mjs', [['the history up to the old head was not rewritten)${semn}', 'the history up to the old head was not rewritten)']], 'B-25'], diff --git a/verify-layer/control-negativ-sidecar.mjs b/verify-layer/control-negativ-sidecar.mjs index 678ba80..fa64a4b 100644 --- a/verify-layer/control-negativ-sidecar.mjs +++ b/verify-layer/control-negativ-sidecar.mjs @@ -37,6 +37,7 @@ const T = { semnStricata: 'S CONTROL: o semnatura de cap stricata', altaCheie: 'S CONTROL: capul semnat de alta cheie', nesemnat: 'S CONTROL: un cap nesemnat', + cheieClasica: 'S CONTROL: un cap semnat cu o cheie clasica', }; function caz(id, text, tinte) { @@ -66,14 +67,15 @@ const nou = fs.readFileSync(SRC, 'utf8'); const NU = "process.env.AERE_PLANTA_NICIODATA === 'da'"; const P = [ ['P1', " try { return fn(); } finally { try { fs.unlinkSync(lacat); } catch { /* deja ridicat */ } }\n}", ` try { return fn(); } finally { try { fs.unlinkSync(lacat); } catch { /* deja ridicat */ } }\n}\nconst cuLacatAdevarat = cuLacat;\ncuLacat = (p, fn) => (${NU} ? cuLacatAdevarat(p, fn) : fn());`, [T.concurent]], - ['P2', 'if (h !== st.head.toLowerCase()) return', `if (h !== st.head.toLowerCase() && ${NU}) return`, [T.refacut]], - ['P3', 'if (intrari.length < st.count) return', `if (intrari.length < st.count && ${NU}) return`, [T.taiat]], - ['P4', "if (!eDigest(cap.statementHash) || sha256(Buffer.from(JSON.stringify(st), 'utf8')) !== cap.statementHash.toLowerCase()) return", `if (!eDigest(cap.statementHash) || (sha256(Buffer.from(JSON.stringify(st), 'utf8')) !== cap.statementHash.toLowerCase() && ${NU})) return`, [T.capMan]], + ['P2', 'if (!(h === String(st.head).toLowerCase() /*PAZA:cap-rescris*/)) return', `if (!(h === String(st.head).toLowerCase() /*PAZA:cap-rescris*/) && ${NU}) return`, [T.refacut]], + ['P3', 'if (!(intrari.length >= st.count /*PAZA:cap-scurt*/)) return', `if (!(intrari.length >= st.count /*PAZA:cap-scurt*/) && ${NU}) return`, [T.taiat]], + ['P4', "=== cap.statementHash.toLowerCase() /*PAZA:cap-hash*/)) return", `=== cap.statementHash.toLowerCase() /*PAZA:cap-hash*/) && ${NU}) return`, [T.capMan]], ['P5', "try { return JSON.parse(l); } catch { return { necitibil: true }; }", `try { return JSON.parse(l); } catch (e) { if (${NU}) return { necitibil: true }; throw e; }`, [T.necitibil]], ['P6', 'if (!eDigest(attested)) {', `if (!eDigest(attested) && ${NU}) {`, [T.digest]], - ['P7', "if (!ok) return { ok: false, semnat: true, keyId: idCheie(pub), motiv: 'the head signature does not verify over the statement' };", `if (!ok && ${NU}) return { ok: false, semnat: true, keyId: idCheie(pub), motiv: 'the head signature does not verify over the statement' };`, [T.semnStricata]], - ['P8', 'if (idCheie(asteptat) !== idCheie(pub)) return', `if (idCheie(asteptat) !== idCheie(pub) && ${NU}) return`, [T.altaCheie]], - ['P9', 'if (!s) return semnatarPem ? { ok: false,', `if (!s) return (semnatarPem && ${NU}) ? { ok: false,`, [T.nesemnat]], + ['P7', 'if (!(ok /*PAZA:cap-semnatura*/)) return', `if (!(ok /*PAZA:cap-semnatura*/) && ${NU}) return`, [T.semnStricata]], + ['P8', 'if (!(asteptat !== null && idCheie(asteptat) === id /*PAZA:cap-semnatar*/)) return', `if (!(asteptat !== null && idCheie(asteptat) === id /*PAZA:cap-semnatar*/) && ${NU}) return`, [T.altaCheie]], + ['P9', 'if (!(!semnatarPem /*PAZA:cap-nesemnat*/)) return', `if (!(!semnatarPem /*PAZA:cap-nesemnat*/) && ${NU}) return`, [T.nesemnat]], + ['P10', "if (!(!!pub && pub.asymmetricKeyType === 'ml-dsa-65' /*PAZA:cap-schema*/)) return", `if (!(!!pub && pub.asymmetricKeyType === 'ml-dsa-65' /*PAZA:cap-schema*/) && ${NU}) return`, [T.cheieClasica]], ]; for (const [id, a, b, tinte] of P) { let t = planta(nou, a, b); diff --git a/verify-layer/jurnal-arbore.mjs b/verify-layer/jurnal-arbore.mjs index 69302d4..14c9ead 100644 --- a/verify-layer/jurnal-arbore.mjs +++ b/verify-layer/jurnal-arbore.mjs @@ -33,14 +33,18 @@ export function capDeArbore(intrari, { host = 'sidecar', createdAt = new Date(). const plic = { v: 1, kind: TREE_HEAD + '-attestation', statement, statementHash: sha256(Buffer.from(JSON.stringify(statement), 'utf8')) }; return signKeyPem ? semneazaCap(plic, signKeyPem) : plic; } +// Every refusal of the checks below NAMES its rule (`regula`); the refusals of a head's signature carry the rules of the sidecar +// (cap-*). Each check of a rule carries its marker (see sidecar.mjs). +export const REGULI = ['dovada-forma', 'arbore-forma', 'arbore-hash', 'includere-index', 'includere-intrare', 'includere-plic', 'includere-frunza', 'includere-drum', 'includere-cap', 'consistenta-inceput', 'consistenta-sfarsit', 'consistenta']; +const refuz = (regula, motiv) => { if (!REGULI.includes(regula)) throw new Error('tree: undeclared rule ' + regula); return { ok: false, regula, motiv }; }; // un cap de arbore intreg (statementHash se reface), semnat de cine se cere (daca se cere) function capBun(cap, semnatar) { const st = cap && cap.statement; - if (!cap || cap.kind !== TREE_HEAD + '-attestation' || !st || st.kind !== TREE_HEAD) return { ok: false, motiv: `not an ${TREE_HEAD} attestation` }; - if (!H.test(String(cap.statementHash)) || sha256(Buffer.from(JSON.stringify(st), 'utf8')) !== cap.statementHash) return { ok: false, motiv: 'the tree head statementHash does not match its statement (modified head)' }; - if (!Number.isInteger(st.treeSize) || st.treeSize < 1 || !H.test(String(st.rootHash))) return { ok: false, motiv: 'the tree head has no valid size and root' }; + if (!(!!cap && cap.kind === TREE_HEAD + '-attestation' && !!st && st.kind === TREE_HEAD /*PAZA:arbore-forma*/)) return refuz('arbore-forma', `not an ${TREE_HEAD} attestation`); + if (!(!!cap && H.test(String(cap.statementHash)) && sha256(Buffer.from(String(JSON.stringify(st)), 'utf8')) === cap.statementHash /*PAZA:arbore-hash*/)) return refuz('arbore-hash', 'the tree head statementHash does not match its statement (modified head)'); + if (!(!!st && Number.isInteger(st.treeSize) && st.treeSize >= 1 && H.test(String(st.rootHash)) /*PAZA:arbore-forma*/)) return refuz('arbore-forma', 'the tree head has no valid size and root'); const s = verificaSemnaturaCap(cap, semnatar); - if (!s.ok) return { ok: false, motiv: s.motiv }; + if (!s.ok) return { ok: false, regula: s.regula, motiv: s.motiv }; return { ok: true, semnatDe: s.semnat ? s.keyId : null }; } @@ -55,20 +59,20 @@ export function dovadaIncludere(intrari, seq, treeSize = intrari.length) { */ export function verificaIncludere(d, { cap = null, semnatar = null } = {}) { try { - if (!d || d.kind !== 'aere-audit-inclusion-proof' || !d.entry) return { ok: false, motiv: 'not an aere-audit-inclusion-proof' }; + if (!(!!d && d.kind === 'aere-audit-inclusion-proof' && !!d.entry && typeof d.entry === 'object' /*PAZA:dovada-forma*/)) return refuz('dovada-forma', 'not an aere-audit-inclusion-proof'); const e = d.entry; - if (e.seq !== d.index) return { ok: false, motiv: `the entry is seq ${e.seq}, the proof is for index ${d.index}` }; - if (hashIntrare(e.seq, e.prev, e.proof) !== e.hash) return { ok: false, motiv: 'the entry hash does not match its content (modified entry)' }; - if (!e.proof || !e.proof.statement || sha256(Buffer.from(JSON.stringify(e.proof.statement), 'utf8')) !== String(e.proof.statementHash).toLowerCase()) return { ok: false, motiv: 'the entry\'s envelope statementHash does not match its statement' }; - if (d.leafHash !== frunza(e.hash)) return { ok: false, motiv: 'the leaf is not this entry' }; - if (!verifyInclusion(d)) return { ok: false, motiv: `the path does not lead from the entry to root ${String(d.rootHash).slice(0, 18)}.. of a tree of ${d.treeSize}` }; + if (!(e.seq === d.index /*PAZA:includere-index*/)) return refuz('includere-index', `the entry is seq ${e.seq}, the proof is for index ${d.index}`); + if (!(hashIntrare(e.seq, e.prev, e.proof) === e.hash /*PAZA:includere-intrare*/)) return refuz('includere-intrare', 'the entry hash does not match its content (modified entry)'); + if (!(!!e.proof && !!e.proof.statement && sha256(Buffer.from(JSON.stringify(e.proof.statement), 'utf8')) === String(e.proof.statementHash).toLowerCase() /*PAZA:includere-plic*/)) return refuz('includere-plic', 'the entry\'s envelope statementHash does not match its statement'); + if (!(d.leafHash === frunza(e.hash) /*PAZA:includere-frunza*/)) return refuz('includere-frunza', 'the leaf is not this entry'); + if (!(verifyInclusion(d) /*PAZA:includere-drum*/)) return refuz('includere-drum', `the path does not lead from the entry to root ${String(d.rootHash).slice(0, 18)}.. of a tree of ${d.treeSize}`); if (cap) { const c = capBun(cap, semnatar); if (!c.ok) return c; - if (cap.statement.treeSize !== d.treeSize || cap.statement.rootHash !== d.rootHash) return { ok: false, motiv: `the proof is for a tree of ${d.treeSize} with another root than the head's (${cap.statement.treeSize})` }; + if (!(cap.statement.treeSize === d.treeSize && cap.statement.rootHash === d.rootHash /*PAZA:includere-cap*/)) return refuz('includere-cap', `the proof is for a tree of ${d.treeSize} with another root than the head's (${cap.statement.treeSize})`); return { ok: true, semnatDe: c.semnatDe }; } return { ok: true, semnatDe: null }; - } catch (x) { return { ok: false, motiv: 'the proof cannot be read: ' + x.message }; } + } catch (x) { return refuz('dovada-forma', 'the proof cannot be read: ' + x.message); } } /** Dovada ca arborele de marime `firstSize` e un prefix al celui de marime `secondSize` (implicit tot jurnalul). */ @@ -78,14 +82,14 @@ export function dovadaConsistenta(intrari, firstSize, secondSize = intrari.lengt /** Verifica, FARA jurnal, ca un cap nou continua unul vechi: ambele capete intregi (si semnate de `semnatar`), dovada intre ele. */ export function verificaConsistenta(d, { vechi, nou, semnatar = null }) { try { - if (!d || d.kind !== 'aere-audit-consistency-proof') return { ok: false, motiv: 'not an aere-audit-consistency-proof' }; - const a = capBun(vechi, semnatar); if (!a.ok) return { ok: false, motiv: 'old head: ' + a.motiv }; - const b = capBun(nou, semnatar); if (!b.ok) return { ok: false, motiv: 'new head: ' + b.motiv }; - if (vechi.statement.treeSize !== d.firstSize || vechi.statement.rootHash !== d.firstRoot) return { ok: false, motiv: 'the proof does not start at the old head' }; - if (nou.statement.treeSize !== d.secondSize || nou.statement.rootHash !== d.secondRoot) return { ok: false, motiv: 'the proof does not end at the new head' }; - if (!verifyConsistency(d)) return { ok: false, motiv: `the new head (${d.secondSize}) does not extend the old one (${d.firstSize}): the history was rewritten` }; + if (!(!!d && d.kind === 'aere-audit-consistency-proof' /*PAZA:dovada-forma*/)) return refuz('dovada-forma', 'not an aere-audit-consistency-proof'); + const a = capBun(vechi, semnatar); if (!a.ok) return { ok: false, regula: a.regula, motiv: 'old head: ' + a.motiv }; + const b = capBun(nou, semnatar); if (!b.ok) return { ok: false, regula: b.regula, motiv: 'new head: ' + b.motiv }; + if (!(vechi.statement.treeSize === d.firstSize && vechi.statement.rootHash === d.firstRoot /*PAZA:consistenta-inceput*/)) return refuz('consistenta-inceput', 'the proof does not start at the old head'); + if (!(nou.statement.treeSize === d.secondSize && nou.statement.rootHash === d.secondRoot /*PAZA:consistenta-sfarsit*/)) return refuz('consistenta-sfarsit', 'the proof does not end at the new head'); + if (!(verifyConsistency(d) /*PAZA:consistenta*/)) return refuz('consistenta', `the new head (${d.secondSize}) does not extend the old one (${d.firstSize}): the history was rewritten`); // B-25 (2026-09-30): cine semneaza fiecare cap se intoarce si se spune; fara `semnatar`, doua capete nesemnate (sau semnate de // oricine) care se continua trec, si cititorul trebuie sa vada asta, nu doar "EXTENDS" return { ok: true, semnatVechi: a.semnatDe, semnatNou: b.semnatDe }; - } catch (x) { return { ok: false, motiv: 'the proof cannot be read: ' + x.message }; } + } catch (x) { return refuz('dovada-forma', 'the proof cannot be read: ' + x.message); } } diff --git a/verify-layer/proba-sidecar.mjs b/verify-layer/proba-sidecar.mjs index 2d94879..51167be 100644 --- a/verify-layer/proba-sidecar.mjs +++ b/verify-layer/proba-sidecar.mjs @@ -126,6 +126,11 @@ try { const hsr = path.join(T, 'head-semnat-rau.json'); fs.writeFileSync(hsr, JSON.stringify(cs)); const rSr = side(['verify-log', '--log', log, '--attested', hsr]); cer('S CONTROL: o semnatura de cap stricata -> refuzat chiar fara --signer (cod 1)', rSr.cod === 1 && /does not verify/.test(rSr.out)); + // 2026-10-03: o cheie CLASICA (Ed25519) care semneaza capul si declara schema ml-dsa-65: pana azi trecea drept cap semnat ML-DSA-65 + { const cc = jr(hs); const { publicKey, privateKey } = crypto.generateKeyPairSync('ed25519'); + cc.signature = { scheme: 'ml-dsa-65', publicKey: publicKey.export({ type: 'spki', format: 'der' }).toString('base64'), signature: crypto.sign(null, Buffer.from(JSON.stringify(cc.statement), 'utf8'), privateKey).toString('base64') }; + const hcc = path.join(T, 'head-cheie-clasica.json'); fs.writeFileSync(hcc, JSON.stringify(cc)); const rCc = side(['verify-log', '--log', log, '--attested', hcc]); + cer('S CONTROL: un cap semnat cu o cheie clasica (Ed25519) care declara ml-dsa-65 -> refuzat (cod 1)', rCc.cod === 1 && /public key is ed25519/.test(rCc.out)); } // ---- N: intrari nevalide ------------------------------------------------------------------------------------------------- const logN = path.join(T, 'necitibil.log'); fs.writeFileSync(logN, JSON.stringify(intrari[0]) + '\n{nu e json\n'); diff --git a/verify-layer/sidecar.mjs b/verify-layer/sidecar.mjs index 88a529c..72c736d 100644 --- a/verify-layer/sidecar.mjs +++ b/verify-layer/sidecar.mjs @@ -57,14 +57,19 @@ function citesteJurnal(p) { * Verifica lantul de hash-uri end-to-end. Returneaza {ok, count, head, rupt, motiv} - rupt = primul seq stricat sau null. * NU spune nimic despre un lant refacut in intregime: pentru asta, verificaFataDeCap. */ +// Every refusal of the checks below NAMES its rule (`regula`); a rule that is not declared cannot be named. Each check of a rule carries +// its marker, so that a conformance suite can take the rule out, in a copy, and see which of its vectors then pass. +export const REGULI = ['intrare', 'seq', 'lant', 'hash', 'cap-forma', 'cap-hash', 'cap-nesemnat', 'cap-schema', 'cap-cheie', 'cap-semnatura', 'cap-semnatar', 'cap-scurt', 'cap-rescris']; +const refuz = (regula, motiv, extra = {}) => { if (!REGULI.includes(regula)) throw new Error('sidecar: undeclared rule ' + regula); return { ok: false, regula, motiv, ...extra }; }; export function verificaJurnal(intrari) { + if (!(Array.isArray(intrari) /*PAZA:intrare*/)) return refuz('intrare', 'the log is not a list of entries', { count: 0, head: null, rupt: 0 }); let prev = GENEZA; for (let i = 0; i < intrari.length; i++) { - const e = intrari[i]; - if (!e || typeof e !== 'object' || e.necitibil) return { ok: false, count: intrari.length, head: null, rupt: i, motiv: `entry ${i} is not a JSON log entry` }; - if (e.seq !== i) return { ok: false, count: intrari.length, head: null, rupt: i, motiv: `wrong seq: ${e.seq} instead of ${i}` }; - if (e.prev !== prev) return { ok: false, count: intrari.length, head: null, rupt: i, motiv: `prev does not link entry ${i - 1}` }; - if (hashIntrare(e.seq, e.prev, e.proof) !== e.hash) return { ok: false, count: intrari.length, head: null, rupt: i, motiv: `the hash of entry ${i} does not match its content (modified)` }; + const e = intrari[i]; const la = { count: intrari.length, head: null, rupt: i }; + if (!(!!e && typeof e === 'object' && !e.necitibil /*PAZA:intrare*/)) return refuz('intrare', `entry ${i} is not a JSON log entry`, la); + if (!(e.seq === i /*PAZA:seq*/)) return refuz('seq', `wrong seq: ${e.seq} instead of ${i}`, la); + if (!(e.prev === prev /*PAZA:lant*/)) return refuz('lant', `prev does not link entry ${i - 1}`, la); + if (!(hashIntrare(e.seq, e.prev, e.proof) === e.hash /*PAZA:hash*/)) return refuz('hash', `the hash of entry ${i} does not match its content (modified)`, la); prev = e.hash; } return { ok: true, count: intrari.length, head: prev, rupt: null }; @@ -77,16 +82,16 @@ export function verificaJurnal(intrari) { */ export function verificaFataDeCap(intrari, cap, { semnatar = null } = {}) { const st = cap && cap.statement; - if (!cap || cap.kind !== 'aere-audit-head-attestation' || !st || st.kind !== 'aere-audit-head') return { ok: false, motiv: 'the file is not an aere-audit-head attestation' }; - if (!eDigest(cap.statementHash) || sha256(Buffer.from(JSON.stringify(st), 'utf8')) !== cap.statementHash.toLowerCase()) return { ok: false, motiv: 'the attestation statementHash does not match its statement (modified attestation)' }; + if (!(!!cap && cap.kind === 'aere-audit-head-attestation' && !!st && st.kind === 'aere-audit-head' /*PAZA:cap-forma*/)) return refuz('cap-forma', 'the file is not an aere-audit-head attestation'); + if (!(!!cap && eDigest(cap.statementHash) && sha256(Buffer.from(String(JSON.stringify(st)), 'utf8')) === cap.statementHash.toLowerCase() /*PAZA:cap-hash*/)) return refuz('cap-hash', 'the attestation statementHash does not match its statement (modified attestation)'); const sg = verificaSemnaturaCap(cap, semnatar); - if (!sg.ok) return { ok: false, motiv: sg.motiv }; - if (!Number.isInteger(st.count) || st.count < 0 || !eDigest(st.head)) return { ok: false, motiv: 'the attestation has no valid count and head' }; + if (!sg.ok) return sg; + if (!(!!st && Number.isInteger(st.count) && st.count >= 0 && eDigest(st.head) /*PAZA:cap-forma*/)) return refuz('cap-forma', 'the attestation has no valid count and head'); const v = verificaJurnal(intrari); - if (!v.ok) return { ok: false, motiv: `the log is broken at seq ${v.rupt}: ${v.motiv}` }; - if (intrari.length < st.count) return { ok: false, motiv: `the log has ${intrari.length} entries and the attested head covers ${st.count}: entries were removed` }; - const h = st.count === 0 ? GENEZA : intrari[st.count - 1].hash; - if (h !== st.head.toLowerCase()) return { ok: false, motiv: `entry ${st.count - 1} is not the attested head: the history before the attested point was rewritten` }; + if (!v.ok) return refuz(v.regula, `the log is broken at seq ${v.rupt}: ${v.motiv}`); + if (!(intrari.length >= st.count /*PAZA:cap-scurt*/)) return refuz('cap-scurt', `the log has ${intrari.length} entries and the attested head covers ${st.count}: entries were removed`); + const ultima = intrari[st.count - 1]; const h = st.count === 0 ? GENEZA : (ultima ? ultima.hash : null); + if (!(h === String(st.head).toLowerCase() /*PAZA:cap-rescris*/)) return refuz('cap-rescris', `entry ${st.count - 1} is not the attested head: the history before the attested point was rewritten`); return { ok: true, count: st.count, extra: intrari.length - st.count, semnatDe: sg.semnat ? sg.keyId : null }; } @@ -103,19 +108,24 @@ export function semneazaCap(plic, cheiePem) { const sig = crypto.sign(null, Buffer.from(JSON.stringify(plic.statement), 'utf8'), priv); return { ...plic, signature: { scheme: 'ml-dsa-65', publicKey: pub.export({ type: 'spki', format: 'der' }).toString('base64'), signature: sig.toString('base64') } }; } -/** @returns {{ok:boolean, semnat:boolean, keyId?:string, motiv?:string}} semnatarPem: cheia publica asteptata (optional) */ +/** @returns {{ok:boolean, semnat:boolean, keyId?:string, motiv?:string, regula?:string}} semnatarPem: cheia publica asteptata (optional) */ export function verificaSemnaturaCap(plic, semnatarPem = null) { const s = plic && plic.signature; - if (!s) return semnatarPem ? { ok: false, semnat: false, motiv: 'the head is not signed, and a signer was required' } : { ok: true, semnat: false }; - if (String(s.scheme).toLowerCase() !== 'ml-dsa-65' || !s.publicKey || !s.signature) return { ok: false, semnat: true, motiv: 'the head signature is not an ml-dsa-65 signature' }; - let pub; try { pub = crypto.createPublicKey({ key: Buffer.from(String(s.publicKey), 'base64'), format: 'der', type: 'spki' }); } catch { return { ok: false, semnat: true, motiv: 'the head signature public key cannot be read' }; } - let ok = false; try { ok = crypto.verify(null, Buffer.from(JSON.stringify(plic.statement), 'utf8'), pub, Buffer.from(String(s.signature), 'base64')); } catch { ok = false; } - if (!ok) return { ok: false, semnat: true, keyId: idCheie(pub), motiv: 'the head signature does not verify over the statement' }; + if (!s) { if (!(!semnatarPem /*PAZA:cap-nesemnat*/)) return refuz('cap-nesemnat', 'the head is not signed, and a signer was required', { semnat: false }); return { ok: true, semnat: false }; } + if (!(String(s.scheme).toLowerCase() === 'ml-dsa-65' && !!s.publicKey && !!s.signature /*PAZA:cap-schema*/)) return refuz('cap-schema', 'the head signature is not an ml-dsa-65 signature', { semnat: true }); + let pub = null; try { pub = crypto.createPublicKey({ key: Buffer.from(String(s.publicKey), 'base64'), format: 'der', type: 'spki' }); } catch { pub = null; } + if (!(pub !== null /*PAZA:cap-cheie*/)) return refuz('cap-cheie', 'the head signature public key cannot be read', { semnat: true }); + // The key must BE an ML-DSA-65 key. crypto.verify(null, ...) verifies with whatever key it is handed: until 2026-10-03 a head + // "signed" with an Ed25519 (or RSA, or P-256) key that declared the scheme ml-dsa-65 verified here as an ML-DSA-65 signed head. + if (!(!!pub && pub.asymmetricKeyType === 'ml-dsa-65' /*PAZA:cap-schema*/)) return refuz('cap-schema', `the head declares an ml-dsa-65 signature and its public key is ${pub ? pub.asymmetricKeyType : 'unreadable'}`, { semnat: true }); + const id = pub ? idCheie(pub) : null; + let ok = false; try { ok = crypto.verify(null, Buffer.from(String(JSON.stringify(plic.statement)), 'utf8'), pub, Buffer.from(String(s.signature), 'base64')); } catch { ok = false; } + if (!(ok /*PAZA:cap-semnatura*/)) return refuz('cap-semnatura', 'the head signature does not verify over the statement', { semnat: true, keyId: id }); if (semnatarPem) { - let asteptat; try { asteptat = crypto.createPublicKey(semnatarPem); } catch { return { ok: false, semnat: true, motiv: 'the expected signer key cannot be read' }; } - if (idCheie(asteptat) !== idCheie(pub)) return { ok: false, semnat: true, keyId: idCheie(pub), motiv: `the head is signed by another key (${idCheie(pub).slice(0, 18)}), not the expected signer` }; + let asteptat = null; try { asteptat = crypto.createPublicKey(semnatarPem); } catch { asteptat = null; } + if (!(asteptat !== null && idCheie(asteptat) === id /*PAZA:cap-semnatar*/)) return refuz('cap-semnatar', asteptat ? `the head is signed by another key (${String(id).slice(0, 18)}), not the expected signer` : 'the expected signer key cannot be read', { semnat: true, keyId: id }); } - return { ok: true, semnat: true, keyId: idCheie(pub) }; + return { ok: true, semnat: true, keyId: id }; } // ---- adaptorul de runtime: exportul pe care operatorul il face el insusi, fara acreditari de cloud ------------------------------