mirror of
https://github.com/saymrwulf/proof-aware-crypto-tooling-agent.git
synced 2026-09-04 20:03:40 +00:00
The provider ran its full honest replay against the four verified
repositories on this machine - every Lean compile and axiom audit routed
through lean-guard (memory-capped, core-pinned, single-flight, ~30 min
per fork) - and the results are now shipped under evidence/:
- 16/16 certificates proven per fork, every axiom cone boundary-exact
(the four apex tiers carry their fork's documented SHA-512/wire
boundary axiom-for-axiom), each attestation pinned to the exact repo
commit (dalek 8ded7bc, anza 673c15e, risc0 98a13a6, betrusted
81f614a) and Ed25519-signed.
- All four appended to the persistent transparency log. The log holds
EIGHT leaves: the first four are the initial run's attestations,
which honestly recorded an AUDIT FAILURE (the two pacta bugs fixed in
e87f0e8) - an append-only trust ledger keeps its bad day, and the
fixed run's leaves sit beside it.
- Every receipt re-verified through the FULL stack: dogfood verifier
(backend verified-dalek-serial recorded), STH pin store, freshness
policy. Receipts are freshly issued against the final tree (a stale
mid-run receipt tripped the pin store's rollback defense exactly as
designed; the rollback diagnostic now hints at idempotent re-issue).
- The capstone consequence ran for real: pacta agent with trusted
provider + signature via the proven path + required receipt + pin
store + --require-verified-verifier built the R4-gated library
capsule from ATTESTED evidence (no local Lean replay needed by the
consuming agent).
Docs and teaching updated against the real artifacts: evidence/README
(inventory + re-verify instructions), README "Real Evidence" section,
lecture 5 now re-derives 16/16 verdicts from the REAL dalek attestation
(signature checked on the proven path, provider labels ignored), and
lecture 6 verifies all four REAL receipts and walks a fresh pin store
over them. Every changed notebook cell executed before commit. 49/49
tests green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
270 lines
6.3 KiB
YAML
270 lines
6.3 KiB
YAML
schema_version: 1
|
|
provider: local-pacta-provider
|
|
issued_at: '2026-07-06T12:21:40Z'
|
|
machine_protection:
|
|
lean_guard: /home/oho/GitClone/Claude/FormalVerification/risc0-ed25519-verified/verification/lean-guard
|
|
note: All Lean compiles route through the repo's lean-guard (memory cap, core pinning,
|
|
timeout, single-flight lock) when configured.
|
|
subject:
|
|
component: risc0-ed25519-verified
|
|
repo_url: https://github.com/saymrwulf/risc0-ed25519-verified.git
|
|
repo_commit: 98a13a68539b20ac0279876848aea3687e523462
|
|
verification_dir: verification
|
|
kind: ed25519
|
|
verified_backend: serial/u64
|
|
environment:
|
|
lean_version: Lean (version 4.30.0-rc2, x86_64-unknown-linux-gnu, commit 3dc1a088b6d2d8eafe25a7cd7ec7b58d731bd7cc,
|
|
Release)
|
|
lake_version: Lake version 5.0.0-src+3dc1a08 (Lean version 4.30.0-rc2)
|
|
env_script: ~/aeneas-toolchain/env.sh
|
|
lean_project_dir: /home/oho/aeneas-toolchain/aeneas/backends/lean
|
|
replay:
|
|
check_attempted: true
|
|
check_ok: true
|
|
check_log_path: provider/out/logs/lean-check.log
|
|
checked_files: 63
|
|
failed_files: []
|
|
diagnostics: []
|
|
axiom_attempted: true
|
|
axiom_ok: true
|
|
axiom_log_path: provider/out/logs/axiom-audit.log
|
|
axiom_diagnostics: []
|
|
certificates:
|
|
- name: CurveFieldProofs.fieldImplementation
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.edwardsImplementation
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: ScalarProofs.scalarImplementation
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.verify_loop_full
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.to_bytes_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.ed_compress_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: ScalarProofs.from_bytes_mod_order_wide_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.vartime_dsm_basepoint_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.enc_point_inj
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.sqrt_ratio_i_sq_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.from_bytes_spec
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.decompress_of_canonical
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.verify_accepts_iff
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.verify_accepts_iff_point
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.verify_accepts_iff_point_eq
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
diagnostics: []
|
|
- name: CurveFieldProofs.verify_accepts_iff_decompress
|
|
status: proven
|
|
axiom_status: clean
|
|
observed_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
expected_axioms:
|
|
- propext
|
|
- Classical.choice
|
|
- Quot.sound
|
|
- ed25519.Signature
|
|
- verifying.sha512_hash3
|
|
- ed25519.Signature.to_bytes
|
|
- signature.error.Error
|
|
- signature.error.Error.new
|
|
diagnostics: []
|
|
signature:
|
|
scheme: openssl-ed25519
|
|
status: signed
|
|
payload_digest_sha256: d921c5d45f8300eecc0299fc3e11506df67751506b52cda35fb61d517b27712b
|
|
signature_base64: iwi/AR0wLQiGF6p/jBr/3PV01d2m3lmQOXfc/00axng9Tj/YUymGejWuUi1ZleZL1X0cA9NTNKc5bbIT8AyPDA==
|
|
public_key_fingerprint_sha256: 874c8a008a607021528b2493fa1caf059f9d5c123d29193dfabc09a6d1e7a56a
|