mirror of
https://github.com/saymrwulf/proof-aware-crypto-tooling-agent.git
synced 2026-09-03 19:53:43 +00:00
Phase 2b+3 of the step-3 rehearsal, under the four operator decisions of 2026-08-06: deterministic signing, separate slh_dsa block, additive posture, keygen executed same day (key in provider state, 0600, git-ignored — verified before generation, not after). src/pacta/slhdsa.py — the module that did not exist (register: pq-slot-names-unproven-algorithm). Parameter set LOCKED to SLH-DSA-SHA2-128s: every entry point asserts the key's reported algorithm and refuses anything else, because any other set sits outside all eleven certificates while looking like dogfood. Deterministic via -pkeyopt deterministic:1, so the byte-level reproducibility check that caught a real defect on the Ed25519 side survives here. Verification runs two ways: OpenSSL, and pacta-verify-slhdsa built from the pinned proven source — the one signature check in the estate performed by code whose verify path the certificates cover. The proven-verifier path is package-anchored, not cwd-relative: the lesson of signer-backend-depends-on-cwd applied on day one, not retrofitted. make_signed_tree_head grows optional slhdsa key parameters. With them, the head carries a signed slh_dsa block; without, an honest not-configured slot exactly as ml_dsa always has. ml_dsa itself is untouched. Signatures stay outside the signed payload for both algorithms — tested by asserting the payload is byte-identical with and without the slh_dsa key. Honesty carried in the artifact: signing_backend says "openssl" because no proven signer exists for any algorithm; the module docstring states that nothing here is Lean-proven and that the certificates cover the verify path of the extracted model only. Tests: 7 new, suite 152 passed, 0 failed, 0 skipped — including determinism (two signings, identical bytes), the foreign-key refusal (Ed25519 key raises), corruption rejected by both verifiers, and the proven/OpenSSL agreement. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures/mini-ed25519-verified/verification | ||
| test_agent.py | ||
| test_artifact.py | ||
| test_attestation.py | ||
| test_boundaries.py | ||
| test_claim_cards.py | ||
| test_claim_failures.py | ||
| test_curriculum_notebooks.py | ||
| test_doctor.py | ||
| test_dogfood.py | ||
| test_hygiene.py | ||
| test_lean.py | ||
| test_manifest_parsing.py | ||
| test_paper_verifiers.py | ||
| test_profiles.py | ||
| test_provider.py | ||
| test_published_assets.py | ||
| test_quorum.py | ||
| test_risk.py | ||
| test_signing.py | ||
| test_slhdsa.py | ||
| test_sthstore.py | ||
| test_transparency.py | ||
| test_wallet.py | ||
| test_wallet_hardening.py | ||
| test_walletmcp.py | ||
| test_walletui.py | ||
| test_web_and_witness.py | ||