proof-aware-crypto-tooling-.../tests
mrwulf b8ffbafa7f The provider eats its own dogfood: root signatures via the merkleized library
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>
2026-07-06 15:21:17 +02:00
..
fixtures/mini-ed25519-verified/verification initial proof-aware tooling prototype 2026-07-03 10:51:03 +02:00
test_agent.py add policy-gated agent consequences 2026-07-03 11:05:06 +02:00
test_artifact.py add policy-gated agent consequences 2026-07-03 11:05:06 +02:00
test_attestation.py Estate sync: boundary-axiom vocabulary + the four-tier apex reality (R4) 2026-07-06 10:04:43 +02:00
test_boundaries.py Estate sync: boundary-axiom vocabulary + the four-tier apex reality (R4) 2026-07-06 10:04:43 +02:00
test_claim_cards.py initial proof-aware tooling prototype 2026-07-03 10:51:03 +02:00
test_claim_failures.py add policy-gated agent consequences 2026-07-03 11:05:06 +02:00
test_curriculum_notebooks.py Curriculum: the ratchet rule, the four-tier reality, and lecture 9 (dogfood) 2026-07-06 10:18:06 +02:00
test_doctor.py add verifier bootstrap and attestation lane 2026-07-03 11:24:13 +02:00
test_dogfood.py The provider eats its own dogfood: root signatures via the merkleized library 2026-07-06 15:21:17 +02:00
test_hygiene.py initial proof-aware tooling prototype 2026-07-03 10:51:03 +02:00
test_lean.py add nested proof check provider 2026-07-03 13:03:58 +02:00
test_manifest_parsing.py initial proof-aware tooling prototype 2026-07-03 10:51:03 +02:00
test_profiles.py Estate sync: boundary-axiom vocabulary + the four-tier apex reality (R4) 2026-07-06 10:04:43 +02:00
test_provider.py Estate sync: boundary-axiom vocabulary + the four-tier apex reality (R4) 2026-07-06 10:04:43 +02:00
test_risk.py add verifier bootstrap and attestation lane 2026-07-03 11:24:13 +02:00
test_signing.py add nested proof check provider 2026-07-03 13:03:58 +02:00
test_sthstore.py Log accountability: STH pinning, consistency enforcement, freshness, monitor 2026-07-06 10:08:34 +02:00
test_transparency.py add transparency log trust provider 2026-07-03 14:09:34 +02:00