Verifiable Evaluation
Build provenance-oriented evaluation runs with attestations, signatures, and transparency evidence.
What this covers
- Deterministic run artifacts (
records.jsonl,manifest.json,summary.json,report.html) - DSSE attestation generation (
insidellms attest) - Sigstore signing (
insidellms sign) - Signature verification (
insidellms verify-signatures) - Optional transparency and distribution paths (SCITT receipts, OCI publish)
Trust boundaries
insidellms attestcreates DSSE envelopes with no embedded signatures. They are drafts until detached cosign bundles are created and verified.insidellms verify-signatureschecks each DSSE file it finds against its detached bundle and fails when that corresponding bundle is missing. It does not require the complete expected attestation set.- Optional
--identityapplies one cosign certificate-identity constraint. The command does not enforce an issuer, organization allowlist, or signer policy. - SCITT receipt checks in the current client are structural only. They do not verify a COSE signature, Merkle inclusion proof, issuer, or key.
- The TUF dataset client has no production verification path. It fails closed unless tests explicitly request a mock result labelled
verified=False.
Do not treat an unsigned envelope, a structurally checked receipt, or a TUF mock as verified provenance.
Prerequisites
- A completed run directory (must include
manifest.json) cosigninstalled for signing/verification workflows- Optional:
orasfor OCI publishing workflows
Use:
insidellms doctor --format text
to check common readiness items (ultimate:tuf, ultimate:cosign, ultimate:oras).
Quickstart: attest → sign → verify
# 1) Generate DSSE attestations for an existing run
insidellms attest ./baseline
# 2) Sign generated attestations
insidellms sign ./baseline
# 3) Verify signature bundles
insidellms verify-signatures ./baseline
To enforce signer identity constraints:
insidellms verify-signatures ./baseline --identity "EXPECTED_CERTIFICATE_IDENTITY"
Replace the value with the exact certificate identity you trust. It is not an issuer expression; issuer constraints and organizational authorization must be enforced separately.
Expected run-directory additions
After attest:
attestations/*.dsse.json
After sign:
signing/*.sigstore.bundle.json
Recommended CI posture
- Generate deterministic baseline/candidate runs.
- Generate attestations for both runs.
- Verify signatures in CI.
- Run
insidellms diff --fail-on-changesas a behavioral gate.
Related docs
- Determinism and CI
- Tracing and Fingerprinting
- CLI Reference
docs/DETERMINISM.mddocs/ARTIFACT_CONTRACT.mddocs/CRYPTO_DIGEST_CONTRACT.md— Digest descriptor fields for external verifiers