H33
L9.1 · Phase E close · June 3, 2026

First Independent Replay Verification.
The open lock closes.

The meta-lock · Eric Beans
"Build the cryptography feature."
"Don't let L9.1 become a cryptography feature. Make it a trustless verification feature."
One sentence reshapes the entire build. Every design question that follows traces back to it.
The trustless symmetry · LOCKED Eric Beans
Arm 1 · DB sidecar
tenant_pq_keyrings + principal_pq_keys + canonical_auth_event_pq_signatures
The signature archive lives in the database alongside the canonical event log. Same row count, append-only, FK-linked.
either survives the other
Arm 2 · Evidence package
public_keys.json + signatures.json (parallel export)
The same archive lives in the evidence-package tarball. Identical shape. Identical verification result.
DB gone → evidence package still verifies. Evidence package gone → DB still verifies. Trustless systems assume failure.
Auditors Regulators Court Trustees R&W Insurers Cybersecurity Reviewers Compliance Officers Forensic Investigators Independent 3rd-Party Verifiers
What was proven · 10-second read

The Phase E lock closes. Honestly.

01
A NEW L9.1 tenant lands at 100/100 verified: ML-DSA-65 + FALCON-512 + SLH-DSA-128f all check; canonical signing message matches.
02
The canonical continuity tenant remains untouched. State_ids are sacred. The verifier reports the pre-L9.1 honestly: 0/12 verified.
03
Either the DB or the evidence package independently produces the same verification result. Trustless symmetry holds.
Reading any H33 proof · the six questions

Same six answers. Hardening, not new axis.

  1. 1What happened?

    A new tenant (tenant_l91_verified_first_…) was signed end-to-end with persistent PQ keys. The DB sidecar + the evidence-package export carry identical archives. The verifier landed every event at "Verified."

  2. 2Who had authority?

    The L9.1 tenant root principal (princ_root_l91_verified_…) signed all three demo events. Its 3-PQ public-key bundle lives in the keyring (DB) and in public_keys.json (evidence package).

  3. 3How was authority reconstructed?

    For each event, the verifier recomputes canonical_signing_message(event), checks it against the supplied 32-byte message, then runs ML-DSA-65, FALCON-512, and SLH-DSA-SHA2-128f detached verification against the matching public keys. All three rounds must pass.

  4. 4What state was produced?

    L9.1 tenant: 3 events / 3 archive rows / 3/3 verified / fully_verified = true. Canonical continuity tenant: 12 events / 0 archive rows / 0/12 verified / 12 pre-L9.1 unsigned — honestly reported, state_ids untouched.

  5. 5What artifact was returned?

    reconstruction.json — the TenantVerificationSummary for both tenants, the hybrid storage description, the locked money quote, and the corpus pattern.

  6. 6How can a third party verify it?

    Run cargo test --test independent_replay_verification_001 -- --ignored against scif-backend @ 7626a5e93. The L9.1 tenant must land at 100/100; the canonical continuity tenant must report 0/12 with no failures.

01The money quote

Locked Eric Beans · June 3, 2026
Verified True.
A perfectly verified chain can still contain bad data, bad policy, bad judgment, bad humans. Verification proves integrity. Not correctness.
The boundary · LOCKED Eric Beans

Verified True.

Three NIST-final post-quantum signature families agree on every event. The canonical signing message matches the canonical event hash byte-for-byte. None of that is a verdict. The proof does NOT establish that the signer was authorized, that the data was correct, that the policy was wise, or that the human at the keyboard meant what the key signed. Verification proves integrity. Correctness, fairness, legality, and judgment remain where they belong — with auditors, regulators, courts, and competent counsel. This proof is integrity, not judgment.

02The pattern — four money quotes, one corpus

The corpus pattern is now four lines deep, and unmistakable to an auditor.

#184 · trunk capstone
Institutional Memory Legal Truth.
#174 · orthogonal · 1st
Influence Causation.
#167 · orthogonal · 2nd
Reproducibility Justification.
L9.1 · this proof
Verified True.

Each proof's deepest claim arrives with its own honest limit. The pattern says, unambiguously: H33 produces evidence — not verdicts.

03The two tenants — one verified, one honestly not

L9.1 demonstration tenant · NEW
tenant_l91_verified_first_…
3 / 3 verified · 100/100

Built fresh with persistent PQ keys. 3 events. 3 archive rows. Keyring registered. ML-DSA-65 + FALCON-512 + SLH-DSA-SHA2-128f all pass for every event. Signing messages match canonical hashes. fully_verified = true.

Canonical continuity tenant · pre-L9.1 · UNTOUCHED
tenant_insurance_claim_44962d9b-…
0 / 12 verified

The home of #15, #184, #174, #167. 12 events. 0 archive rows. 12 events honestly reported as "pre-L9.1 unsigned: structurally replayable, cryptographically unverifiable." State_ids untouched. The honesty is part of the proof.

Eric LOCKED · Q4 · the corpus discipline

Those state_ids are now sacred.

"Never mutate the canonical continuity tenant. Never re-sign history. Never regenerate evidence. Never change state_ids. Your honesty is one of the strongest parts of the corpus. Leave the old events as structurally replayable / cryptographically unverifiable. And say it openly."

04The verification primitive — what runs per event

verify_event_signature_record(rec) {
    // Step 1 — recompute the canonical signing message and confirm it
    // matches the supplied bytes (catches event tampering + sidecar mismatch).
    let recomputed = canonical_signing_message(rec.event);
    if recomputed != rec.signing_message { return SigningMessageMismatch }

    // Step 2 — ML-DSA-65 verification (NIST FIPS 204, Level 3).
    mldsa65::verify_detached_signature(rec.dilithium_sig, rec.signing_message, rec.dilithium_pk)?

    // Step 3 — FALCON-512 verification (NIST FIPS 206, Level 1, NTRU lattice).
    falcon512::verify_detached_signature(rec.falcon_sig, rec.signing_message, rec.falcon_pk)?

    // Step 4 — SLH-DSA-SHA2-128f verification (NIST FIPS 205, hash-based, Level 1).
    sphincssha2128fsimple::verify_detached_signature(rec.sphincs_sig, rec.signing_message, rec.sphincs_pk)?

    return Verified
}

All three NIST-finalist PQ families must agree. The 3-of-3 composite gives lattice + NTRU-lattice + hash-based independence — if one family falls to a future quantum break, the other two still hold.

05The schema (Eric Q1 LOCKED Option D — hybrid storage)

tenant_pq_keyrings                       (tenant_id, keyring_id, active_from_ms, revoked_at_ms)
principal_pq_keys                        (tenant_id, keyring_id, principal_id,
                                          dilithium_pk, falcon_pk, sphincs_pk,
                                          dilithium_pk_fp, falcon_pk_fp, sphincs_pk_fp)
canonical_auth_event_pq_signatures       (canonical_event_id → canonical_auth_events.id,
                                          tenant_id, keyring_id, principal_id,
                                          signing_message (32 bytes),
                                          dilithium_sig, falcon_sig, sphincs_sig)

Append-only. FK-linked to canonical_auth_events and to principal_pq_keys. The evidence-package arm exports identical content as public_keys.json and signatures.jsonidentical shape, identical verification result.

06What this proof IS and IS NOT

This proof IS

The close of the Phase E lock that has appeared as an honest-limit on every prior proof page since L9. The trustless verification feature Eric named in the meta-lock. The 3-PQ verification primitive shared by both the DB-backed and the evidence-package-backed paths. The hardening pass that follows the vision expansion of #174 + #167. The substrate on which the next decade of independent-3rd-party H33 audits run.

This proof IS NOT

A cryptography feature (Eric explicitly named this rejection). A new axis of the corpus. A claim about signer identity — proving the human or agent IS who the principal claims is Phase F, out of scope here. A claim that a verified chain contains true content. Authentication (continuity-axis territory). A substitute for auditors, regulators, courts, or competent counsel. Verified ≠ True.

07Honest limits (5)

  1. Signature verification ≠ signer identity. L9.1 proves a key signed; it does not prove the signer IS who they claim. PKI / signer-identity verification is Phase F.
  2. Key compromise breaks verification going forward, not history. A future-stolen key does not retroactively invalidate prior signatures under the original valid key. Bounded-window compromises remain Phase F territory.
  3. Algorithm agility. ML-DSA-65 / FALCON-512 / SLH-DSA-SHA2-128f are NIST-final today. Future quantum or mathematical breakthroughs against any one would force migration. The 3-of-3 composite gives resilience, not infinity.
  4. Pre-L9.1 events on the canonical continuity tenant. Signed but key-unknown. Verifier reports honestly. State_ids untouched.
  5. Verified ≠ True. The money quote.

08Where this proof sits

L9.1 is not on the continuity ladder. It is not on the computation axis. It is a hardening pass — it closes the open lock referenced on every prior proof page, raising Replay Confidence for new tenants from 72/100 to 100/100 while honestly reporting older tenants where the L9.1 sidecar wasn't yet written.

PhaseStatusNotes
Phase A — H33-74 substratelockedcore post-quantum receipt format
Phase B — canonical event loglockedcanonical_auth_events table + canonical event signing
Phase C — replay enginelockedreplay_until + AuthorityStateSnapshot
Phase D — independent replay (L9)lockedstructural reconstruction without DB or vendor
Phase E — per-event signature verificationCLOSED HERE (L9.1)trustless verification primitive + hybrid storage
Phase F — signer identity verificationopenPKI / human-IS-who-they-claim — out of scope for L9.1

09Evidence appendix

FieldValue
L9.1 tenanttenant_l91_verified_first_44962d9b-25f5-5622-bd9a-98d5580bb8a2
L9.1 tenant rootprinc_root_l91_verified_44962d9b-25f5-5622-bd9a-98d5580bb8a2
Keyringkeyring_l91_first_2026_06_03
L9.1 events total3
L9.1 archive rows3
L9.1 verified3 / 3 (100%) — fully_verified = true
L9.1 failed0
Canonical continuity tenanttenant_insurance_claim_44962d9b-25f5-5622-bd9a-98d5580bb8a2
Canonical continuity tenant events12 (untouched — state_ids sacred)
Canonical continuity tenant archive rows0 (pre-L9.1, no sidecar)
Canonical continuity tenant verified0 / 12 (honest)
Migrationmigrations/V016__pq_signature_archive.sql
Verification modulesrc/h33_auth/canonical_event_verification.rs
Archive modulesrc/h33_auth/canonical_event_archive.rs
Reconstruction artifactreconstruction.json
Harness — DB armtests/independent_replay_verification_001.rs
Harness — Evidence-package armtests/independent_replay_verification_002_evidence_package.rs (scif-backend @ d782b91cc)
Binary · verification flagsh33-independent-canonical-replay --verify-signatures --public-keys-file --signatures-file
Evidence-package arm result3/3 verified · binary & DB paths produce IDENTICAL output (symmetry exercised end-to-end)

10Readiness determination

Determination

First Independent Replay Verification: PROVEN IN OPERATION. The Phase E lock that has appeared as an honest-limit on every prior proof page since L9 is now closed. A new L9.1 tenant verifies 3-of-3 with all three NIST-final PQ families. The canonical continuity tenant remains untouched and its pre-L9.1 status is reported honestly. Either the DB or the evidence package independently produces the same verification result — trustless symmetry holds.

What this unlocks: an independent 3rd-party auditor can now run the verifier against either path and arrive at the same verification verdict — without the DB, without the vendor, without trusting H33 at all. The category Eric named: trustless verification.

What this does not unlock: signer identity verification (Phase F), correctness claims, fairness verdicts, or judgments of any kind. Verified ≠ True.

Issued by H33, Inc. · Eric Beans, CEO · 2026-06-03

Independently reconstructable. Inputs: scif-backend @ 7626a5e93 · tests/independent_replay_verification_001.rs · migration V016__pq_signature_archive.sql · reconstruction.json.