CAIN-42 E21 evidence ==================== Save verify_e21.py.txt as verify_e21.py (Python 3 + `cryptography`; it imports nothing from CAIN) and run: python3 verify_e21.py . It re-hashes every file against MANIFEST.json and recomputes, from the published bodies: the research charter digest and its governance-quorum signatures; every evidence digest and producer signature; the evidence class labels and their environment kinds; replication independence; per-hypothesis independence groups, confidence and epistemic quality (with its own copy of the class weights and rules); hypothesis digests; the discovery digest, lifecycle and hash-chained lineage; the experiment design digest, approval signature and the terminated run; review and adversarial-attempt digests; knowledge claim digests and versions; the capability proposal digest, the promotion signature, its scope (an intersection) and the governance quorum that excludes the researchers; the E21 and E20 execution decision digests; the refusals; the loophole disclosure; the invalidation cascade; the discovery-memory chain (failures retained); the causal claim and counterfactual digests; the expected information gain (Shannon); the regression deltas; the competition commitments; benchmark digests; novelty states; and it checks the invariant, bench, research demonstration, self-evolution, mutation, tamper and scale records for consistency (it does not re-run them). It proves the bundle is intact and self-consistent. It does NOT prove that any hypothesis is true.