mirror of
https://github.com/saymrwulf/proof-aware-crypto-tooling-agent.git
synced 2026-09-04 20:03:40 +00:00
The dogfood principle now runs in BOTH directions. Agents already
verified signatures through the proven dalek path; now the provider
SIGNS with it too, and proves to itself that the signing code is in its
own log before every signature:
- dogfood binary gains a `sign` mode (seed over stdin, never argv;
ed25519_dalek::SigningKey from the same pinned merkleized workspace).
Honesty ledger unchanged: the library's VERIFY path is
certificate-covered; its signing path is declared trusted base - but
it is the ATTESTED artifact, not an un-attested third implementation.
- sign_payload_ed25519_detailed: signing dispatch mirroring the verify
dispatch; the backend that actually signed is recorded in every
attestation signature block and STH.
- THE SELF-REFERENTIAL CHECK: before signing any tree head, the
provider runs the SAME Merkle inclusion verification an agent runs -
against the very tree it is about to sign - for the newest leaf
attesting the signing library itself, and embeds the result in the
signature block:
signing_provenance:
signing_backend: verified-dalek-serial
signing_library_component: dalek-ed25519-verified
signing_library_source_commit: aa0f6ab...
self_inclusion: verified
signing_library_leaf_index: 4
signing_library_certificates_proven: 16/16
A root signature that names the leaf vouching for the code that
produced it. First-append chicken-and-egg is handled honestly
(self_inclusion: library_not_in_log).
- Evidence refreshed: all four receipts re-issued under dogfood-signed
STHs; the full agent verify loop re-run green.
50/50 tests (new signing roundtrip test, skip-safe where unbuilt).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| anza-ed25519.attestation.yaml | ||
| anza-ed25519.receipt.yaml | ||
| betrusted-ed25519.attestation.yaml | ||
| betrusted-ed25519.receipt.yaml | ||
| dalek-ed25519.attestation.yaml | ||
| dalek-ed25519.receipt.yaml | ||
| latest-sth.yaml | ||
| log-audit.txt | ||
| log-metadata.json | ||
| provider.ed25519.pub | ||
| README.md | ||
| risc0-ed25519.attestation.yaml | ||
| risc0-ed25519.receipt.yaml | ||
Real Provider Evidence
Signed, transparency-logged attestations from a REAL guarded replay of the
four saymrwulf/*-ed25519-verified repositories (2026-07-06/07, ~30 min of
Lean re-checking per fork under lean-guard memory caps).
| File | What it is |
|---|---|
<fork>-ed25519.attestation.yaml |
Signed proof-check attestation: repo commit, environment, machine-protection block, and all 16 certificates with their OBSERVED axiom cones (the four apex tiers carry the fork's exact documented boundary) |
<fork>-ed25519.receipt.yaml |
RFC 9162-style inclusion receipt binding the attestation into the transparency log (tree size 8), with a consistency anchor |
provider.ed25519.pub |
The provider's public key (the PRIVATE key never leaves provider/state/, which is gitignored) |
log-metadata.json, latest-sth.yaml |
Log identity and the latest Signed Tree Head |
log-audit.txt |
Monitor self-check output (recomputed root matches the signed root) |
The log holds EIGHT leaves: entries 0-3 are the first run's attestations, which honestly record an AUDIT FAILURE (two bugs in pacta's audit step, since fixed - see the commit history); entries 4-7 are the definitive 16/16-proven attestations. An append-only trust ledger keeps its bad day.
Re-verify everything yourself (signature via the proven-path verifier if built, STH pinning, freshness):
pacta receipt-verify \
--attestation evidence/dalek-ed25519.attestation.yaml \
--receipt evidence/dalek-ed25519.receipt.yaml \
--log-public-key evidence/provider.ed25519.pub \
--sth-store /tmp/my-pins.json --max-sth-age-seconds 604800