diff --git a/contracts/verification/easycrypt/c10-port/RAW-ADAPTIVE-EXPOSURES.md b/contracts/verification/easycrypt/c10-port/RAW-ADAPTIVE-EXPOSURES.md index ecaa6d518..c490d31f9 100644 --- a/contracts/verification/easycrypt/c10-port/RAW-ADAPTIVE-EXPOSURES.md +++ b/contracts/verification/easycrypt/c10-port/RAW-ADAPTIVE-EXPOSURES.md @@ -75,3 +75,8 @@ component coordinates or values. #100 and #295 remain open. No new project axiom, admit, clone assumption, runtime, wire or parameter change is introduced. Rust extraction, concrete SHA-256, QROM and production assurance remain separate; the owner-triggered combined playbook pass #509 remains deferred. + +The later [returned-coordinate partition](RAW-FORGERY-PARTITION.md) retains +response widths, proves exact ordinary/special returned-value agreement, and +refines the actual game into explicit new-component/private/coverage cases. +Their numerical charges and general information-exposure analysis remain open. diff --git a/contracts/verification/easycrypt/c10-port/RAW-FORGERY-PARTITION.md b/contracts/verification/easycrypt/c10-port/RAW-FORGERY-PARTITION.md new file mode 100644 index 000000000..d55d0c3dd --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/RAW-FORGERY-PARTITION.md @@ -0,0 +1,73 @@ +# Returned-coordinate forgery partition + +This extends the [adaptive response ledger](RAW-ADAPTIVE-EXPOSURES.md) in the +manual classical ideal-oracle model. The original signer, byte client, observer, +oracle calls, counters, failure behavior and game are unchanged. + +`ExposureWidths.ec` proves that every successful response in the existing log +has the actual signature widths, through subsequent adaptive calls and final +verification. `ForsRootDeterminism.ec` proves uniqueness of complete FORS roots +at fixed coordinates in the same public/private tables. It needs no collision +exclusion: this is determinism of the retained reference construction. + +`ExposurePrivate.ec` combines each logged response's retained forest reference +with the previous reverse-recovery theorem. Outside the explicit public-node +collision event, an ordinary returned value equals the private-table value at +its exact hypertree/tree/leaf coordinate. The thirteenth value is the complete +tree-12 root, not an ordinary secret at index zero. Widths are used explicitly, +including when changing the default value of an in-range list lookup. + +`ExposureCoverage.ec` defines coverage over **all** responses. Each of the +twelve ordinary target coordinates must have been selected by some logged +response at the same hypertree index. Different trees may use different prior +responses. Repeats preserve the predicate; the empty log covers nothing. When +the forged forest has private openings and all coordinates are covered, all +twelve supplied values equal corresponding logged outputs, and its special +root equals a logged special root. Otherwise, the proof identifies an ordinary +coordinate absent from every returned response, together with the supplied +value's exact private-table witness. This is absence from returned coordinates, +not secrecy: public queries, intermediate values, other coordinates or guesses +may still disclose the value. + +`ExposureComponents.ec` identifies the component messages of every logged +response using its retained construction references and actual layer signature. +A missing lower-root reference yields a top WOTS message unequal to every +returned top message at that address. A missing forest-root reference similarly +yields a new bottom WOTS message. These results do not exclude previously +disclosed WOTS chain values or prove that either case is hard. + +`ExposurePartition.ec` and `ExposurePartitionGame.ec` refine the existing +successful new-message extraction into four residual cases: + +1. A top WOTS opening on a new component message. +2. Linked layer openings with a new bottom WOTS component message. +3. Linked private FORS openings with an unreturned ordinary coordinate. +4. Linked private FORS openings covered by accumulated responses, with exact + returned-value agreement including the special root. + +The theorem preserves the original message-freshness guard, public seed/root +binding and signing cap. A separate lemma proves that the forged message's +H_msg input differs from every logged response's H_msg input, using signature +widths. It does **not** assert freshness against prior public queries. + +`ExposurePartitionHop.ec::byte_exposure_partition_hop` carries this partition +into the existing real-to-independent probability hop via the exact passive +observer projection. The residual still includes successful forgery `res` and +the public collision/zero exclusions. The collision, zero-node and secret-prefix +charges are unchanged. None of the four residual cases receives a numerical +charge here; the result is not a nontrivial closed EUF bound. + +All new modules are replay targets under both proof drivers. Enrollment retains +the old theorem statements and assumption census and introduces no project +axiom, admit or clone assumption. Controls include exact consumers, empty/repeat +and ordinary/special boundaries, a conditional mixed-coverage consumer, scope +probes and deliberately mismatched theorem applications. The mixed consumer +is not a constructed concrete counterexample. Rejected applications do not +prove altered statements false or premises necessary. Scope probes remain +name-level checks rather than full soundness or nonvacuity proofs. + +General information-exposure accounting, reverse-chain/private-guess and +encoding/ITSR probability charges, and the final numerical bound remain open +under #100/#295. Rust extraction, concrete SHA-256, QROM and production assurance +remain separate. The combined owner-triggered playbook pass stays deferred +under #509. diff --git a/contracts/verification/easycrypt/c10-port/README.md b/contracts/verification/easycrypt/c10-port/README.md index ee5a7726f..c44856e4f 100644 --- a/contracts/verification/easycrypt/c10-port/README.md +++ b/contracts/verification/easycrypt/c10-port/README.md @@ -94,6 +94,12 @@ the original byte game's probability. All entries retain their construction references; the ledger matches the signed-message list and respects the cap. Full information-exposure and numerical private/encoding charges remain open. +The [returned-coordinate partition](RAW-FORGERY-PARTITION.md) separates the +actual game's residual into new WOTS component messages, an unreturned private +FORS coordinate, or coverage assembled from earlier responses. Covered values +agree with actual logged outputs; the special root remains separate. These +cases still need probability charges. + The [control evidence](CONTROL-EVIDENCE.md) distinguishes successful proofs, scope checks and expected proof-driver rejections. An exact theorem-statement mismatch does not establish that the altered statement is false or that every diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec new file mode 100644 index 000000000..6acab9597 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec @@ -0,0 +1,57 @@ +(* Missing reference messages differ from every retained returned component message. *) +require import AllCore List FMap IntDiv. +require import C10RawOracle C10HashDomains RawKeygen RawForest RawSigner. +require import ExposureLog ExposureSupport ExposureReferences. +require import MerkleRootWitness ForestRootWitness LayerSignOpening VerifierWotsOpening. +require import SubtreeOpeningCases ForestOpeningCases. + +op returned_top_message h s seed root (entries : signing_exposure list) tree value = + exists message signature d top, List.mem entries (message,signature) /\ + h.[hmsg_input seed root (pad signature.`1) message]=Some d /\ hypertree_index d %/512=tree /\ + merkle_root_witness h s seed 0 tree value /\ + layer_opening h s seed 1 0 tree value (nth ([],0,[]) signature.`4 1) top. +op returned_bottom_message h s seed root (entries : signing_exposure list) ht value = + exists message signature d lower, List.mem entries (message,signature) /\ + h.[hmsg_input seed root (pad signature.`1) message]=Some d /\ hypertree_index d=ht /\ + forest_root_witness h s seed ht value /\ + layer_opening h s seed 0 (ht %/512) (ht %%512) value (nth ([],0,[]) signature.`4 0) lower. + +lemma logged_component_messages h s seed root entries message signature d : + exposures_supported h s seed root entries => List.mem entries (message,signature) => + h.[hmsg_input seed root (pad signature.`1) message]=Some d => + exists forest lower, + returned_bottom_message h s seed root entries (hypertree_index d) forest /\ + returned_top_message h s seed root entries (hypertree_index d %/512) lower. +proof. + move=> hs hm hd. + have [ha [forest lower upper top [hf [ho [hb [hr ht]]]]]] := + logged_digest_references h s seed root entries message signature d hs hm hd. + exists forest upper; split. + + exists message signature d lower; smt(). + exists message signature d top; smt(). +qed. + +op new_top_component h s seed root entries d (sig : raw_signature) = + exists lower leaf, + !returned_top_message h s seed root entries (hypertree_index d %/512) lower /\ + wots_verifier_opening h s seed 1 0 (hypertree_index d %/512) + lower leaf ((nth ([],0,[]) sig.`4 1).`1,(nth ([],0,[]) sig.`4 1).`2). +op new_bottom_component h s seed root entries d (sig : raw_signature) = + exists forest lower bottom_leaf top_leaf, + linked_forest_layers h s seed d sig forest lower bottom_leaf top_leaf /\ + !returned_bottom_message h s seed root entries (hypertree_index d) forest. + +lemma missing_top_is_new_component h s seed root entries d sig : + unrecorded_top_message h s seed d sig => new_top_component h s seed root entries d sig. +proof. + move=> [lower leaf [hn ho]]; exists lower leaf; split; last exact ho. + rewrite /returned_top_message; smt(). +qed. + +lemma missing_forest_is_new_component h s seed root entries d sig : + unrecorded_forest_message h s seed d sig => new_bottom_component h s seed root entries d sig. +proof. + move=> [forest lower bottom_leaf top_leaf [hl hn]]. + exists forest lower bottom_leaf top_leaf; split; first exact hl. + rewrite /returned_bottom_message; smt(). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec new file mode 100644 index 000000000..aab14b7a2 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec @@ -0,0 +1,110 @@ +(* Coordinate coverage may combine different previous responses for different trees. *) +require import AllCore List FMap. +require import C10RawOracle C10HashDomains RawKeygen RawForest RawSigner RawSignature. +require import ExposureLog ExposureSupport ExposureReferences ExposureWidths ExposurePrivate. +require import ForestRootWitness ForsRootWitness ForsRootDeterminism ForsPrivateLeaves MemoNodeCollision. + +op logged_digest h seed root (entries : signing_exposure list) (d : digest) = + exists message signature, List.mem entries (message,signature) /\ + h.[hmsg_input seed root (pad signature.`1) message]=Some d. +op returned_coordinate h seed root entries ht tree index = + 0<=tree<12 /\ exists d, logged_digest h seed root entries d /\ + hypertree_index d=ht /\ forest_index d tree=index. +op returned_coverage h seed root entries d = + forall tree, 0<=tree<12 => + returned_coordinate h seed root entries (hypertree_index d) tree (forest_index d tree). + +lemma returned_coordinate_value h seed root entries ht tree index : + returned_coordinate h seed root entries ht tree index <=> + exists value, logged_fors_value h seed root entries ht tree index value. +proof. rewrite /returned_coordinate /logged_digest /logged_fors_value; smt(). qed. + +lemma returned_coverage_empty h seed root d : !returned_coverage h seed root [] d. +proof. rewrite /returned_coverage /returned_coordinate /logged_digest /=; smt(). qed. + +lemma returned_coverage_repeat h seed root entries d : + returned_coverage h seed root (entries++entries) d = returned_coverage h seed root entries d. +proof. rewrite /returned_coverage /returned_coordinate /logged_digest; smt(mem_cat). qed. + +lemma returned_coordinate_cat h seed root entries1 entries2 ht tree index : + returned_coordinate h seed root (entries1++entries2) ht tree index = + (returned_coordinate h seed root entries1 ht tree index \/ returned_coordinate h seed root entries2 ht tree index). +proof. rewrite /returned_coordinate /logged_digest; smt(mem_cat). qed. + +lemma logged_digest_covers_itself h seed root entries d : + logged_digest h seed root entries d => returned_coverage h seed root entries d. +proof. rewrite /returned_coverage /returned_coordinate; smt(). qed. + +lemma private_covered_value h s seed root entries d secrets tree : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => forest_private_openings h s seed (hypertree_index d) d secrets => + returned_coordinate h seed root entries (hypertree_index d) tree (forest_index d tree) => + logged_fors_value h seed root entries (hypertree_index d) tree (forest_index d tree) + (nth (nseq 16 0) secrets tree). +proof. + move=> hs hw hn [hp hl] hc. + have [value hv] : exists value, logged_fors_value h seed root entries (hypertree_index d) tree (forest_index d tree) value + by smt(returned_coordinate_value). + have [sd [hd he]] := logged_fors_private_value h s seed root entries (hypertree_index d) + tree (forest_index d tree) value hs hw hn hv. + have htr : 0<=tree<12 by move: hc; rewrite /returned_coordinate; smt(). + have [sd' [hd' he']] := hp tree htr. + have heq : value=nth (nseq 16 0) secrets tree by smt(). + by rewrite -heq. +qed. + +lemma coverage_returns_special h s seed root entries d secrets : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => forest_private_openings h s seed (hypertree_index d) d secrets => + returned_coverage h seed root entries d => + logged_special_root h seed root entries (hypertree_index d) (nth (nseq 16 0) secrets 12). +proof. + move=> hs hw hn [hp hl] hc. + have [htr [old [ho [hh hi]]]] := hc 0 _; first smt(). + have [message signature [hm hd]] := ho. + have hv : logged_special_root h seed root entries (hypertree_index d) (nth [] signature.`2 12) + by exists message signature old; smt(). + have hr := logged_special_private_root h s seed root entries (hypertree_index d) + (nth [] signature.`2 12) hs hw hn hv. + have he := fors_root_witness_unique h s seed (hypertree_index d) 12 + (nth [] signature.`2 12) (nth (nseq 16 0) secrets 12) hr hl. + smt(). +qed. + +op unreturned_private_opening h s seed root entries d (secrets : raw_input list) = + exists tree sd, 0<=tree<12 /\ + !returned_coordinate h seed root entries (hypertree_index d) tree (forest_index d tree) /\ + s.[fors_private_key (hypertree_index d) tree (forest_index d tree)]=Some sd /\ + nth (nseq 16 0) secrets tree=node sd. +op returned_private_values h seed root entries d (secrets : raw_input list) = + (forall tree, 0<=tree<12 => logged_fors_value h seed root entries (hypertree_index d) + tree (forest_index d tree) (nth (nseq 16 0) secrets tree)) /\ + logged_special_root h seed root entries (hypertree_index d) (nth (nseq 16 0) secrets 12). + +lemma unreturned_excludes_logged_values h s seed root entries d secrets : + unreturned_private_opening h s seed root entries d secrets => + exists tree sd, 0<=tree<12 /\ + (forall value, !logged_fors_value h seed root entries (hypertree_index d) tree (forest_index d tree) value) /\ + s.[fors_private_key (hypertree_index d) tree (forest_index d tree)]=Some sd /\ + nth (nseq 16 0) secrets tree=node sd. +proof. rewrite /unreturned_private_opening; smt(returned_coordinate_value). qed. + +lemma private_opening_coverage_partition h s seed root entries d secrets : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => forest_private_openings h s seed (hypertree_index d) d secrets => + (returned_coverage h seed root entries d /\ returned_private_values h seed root entries d secrets) \/ + unreturned_private_opening h s seed root entries d secrets. +proof. + move=> hs hw hn hp; case (returned_coverage h seed root entries d) => hc. + + left; split; first trivial. + rewrite /returned_private_values; split. + - move=> tree ht; apply (private_covered_value h s seed root entries d secrets tree) => //; exact (hc tree ht). + exact (coverage_returns_special h s seed root entries d secrets hs hw hn hp hc). + right; rewrite /unreturned_private_opening. + have [tree [ht hu]] : exists tree, 0<=tree<12 /\ + !returned_coordinate h seed root entries (hypertree_index d) tree (forest_index d tree) + by move: hc; rewrite /returned_coverage; smt(). + have [hp0 hp1] := hp. + have [sd [hd hv]] := hp0 tree ht. + exists tree sd; smt(). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec new file mode 100644 index 000000000..bad155d8a --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec @@ -0,0 +1,61 @@ +(* Four explicit uncharged residual cases for the same new-message forgery. *) +require import AllCore List FMap. +require import C10RawOracle C10RawGrind C10HashDomains RawKeygen RawForest RawSigner RawSignature. +require import ExposureLog ExposureSupport ExposureWidths ExposureCoverage ExposureComponents ExposureAccounting. +require import MerkleRootWitness ForestRootWitness ForestOpeningCases SessionForestExtraction MemoNodeCollision. +require import ByteReplay. + +op exposure_forgery_cases h s seed root entries d (sig : raw_signature) = + new_top_component h s seed root entries d sig \/ + new_bottom_component h s seed root entries d sig \/ + (linked_private_openings h s seed d sig /\ + unreturned_private_opening h s seed root entries d sig.`2) \/ + (linked_private_openings h s seed d sig /\ + returned_coverage h seed root entries d /\ returned_private_values h seed root entries d sig.`2). + +lemma forest_cases_exposure_partition h s seed root entries d sig : + exposures_supported h s seed root entries => exposures_width entries => !public_node_collision h => + forest_opening_cases h s seed d sig => exposure_forgery_cases h s seed root entries d sig. +proof. + move=> hs hw hn [ht | [hf | hp]]. + + left; exact (missing_top_is_new_component h s seed root entries d sig ht). + + right; left; exact (missing_forest_is_new_component h s seed root entries d sig hf). + have hprivate : forest_private_openings h s seed (hypertree_index d) d sig.`2 + by move: hp; rewrite /linked_private_openings; smt(). + have hc := private_opening_coverage_partition h s seed root entries d sig.`2 hs hw hn hprivate. + right; right; smt(). +qed. + +op new_message_exposure_partition h s seed root entries = + merkle_root_witness h s seed 1 0 root /\ + exists message sig d, size message=32 /\ signature_width sig /\ + !List.mem (exposure_messages entries) message /\ accept_digest d /\ + h.[hmsg_input seed (pad root) (pad sig.`1) message]=Some d /\ + exposure_forgery_cases h s seed (pad root) entries d sig. + +lemma new_message_forest_partition h s seed root entries : + exposures_supported h s seed (pad root) entries => exposures_width entries => !public_node_collision h => + new_message_forest_opening h s seed root (exposure_messages entries) => + new_message_exposure_partition h s seed root entries. +proof. + move=> hs hw hn [hr [message sig [hm [hwidth [hf [d [ha [hd hc]]]]]]]]. + split; first exact hr. + exists message sig d. + have hp := forest_cases_exposure_partition h s seed (pad root) entries d sig hs hw hn hc. + smt(). +qed. + +lemma partition_message_input_new seed root entries message (sig : raw_signature) : + exposures_width entries => signature_width sig => + !List.mem (exposure_messages entries) message => + forall oldmessage oldsig, List.mem entries (oldmessage,oldsig) => + hmsg_input seed (pad root) (pad sig.`1) message <> + hmsg_input seed (pad root) (pad oldsig.`1) oldmessage. +proof. + move=> hw hs hn oldmessage oldsig hm. + have he : message<>oldmessage by move: hn; rewrite /exposure_messages; smt(mapP). + have ho : signature_width oldsig by smt(). + have hr : size (pad sig.`1)=size (pad oldsig.`1) + by move: hs ho; rewrite /signature_width /pad !size_cat; smt(). + smt(hmsg_message_injective). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec new file mode 100644 index 000000000..e361af806 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec @@ -0,0 +1,85 @@ +(* The accumulated partition belongs to the original initialized byte client. *) +require import AllCore List FMap. +require import C10RawOracle PrefixGuess PrefixHybrid PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawSigner FullSession ByteSession IndependentWidths SignerEncodingCorrect. +require import ExposureLog ExposureDriver ExposureSupport ExposureAccounting ExposureSessionHistory. +require import ExposureWidths ExposurePartition MerkleRootWitness SessionForestExtraction. +require import MemoNodeCollision PublicNodeZero. + +lemma exposure_driver_forest (A <: FullClient {-FullSession,-ExposureLog,-Independent}) seed0 root0 : + hoare [ExposureDriver(A,Independent).run : seed=seed0 /\ root=pad root0 /\ + merkle_root_witness Independent.rawhistory Independent.secrethistory seed0 1 0 root0 ==> + res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + new_message_forest_opening Independent.rawhistory Independent.secrethistory + seed0 root0 FullSession.signed_messages]. +proof. + have he : equiv [ExposureDriver(A,Independent).run ~ FullDriver(A,Independent).run : + ={arg,glob A,glob Independent} ==> ={res,glob A,glob Independent,glob FullSession}] + by symmetry; conseq (exposure_driver_projection A Independent); smt(). + conseq he (full_driver_forest_extraction A seed0 root0). + + move=> &m hm; exists (glob A){m} Independent.queries{m} Independent.rawhistory{m} + Independent.secrethistory{m} (seed{m},root{m},qr{m},qs{m}); smt(). + smt(). +qed. + +lemma exposure_driver_typed_history (A <: FullClient {-FullSession,-ExposureLog,-Independent}) seed0 root0 qs0 : + 0<=qs0 => + hoare [ExposureDriver(A,Independent).run : seed=seed0 /\ root=pad root0 /\ qs=qs0 /\ + independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposures_supported Independent.rawhistory Independent.secrethistory seed0 (pad root0) ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages]. +proof. + move=> hqs; conseq (exposure_driver_history A seed0 (pad root0) qs0 hqs) (exposure_driver_width A); + rewrite /exposure_accounting; smt(). +qed. + +lemma exposure_driver_partition (A <: FullClient {-FullSession,-ExposureLog,-Independent}) seed0 root0 qs0 : + 0<=qs0 => + hoare [ExposureDriver(A,Independent).run : seed=seed0 /\ root=pad root0 /\ qs=qs0 /\ + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ + merkle_root_witness Independent.rawhistory Independent.secrethistory seed0 1 0 root0 ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposures_supported Independent.rawhistory Independent.secrethistory seed0 (pad root0) ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages /\ + (res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + new_message_exposure_partition Independent.rawhistory Independent.secrethistory seed0 root0 ExposureLog.entries)]. +proof. + move=> hqs. + conseq (exposure_driver_typed_history A seed0 root0 qs0 hqs) (exposure_driver_forest A seed0 root0); + smt(new_message_forest_partition). +qed. + +lemma exposure_context_partition + (A <: FullClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) seed0 qs0 : + 0<=qs0 => + hoare [ExposureContext(A,Independent).run : FullLimits.sign_cap=qs0 /\ + pad (node KeygenInputs.public_seed)=seed0 /\ + independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages /\ + (res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory seed0 root0 ExposureLog.entries)]. +proof. + move=> hqs; proc; inline KeygenPreparation(PreparationView(Independent)).run. + seq 2 : (FullLimits.sign_cap=qs0 /\ seed=seed0 /\ + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ + merkle_root_witness Independent.rawhistory Independent.secrethistory seed0 1 0 root). + + call (keygen_root_ready seed0); auto. + exists* root; elim* => root0. + call (exposure_driver_partition A seed0 root0 qs0 hqs); auto; smt(). +qed. + +lemma byte_exposure_partition + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) seed0 qs0 : + 0<=qs0 => + hoare [IndependentGame(ExposureContext(ByteLift(A))).run : FullLimits.sign_cap=qs0 /\ + pad (node KeygenInputs.public_seed)=seed0 ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages /\ + (res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory seed0 root0 ExposureLog.entries)]. +proof. + move=> hqs; proc; call (exposure_context_partition (ByteLift(A)) seed0 qs0 hqs); + call independent_init_valid; auto. +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec new file mode 100644 index 000000000..8fb2e11d5 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec @@ -0,0 +1,56 @@ +(* Refine the explicit residual in the same initialized game. The remaining + returned-coordinate cases are not charged here and this is not a closed EUF bound. *) +require import AllCore List Distr StdOrder. +require import C10RawOracle C10Counter PrefixGuess PrefixHybrid PrefixGames PrefixIdeal. +require import KeygenPrefixes KeygenExhaustion RawKeygen FullSession FullSessionCost FullPrefix ByteSession ByteBound. +require import ProjectedBirthday ProjectedMemoOracle MemoNodeCollision PublicNodeZero BytePublicNodeBad. +require import ExposureLog ExposureDriver ExposurePartition ExposurePartitionGame. +import RealOrder. + +lemma byte_exposure_partition_hop + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-Physical,-Hybrid,-Shared, + -Independent,-ExposureLog,-ProjectedMemo,-ProjectedSamples}) qr qs seed0 &m : + (forall (V <: ByteClientOracle {-A}), islossless V.hash => islossless V.sign => + islossless A(V).run) => + 0<=qr => 0<=qs => FullLimits.raw_cap{m}=qr => FullLimits.sign_cap{m}=qs => + pad (node KeygenInputs.public_seed{m})=seed0 => + Pr[RealGame(ByteContext(A)).run() @ &m : res] <= + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries] + + ((full_public_budget qr qs)*(full_public_budget qr qs-1))%r/2%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^256. +proof. + move=> ha hr hs hraw hsign hseed. + have hp := byte_public_node_bad_hop A qr qs &m ha hr hs hraw hsign. + have hproj : Pr[IndependentGame(ByteContext(A)).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory] = + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory]. + + byequiv (byte_exposure_game_projection A) => //. + have hz : Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + !(exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries)] = 0%r. + + byphoare (_ : FullLimits.sign_cap=qs /\ pad (node KeygenInputs.public_seed)=seed0 ==> + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + !(exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries)) => //. + hoare; conseq (byte_exposure_partition A seed0 qs hs); smt(). + have he : Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory] <= + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries] + + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + !(exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries)]. + + rewrite Pr[mu_split (exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries)]; apply ler_add; + by rewrite Pr[mu_sub]; smt(). + smt(). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec new file mode 100644 index 000000000..9b27167bf --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec @@ -0,0 +1,47 @@ +(* Retained output coordinates identify actual private values outside collisions. *) +require import AllCore List FMap. +require import C10RawOracle C10HashDomains RawKeygen RawForest RawSigner RawSignature. +require import ExposureLog ExposureSupport ExposureReferences ExposureWidths. +require import ForestRootWitness ForestRecordExtraction MemoNodeCollision ForsPrivateLeaves. + +lemma logged_digest_private h s seed root entries message (signature : raw_signature) d : + exposures_supported h s seed root entries => exposures_width entries => + List.mem entries (message,signature) => + h.[hmsg_input seed root (pad signature.`1) message]=Some d => + !public_node_collision h => + forest_private_openings h s seed (hypertree_index d) d signature.`2. +proof. + move=> hs hw hm hd hn. + have hwidth : signature_width signature by smt(). + have [ha [forest lower upper top [hr [hf htail]]]] := + logged_digest_references h s seed root entries message signature d hs hm hd. + apply (recorded_forest_extracts h s seed (hypertree_index d) d signature.`2 signature.`3 forest) + => //; move: hwidth; rewrite /signature_width; smt(). +qed. + +lemma logged_fors_private_value h s seed root entries ht tree index value : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => logged_fors_value h seed root entries ht tree index value => + exists sd, s.[fors_private_key ht tree index]=Some sd /\ value=node sd. +proof. + move=> hs hw hn [message signature d [hm [hd [hh [htr [hi hv]]]]]]. + have [hp hl] := logged_digest_private h s seed root entries message signature d hs hw hm hd hn. + have hwidth : signature_width signature by smt(). + have he : nth [] signature.`2 tree=nth (nseq 16 0) signature.`2 tree + by move: hwidth; rewrite /signature_width /rows_width; smt(nth_change_dfl). + have [sd [hsecret hval]] := hp tree htr. + exists sd; smt(). +qed. + +lemma logged_special_private_root h s seed root entries ht value : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => logged_special_root h seed root entries ht value => + ForsRootWitness.fors_root_witness h s seed ht 12 value. +proof. + move=> hs hw hn [message signature d [hm [hd [hh hv]]]]. + have [hp hl] := logged_digest_private h s seed root entries message signature d hs hw hm hd hn. + have hwidth : signature_width signature by smt(). + have he : nth [] signature.`2 12=nth (nseq 16 0) signature.`2 12 + by move: hwidth; rewrite /signature_width /rows_width; smt(nth_change_dfl). + smt(). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec new file mode 100644 index 000000000..5b79ae946 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec @@ -0,0 +1,93 @@ +(* Every returned response retains its exact signature widths. *) +require import AllCore List FMap. +require import C10RawOracle PrefixGuess PrefixHybrid PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawSigner RawSignature FullSession ByteSession ExposureLog ExposureDriver. +require import SignerTrace VerifierHistory IndependentWidths IndependentSignerWidth. + +op exposures_width (entries : signing_exposure list) = + forall entry, List.mem entries entry => signature_width entry.`2. + +lemma exposures_width_rcons entries entry : + exposures_width (rcons entries entry) = (exposures_width entries /\ signature_width entry.`2). +proof. rewrite /exposures_width; smt(mem_rcons). qed. + +lemma complete_signer_valid (S <: CompleteSigner {-Independent}) : + hoare [S(Independent).sign : independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory]. +proof. + proc (independent_tables_valid Independent.rawhistory Independent.secrethistory) => //. + + conseq independent_hash_width; smt(). + conseq independent_derive_width; smt(). +qed. + +lemma full_sign_valid_width : + hoare [FullSession(Independent).sign : independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ + (res<>None => signature_width (oget res))]. +proof. + have hw : hoare [RawSigner(Independent).sign : + independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ + (res<>None => signature_width (oget res))] + by conseq (complete_signer_valid RawSigner) independent_signer_width; smt(). + proc; sp 1; if; last auto. + wp; call hw; auto. +qed. + +lemma exposure_hash_width : + hoare [ExposureSession(Independent).hash : + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries]. +proof. proc; sp 1; if; auto; wp; call independent_hash_width; auto; smt(). qed. + +lemma exposure_sign_width : + hoare [ExposureSession(Independent).sign : + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries]. +proof. proc; wp; call full_sign_valid_width; auto; smt(exposures_width_rcons). qed. + +lemma exposure_client_width (A <: FullClient {-FullSession,-ExposureLog,-Independent}) : + hoare [A(ExposureSession(Independent)).run : + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries]. +proof. + proc (independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries) => //. + + exact exposure_hash_width. + exact exposure_sign_width. +qed. + +lemma verifier_exposure_width (V <: PublicVerifier {-Independent,-ExposureLog}) : + hoare [V(Independent).verify : + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries]. +proof. + proc (independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries) => //. + conseq independent_hash_width; smt(). +qed. + +lemma exposure_driver_width (A <: FullClient {-FullSession,-ExposureLog,-Independent}) : + hoare [ExposureDriver(A,Independent).run : + independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries]. +proof. + proc; seq 3 : (independent_tables_valid Independent.rawhistory Independent.secrethistory /\ exposures_width ExposureLog.entries). + + call (exposure_client_width A); wp; inline FullSession(Independent).init. + auto; rewrite /exposures_width; smt(mem_nil). + sp 1; if; last auto. + call (verifier_exposure_width RawSigner); auto. +qed. + +lemma exposure_context_width + (A <: FullClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) : + hoare [ExposureContext(A,Independent).run : + independent_tables_valid Independent.rawhistory Independent.secrethistory ==> + exposures_width ExposureLog.entries]. +proof. + proc; call (exposure_driver_width A); inline KeygenPreparation(PreparationView(Independent)).run. + wp; call (width_keygen_valid RawKeygen); auto. +qed. + +lemma byte_exposure_width + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) : + hoare [IndependentGame(ExposureContext(ByteLift(A))).run : true ==> exposures_width ExposureLog.entries]. +proof. proc; call (exposure_context_width (ByteLift(A))); call independent_init_valid; auto. qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec new file mode 100644 index 000000000..b8f40574d --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec @@ -0,0 +1,21 @@ +(* Complete FORS references have one root for a fixed coordinate and tables. *) +require import AllCore List FMap. +require import C10RawOracle RawKeygen RawForsPathReplay NodeCatalog NodeCatalogDomain StackPowers. +require import ForsRootWitness SecretLeafOrigins CatalogDeterminism. + +lemma fors_root_witness_unique h s seed ht tree root root' : + fors_root_witness h s seed ht tree root => fors_root_witness h s seed ht tree root' => root=root'. +proof. + move=> [c [hc [hs [hw [ho hr]]]]] [c' [hc' [hs' [hw' [ho' hr']]]]]. + have hl : forall i, (0,i) \in c => (0,i) \in c' => catalog_grid c 0 i=catalog_grid c' 0 i. + + move=> i hi hi'. + have he := get_some c (0,i) hi. + have he' := get_some c' (0,i) hi'. + have [sd d [hpriv [hpub hv]]] := ho i (oget c.[(0,i)]) he. + have [sd' d' [hpriv' [hpub' hv']]] := ho' i (oget c'.[(0,i)]) he'. + rewrite /catalog_grid; smt(). + have hm : (11,0) \in c by apply hc; rewrite /node_due /node_right_edge stack_pow2_11; smt(). + have hm' : (11,0) \in c' by apply hc'; rewrite /node_due /node_right_edge stack_pow2_11; smt(). + have he := catalog_common_nodes_equal h (fors_pair seed ht tree) c c' 11 hs hs' hl _ 0 hm hm'; first smt(). + smt(). +qed. diff --git a/contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec b/contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec index 658c3af3c..c116dd013 100644 --- a/contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec +++ b/contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec @@ -3652,7 +3652,8 @@ seq 15 18 : ( + have [_ hb] := Index.valP msigidx.`3. have hl : nr_trees 0 * l' = 2 ^ (h' * d). + rewrite /nr_trees /nr_nodes_ht /nr_nodes /l' /=. - have hd : 0 <= h' * (d - 1) by smt(ge1_hp ge1_d). + have hd : 0 <= h' * (d - 1). + + apply mulr_ge0; smt(ge1_hp ge1_d). have h0 : 0 <= h' by smt(ge1_hp). rewrite -exprD_nneg //. by rewrite (: h' * (d - 1) + h' = h' * d) 1:/#. diff --git a/contracts/verification/easycrypt/c10-port/cert-baseline-split.tsv b/contracts/verification/easycrypt/c10-port/cert-baseline-split.tsv index bf301e85c..f4fc1ba7b 100644 --- a/contracts/verification/easycrypt/c10-port/cert-baseline-split.tsv +++ b/contracts/verification/easycrypt/c10-port/cert-baseline-split.tsv @@ -2164,3 +2164,17 @@ cdrafts-split/ExposureReferences.ec defined-op:cff6a4e306dd logged_fors_value # cdrafts-split/ExposureReferences.ec defined-op:8768317f24b2 logged_special_root # line 42 cdrafts-split/ExposureSupport.ec defined-op:c60f21aa19b4 exposure_supported # line 7 cdrafts-split/ExposureSupport.ec defined-op:fc6445416bce exposures_supported # line 10 + +# Returned-coordinate forgery partition; existing census preserved. +cdrafts-split/ExposureComponents.ec defined-op:d5a1b0f24279 returned_top_message # line 8 +cdrafts-split/ExposureComponents.ec defined-op:62408d86ed67 returned_bottom_message # line 13 +cdrafts-split/ExposureComponents.ec defined-op:fd80cda1a867 new_top_component # line 34 +cdrafts-split/ExposureComponents.ec defined-op:582018721e8d new_bottom_component # line 39 +cdrafts-split/ExposureCoverage.ec defined-op:f86743d7b4c5 logged_digest # line 7 +cdrafts-split/ExposureCoverage.ec defined-op:5e659eb3edb5 returned_coordinate # line 10 +cdrafts-split/ExposureCoverage.ec defined-op:60959b5eb11e returned_coverage # line 13 +cdrafts-split/ExposureCoverage.ec defined-op:9e8413439bb2 unreturned_private_opening # line 74 +cdrafts-split/ExposureCoverage.ec defined-op:36a5047825b4 returned_private_values # line 79 +cdrafts-split/ExposurePartition.ec defined-op:bd79fbbbd477 exposure_forgery_cases # line 8 +cdrafts-split/ExposurePartition.ec defined-op:991055d128b6 new_message_exposure_partition # line 29 +cdrafts-split/ExposureWidths.ec defined-op:bc4d45bf5244 exposures_width # line 7 diff --git a/contracts/verification/easycrypt/c10-port/cert-cone-files-split.tsv b/contracts/verification/easycrypt/c10-port/cert-cone-files-split.tsv index 9156fc4b3..c61e720dc 100644 --- a/contracts/verification/easycrypt/c10-port/cert-cone-files-split.tsv +++ b/contracts/verification/easycrypt/c10-port/cert-cone-files-split.tsv @@ -114,14 +114,21 @@ cdrafts-split/EncodedSignatureSlices.ec cdrafts-split/EncodedSlices.ec cdrafts-split/ExhaustionCharges.ec cdrafts-split/ExposureAccounting.ec +cdrafts-split/ExposureComponents.ec +cdrafts-split/ExposureCoverage.ec cdrafts-split/ExposureDriver.ec cdrafts-split/ExposureForge.ec cdrafts-split/ExposureGameHistory.ec cdrafts-split/ExposureHistory.ec cdrafts-split/ExposureLog.ec +cdrafts-split/ExposurePartition.ec +cdrafts-split/ExposurePartitionGame.ec +cdrafts-split/ExposurePartitionHop.ec +cdrafts-split/ExposurePrivate.ec cdrafts-split/ExposureReferences.ec cdrafts-split/ExposureSessionHistory.ec cdrafts-split/ExposureSupport.ec +cdrafts-split/ExposureWidths.ec cdrafts-split/FORSC10Digest.ec cdrafts-split/FORS_C.ec cdrafts-split/FORS_C10.ec @@ -164,6 +171,7 @@ cdrafts-split/ForsPrivateEntry.ec cdrafts-split/ForsPrivateLeaves.ec cdrafts-split/ForsRecordExtraction.ec cdrafts-split/ForsReturnedRoot.ec +cdrafts-split/ForsRootDeterminism.ec cdrafts-split/ForsRootRecording.ec cdrafts-split/ForsRootWitness.ec cdrafts-split/ForsSignCorrect.ec diff --git a/contracts/verification/easycrypt/c10-port/cert-controls-split.tsv b/contracts/verification/easycrypt/c10-port/cert-controls-split.tsv index 1efa30698..20b244891 100644 --- a/contracts/verification/easycrypt/c10-port/cert-controls-split.tsv +++ b/contracts/verification/easycrypt/c10-port/cert-controls-split.tsv @@ -529,3 +529,30 @@ scratch/_scope_neg_op_ExposureSessionHistory.ec MUST-FAIL unknown variable or co scratch/_scope_neg_op_ExposureReferences.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' scratch/_scope_neg_op_ExposureGameHistory.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' scratch/_scope_neg_op_ExposureForge.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' + +# Returned-coordinate forgery partition: positives, scope probes and exact mismatches. +scratch/C10Q21WidthsPositive.ec MUST-PASS - +scratch/C10Q21RootPositive.ec MUST-PASS - +scratch/C10Q21WrongRoot.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21PrivatePositive.ec MUST-PASS - +scratch/C10Q21DropsCollision.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21DropsWidths.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21CoveragePositive.ec MUST-PASS - +scratch/C10Q21DropsPrivateCase.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21ComponentsPositive.ec MUST-PASS - +scratch/C10Q21UnloggedComponent.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21PartitionPositive.ec MUST-PASS - +scratch/C10Q21GamePositive.ec MUST-PASS - +scratch/C10Q21WrongSeed.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21HopPositive.ec MUST-PASS - +scratch/C10Q21DropsResidual.ec MUST-FAIL the given proof-term proves: +scratch/C10Q21CoverageEdgesPositive.ec MUST-PASS - +scratch/C10Q21MixedCoveragePositive.ec MUST-PASS - +scratch/_scope_neg_op_ExposureWidths.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ForsRootDeterminism.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposurePrivate.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposureCoverage.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposureComponents.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposurePartition.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposurePartitionGame.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' +scratch/_scope_neg_op_ExposurePartitionHop.ec MUST-FAIL unknown variable or constant: `FORS_C_TreePort.fverify_structural' diff --git a/contracts/verification/easycrypt/c10-port/cert-identity.tsv b/contracts/verification/easycrypt/c10-port/cert-identity.tsv index 56dde8ad4..8bc1174d9 100644 --- a/contracts/verification/easycrypt/c10-port/cert-identity.tsv +++ b/contracts/verification/easycrypt/c10-port/cert-identity.tsv @@ -1384,7 +1384,7 @@ # integer and the 2^114 < |C_T| < 2^115 bracket are; the decimal is a comment), and # cert-cone-files-split.tsv's stale "38 gate roots" is now 50. # -split ea9deb7a9681913681f0bc4a1ee80df4 +split 06793da6caf1b7efe0ff7b7691927981 fork 9c2d21280c84d52c30b22111151f1135 # 2026-09-16 master integration review: e64e9594831f9b2df2ccdaeaf5f8c213 -> ec0cec4a59a4eef2b6862c56f8475f09. @@ -1467,3 +1467,13 @@ fork 9c2d21280c84d52c30b22111151f1135 # 2026-09-25: accumulated adaptive returned-output accounting; 9 checked modules, # exact original-game projection, 27 controls; 430 targets, no new assumptions. + +# 2026-09-28: returned-coordinate forgery partition; eight checked modules, +# 25 controls; 438 targets. Old statements and assumptions unchanged. +# 2026-09-28: explicit nonnegative-product step in XmssmtCC_All after the +# mandatory CLI replay failed there; statements and assumptions unchanged. + +# 2026-09-29: re-bind wots.rs, hypertree.rs and merkle.rs after upstream +# signing-progress callbacks. Proofs, statements, assumptions and controls +# unchanged. Functional fixture correspondence excludes callback side effects. +# Split identity 116f7fa68bf756dd0602c916d3eb3959 -> 06793da6caf1b7efe0ff7b7691927981. diff --git a/contracts/verification/easycrypt/c10-port/cert-source-binding.json b/contracts/verification/easycrypt/c10-port/cert-source-binding.json index edb700a41..f37a4c7f1 100644 --- a/contracts/verification/easycrypt/c10-port/cert-source-binding.json +++ b/contracts/verification/easycrypt/c10-port/cert-source-binding.json @@ -2,14 +2,14 @@ "schema": 1, "scope": "Manually reviewed Rust/EasyCrypt model inputs; hashes and finite host tests are not extraction or full hash/predicate refinement.", "sources": { - "sphincs-c10/src/wots.rs": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b", + "sphincs-c10/src/wots.rs": "c4f756501733a54d30dc4ae1f193032d4f720a350d8c9f511b49b1aab272a019", "sphincs-c10/src/hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", "sphincs-c10/src/lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", "sphincs-c10/src/fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", "sphincs-c10/src/address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", "sphincs-c10/src/params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", "sphincs-c10/tests/easycrypt_transcript.rs": "31801bff356ddf95b949db30e4f6adc3f9b2751ebbf753b1d2f240b5c8a6baa9", - "contracts/verification/easycrypt/c10-port/tools/check_source_binding.py": "b7e958c541f1fbd318c0cb7eca0c540a82812c3f493a15e704a40f8e23c1ae4f", + "contracts/verification/easycrypt/c10-port/tools/check_source_binding.py": "4f94c928d7219615508675e125ea4915f1644623b0a5c8d7000ad060b5b39bfd", "contracts/verification/scripts/run_easycrypt_split.py": "4568d51ccd1e07082c816cb59432759a60fbe879b66fa72fefeb2a1e410f4487", "contracts/verification/easycrypt/c10-port/base-c10-split/WOTS_TW_ES.ec": "caf9c38ca988707bbbab232bb35483f04358352d6ff3bcc75602bf66ac1bb695", "contracts/verification/easycrypt/c10-port/base-c10-split/RadixEncoding.ec": "233c94da1e0a40c405f91be6a392c4894553280c62f680d6c0a582df501b6816", @@ -48,7 +48,7 @@ "contracts/verification/easycrypt/c10-port/cdrafts-split/C10RawOracle.ec": "bf87e10779968fb910aa907188a7814a406def59d89e77534c12c3a13d8be7a2", "contracts/verification/easycrypt/c10-port/cdrafts-split/C10RawGrind.ec": "5679f591d11a4f43e27529b3e57bae2f200b1c0ff49c85ed3469f48482b7fbd3", "contracts/verification/easycrypt/c10-port/cdrafts-split/FORSC10Digest.ec": "3f659f40957b9b58fd92f9dc740458c3f6fb8c2df02f66d2850a2e06586d5c02", - "contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec": "d64780527cde6328ba3d1f3df33234f71d32795b6f1742eaf31fe6f39f8018cd", + "contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec": "bb9cac743712c52d4488b9074523a3968cc21ebbf8519fea9be834879cae70da", "contracts/verification/easycrypt/c10-port/cdrafts-split/AcceptedContexts.ec": "3a3cba55b26455b51f8515dcdd6a10189b7aad373a4f54ef436a481a627cf9ee", "contracts/verification/easycrypt/c10-port/cdrafts-split/ByteBound.ec": "4ef971ff1851f015d64a3992ee326441a0a93fd0d2b7e480eb132d1b13412c53", "contracts/verification/easycrypt/c10-port/cdrafts-split/ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b", @@ -127,8 +127,8 @@ "contracts/verification/easycrypt/c10-port/tools/fullsign_model/check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", "contracts/verification/easycrypt/c10-port/tools/fullsign_model/src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", "contracts/verification/easycrypt/c10-port/cdrafts-split/FullFailure.ec": "6a7ebb40564953acea43868aecd62a0a0d104eca29c2a47ada2168fedd859d7a", - "sphincs-c10/src/hypertree.rs": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", - "sphincs-c10/src/merkle.rs": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "sphincs-c10/src/hypertree.rs": "8e34ace4dad4c9171564f2293513de3c357fcb70ca6124db0415160bce205500", + "sphincs-c10/src/merkle.rs": "9fe60480789238abbb7e680fc532464ff98679d8c66f8cfbc07329bb853afdc6", "contracts/verification/easycrypt/c10-port/cdrafts-split/AcceptedCoverage.ec": "87f0da1cb1ffa216547db83faa261fbe37296707f973dc16f7853a0f5490ae1f", "contracts/verification/easycrypt/c10-port/cdrafts-split/AcceptedHypertree.ec": "595e47106b792021e5dac0e6a0e3b0230c2dafad5792179f30080d6895c95c29", "contracts/verification/easycrypt/c10-port/cdrafts-split/AcceptedSampling.ec": "ad7ce633876bcbaa24a85fbdb26c3ad7128deb71d4f5e8d81c72061402bed0ab", @@ -395,6 +395,14 @@ "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureLog.ec": "72507328655ed40ca6f57819c88bd6ec3809d84f8591ce5bf0cdcd311f91c879", "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureReferences.ec": "4750111a1583a7cdcdf69c495da0756802a055c808c0b72e18acff7db5789478", "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureSessionHistory.ec": "c8a2f310515e4b9f7490645e00dbdb2d871f93aeb2906e2b6a5327cbac86239c", - "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureSupport.ec": "dc5f7a4c218f3ba468f46f4e213c70ff76d544fabdae7d0540cfcbfe7839245f" + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureSupport.ec": "dc5f7a4c218f3ba468f46f4e213c70ff76d544fabdae7d0540cfcbfe7839245f", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec": "02253d7e750f559e47f18e151719db400dc15ad9db1124dad3cb7f149f8bfeb1", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec": "da243bae71e0488bd832269da8e6037265af43a5f4951336c4b9bb346e76c393", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec": "32e91e8e1dab3c348f5baf38d03e03570e4b6b8e726cb524804cf1850e30e38e", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec": "125a3fd3a5c5434cc3b827edac32f2c9343818481cc70cafa98e4cc59cce849e", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec": "59f8f70527e0290e7ee46ae86c5d187a4e953b5973d7978d453e515a61be9647", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec": "f0648d6d58f70943d49b9ef044eb68e2f809bb13c50abfeb139e6deef91d8e14", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec": "fef93fdaa83c7e37104dfdbfb67aedfd1d3ec68903ade5639c75f1764ffa3180", + "contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec": "f5c5bac05403caf0194171080a90d72d95a4fbdc98dc28824fe4447011c225e7" } } diff --git a/contracts/verification/easycrypt/c10-port/cert-statements-split.tsv b/contracts/verification/easycrypt/c10-port/cert-statements-split.tsv index e02e53820..b611717a8 100644 --- a/contracts/verification/easycrypt/c10-port/cert-statements-split.tsv +++ b/contracts/verification/easycrypt/c10-port/cert-statements-split.tsv @@ -3077,3 +3077,51 @@ cdrafts-split/ExposureSupport.ec::full_sign_exposure_entry e0bf858c4120ae206eec2 cdrafts-split/ExposureSupport.ec::full_sign_exposure_history eda85ad767ff4fdcc15cf8cef4996029 op:cdrafts-split/ExposureSupport.ec::exposure_supported 5fc021c337b2bacc6a43e6ae5baed167 op:cdrafts-split/ExposureSupport.ec::exposures_supported 6d6e9231284e75164e19400b32395e96 +# Returned-coordinate forgery partition, 2026-09-28. +cdrafts-split/ExposureComponents.ec::logged_component_messages 7a0f9693d3bb81c63f39eba5d8dbdc36 +cdrafts-split/ExposureComponents.ec::missing_top_is_new_component 8c01af65402bdef309423d3b710723a4 +cdrafts-split/ExposureComponents.ec::missing_forest_is_new_component 8173f07e0747060a62bd35be57d9965c +op:cdrafts-split/ExposureComponents.ec::returned_top_message 9d7ccd87015a133e6fed60095b045b32 +op:cdrafts-split/ExposureComponents.ec::returned_bottom_message dec1a68fd35526ba66c484367c71fcc5 +op:cdrafts-split/ExposureComponents.ec::new_top_component a3c52bb47d05ea3a17b698435533c03e +op:cdrafts-split/ExposureComponents.ec::new_bottom_component a6c0cbc726384ecadaaccc2e4fc6956b +cdrafts-split/ExposureCoverage.ec::returned_coordinate_value 0e65782cf546df00a2f078355745a61e +cdrafts-split/ExposureCoverage.ec::returned_coverage_empty 1f47b1b7c458d3c57fce64e7eedbe394 +cdrafts-split/ExposureCoverage.ec::returned_coverage_repeat 524cddc05a633727446c10baa8fc4d37 +cdrafts-split/ExposureCoverage.ec::returned_coordinate_cat 18fc1b8fd607d18693bd32a7740336ce +cdrafts-split/ExposureCoverage.ec::logged_digest_covers_itself 3eaa945147049c1d6d8691ab43357974 +cdrafts-split/ExposureCoverage.ec::private_covered_value f5a5e491523357f6d90e8b088b96616f +cdrafts-split/ExposureCoverage.ec::coverage_returns_special 87d07d2ea70eaecbd1dbd108c6434349 +cdrafts-split/ExposureCoverage.ec::unreturned_excludes_logged_values 6f0b60d06017a0e8011bc417b901801a +cdrafts-split/ExposureCoverage.ec::private_opening_coverage_partition 206f6b29f3240ef08edc7ffaf67080dd +op:cdrafts-split/ExposureCoverage.ec::logged_digest 181f45ddd3196d687d8041540ce67454 +op:cdrafts-split/ExposureCoverage.ec::returned_coordinate fb5b1d2dfe06b152be0077c1ab1b8d2f +op:cdrafts-split/ExposureCoverage.ec::returned_coverage 1cf279ba81400902f41559b1356ec27b +op:cdrafts-split/ExposureCoverage.ec::unreturned_private_opening 5c62e82f79f94f3fe266f0c81af5d5f6 +op:cdrafts-split/ExposureCoverage.ec::returned_private_values 335bdd26c5713a98dea098c155f8ad5c +cdrafts-split/ExposurePartition.ec::forest_cases_exposure_partition 9aa542e7d3d1bfe8b1a87606581aa61e +cdrafts-split/ExposurePartition.ec::new_message_forest_partition fafe4ce6fe3e21d2e41545c85f44f0b5 +cdrafts-split/ExposurePartition.ec::partition_message_input_new 2e0bd0ad1ec901f396145eee6d6ad64b +op:cdrafts-split/ExposurePartition.ec::exposure_forgery_cases 8d6eee2ff087dffcd491fbd32dad5f33 +op:cdrafts-split/ExposurePartition.ec::new_message_exposure_partition 3ae99c0ffe4f8766751f1ce3605c1a12 +cdrafts-split/ExposurePartitionGame.ec::exposure_driver_forest 2d216a807a6797a192266b698f006366 +cdrafts-split/ExposurePartitionGame.ec::exposure_driver_typed_history c098484d67e387af0c28875d3f177959 +cdrafts-split/ExposurePartitionGame.ec::exposure_driver_partition 93038a4ba6694c3e7d5a73b863e4bf2f +cdrafts-split/ExposurePartitionGame.ec::exposure_context_partition d66d1ff4bec12c27db141f3ce93009d6 +cdrafts-split/ExposurePartitionGame.ec::byte_exposure_partition e92a6905651addda760b305e2cb19220 +cdrafts-split/ExposurePartitionHop.ec::byte_exposure_partition_hop 92ee4d5f5097ef3549809fb7a16819c0 +cdrafts-split/ExposurePrivate.ec::logged_digest_private 0a3cb637940b5c7e5b44ed6e3c7b9f91 +cdrafts-split/ExposurePrivate.ec::logged_fors_private_value 3e5c62c6baa7a497e78d6465e3a198b2 +cdrafts-split/ExposurePrivate.ec::logged_special_private_root 9e6b28e804a4a70bd7c78d333bab4f59 +cdrafts-split/ExposureWidths.ec::exposures_width_rcons fb9966c4d1aa5ccbdc66b36c45ed78bc +cdrafts-split/ExposureWidths.ec::complete_signer_valid a46f11d13ef1c00d5fba3f9f3adab212 +cdrafts-split/ExposureWidths.ec::full_sign_valid_width 5126fbacfd14712a5d3d3e63f64091f1 +cdrafts-split/ExposureWidths.ec::exposure_hash_width 596d4876ac88ea5f22d26e500bba97b3 +cdrafts-split/ExposureWidths.ec::exposure_sign_width 519f3f5d1b17a3a0e01e91b2af1e6563 +cdrafts-split/ExposureWidths.ec::exposure_client_width 3316e445b7393eea65e732946a417865 +cdrafts-split/ExposureWidths.ec::verifier_exposure_width 4a84d764f3bdb9161f660079690ab3bf +cdrafts-split/ExposureWidths.ec::exposure_driver_width 87eb4f0eadfd6b2ceb1f0f04158a9767 +cdrafts-split/ExposureWidths.ec::exposure_context_width 6996b85d83958e16e1bb2d86271f3bf8 +cdrafts-split/ExposureWidths.ec::byte_exposure_width 0c4858f90784974de3c79ac4d38aa826 +op:cdrafts-split/ExposureWidths.ec::exposures_width d0e876fe9e6493065200f591593d2138 +cdrafts-split/ForsRootDeterminism.ec::fors_root_witness_unique 250a557921e2416c281ea2cd02b8d37c diff --git a/contracts/verification/easycrypt/c10-port/cert_gate_split.sh b/contracts/verification/easycrypt/c10-port/cert_gate_split.sh index 0c7d3be49..558f0a011 100644 --- a/contracts/verification/easycrypt/c10-port/cert_gate_split.sh +++ b/contracts/verification/easycrypt/c10-port/cert_gate_split.sh @@ -37,7 +37,7 @@ trap 'rm -rf "$TMPD"' EXIT # cone files (1016). Bumping only one turns the gate RED at PHASE 1c with # "statement pin file truncated" -- which is exactly what it did on the first # run of this promotion. -EXPECT_PINS=2953 +EXPECT_PINS=3000 # 1167 -> 1166 on 2026-09-15: a DUPLICATE row removed. op:base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca::f # sat on two identical rows from 92ecb63 (2026-08-20), so this count was one pin HIGH for 26 days. # PHASE 1c now also requires the UNIQUE key count to equal it. @@ -48,7 +48,7 @@ EXPECT_PINS=2953 # somebody must say why. 896 measured 2026-08-20; 993 after the 2026-08-25 pins; # 1016 on 2026-08-31 when cdrafts-split/BadEncCountermodel.ec was promoted into the # closure (+23 statements, all pinned in the same commit). -EXPECT_STMTS=2564 +EXPECT_STMTS=2599 # 1081 -> 1082 on 2026-09-14: GprocTCollNamed.ec (one lemma, pinned in the same commit). # 1024 -> 1081 on 2026-09-14 (+57, the T_COLL_RES_ENUM chain; all pinned in the same commit). # COMMITTED CONTROL COUNT (added 2026-09-14). The PHASE 3 guard used to be @@ -57,7 +57,7 @@ EXPECT_STMTS=2564 # nine control ROWS still scored OK. Claim-vs-code drift inside the fail-open guard # itself, authored in this tree. Now an equality against a committed constant, the # same shape as EXPECT_WATCHED: a deleted row AND an unaccounted added row both fail. -EXPECT_CTLS=386 +EXPECT_CTLS=411 # 44 -> 49 on 2026-09-15 (later): a per-file scope negative for each of the other five headline # files. Kimi K3 review: they had inherited isolation through GprocTCollNamed's require chain, # which nothing gated (all six are closure roots). diff --git a/contracts/verification/easycrypt/c10-port/closure-c10-split.txt b/contracts/verification/easycrypt/c10-port/closure-c10-split.txt index b1e230433..4655ddeaa 100644 --- a/contracts/verification/easycrypt/c10-port/closure-c10-split.txt +++ b/contracts/verification/easycrypt/c10-port/closure-c10-split.txt @@ -207,3 +207,13 @@ ExposureSessionHistory ExposureReferences ExposureGameHistory ExposureForge + +# Returned-coordinate forgery partition. +ExposureWidths +ForsRootDeterminism +ExposurePrivate +ExposureCoverage +ExposureComponents +ExposurePartition +ExposurePartitionGame +ExposurePartitionHop diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21ComponentsPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21ComponentsPositive.ec new file mode 100644 index 000000000..10259b3cc --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21ComponentsPositive.ec @@ -0,0 +1,16 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries message signature d : + exposures_supported h s seed root entries => List.mem entries (message,signature) => + h.[hmsg_input seed root (pad signature.`1) message]=Some d => + exists forest lower, + returned_bottom_message h s seed root entries (hypertree_index d) forest /\ + returned_top_message h s seed root entries (hypertree_index d %/512) lower. +proof. exact (logged_component_messages h s seed root entries message signature d). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoverageEdgesPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoverageEdgesPositive.ec new file mode 100644 index 000000000..df0a10107 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoverageEdgesPositive.ec @@ -0,0 +1,18 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. + +lemma empty_has_no_coverage h seed root d : !returned_coverage h seed root [] d. +proof. exact (returned_coverage_empty h seed root d). qed. +lemma repeat_does_not_add_coordinates h seed root entries d : + returned_coverage h seed root (entries++entries) d = returned_coverage h seed root entries d. +proof. exact (returned_coverage_repeat h seed root entries d). qed. +lemma last_is_not_ordinary h seed root entries ht index : + !returned_coordinate h seed root entries ht 12 index. +proof. rewrite /returned_coordinate; smt(). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoveragePositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoveragePositive.ec new file mode 100644 index 000000000..ab90ce8e0 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21CoveragePositive.ec @@ -0,0 +1,15 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries d secrets : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => forest_private_openings h s seed (hypertree_index d) d secrets => + (returned_coverage h seed root entries d /\ returned_private_values h seed root entries d secrets) \/ + unreturned_private_opening h s seed root entries d secrets. +proof. exact (private_opening_coverage_partition h s seed root entries d secrets). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsCollision.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsCollision.ec new file mode 100644 index 000000000..a1d41c8fd --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsCollision.ec @@ -0,0 +1,14 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries ht tree index value : + exposures_supported h s seed root entries => exposures_width entries => + logged_fors_value h seed root entries ht tree index value => + exists sd, s.[fors_private_key ht tree index]=Some sd /\ value=node sd. +proof. exact (logged_fors_private_value h s seed root entries ht tree index value). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsPrivateCase.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsPrivateCase.ec new file mode 100644 index 000000000..d477c5344 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsPrivateCase.ec @@ -0,0 +1,15 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries d secrets : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => forest_private_openings h s seed (hypertree_index d) d secrets => + (returned_coverage h seed root entries d /\ returned_private_values h seed root entries d secrets) \/ + false. +proof. exact (private_opening_coverage_partition h s seed root entries d secrets). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsResidual.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsResidual.ec new file mode 100644 index 000000000..4f75ffb49 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsResidual.ec @@ -0,0 +1,25 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-Physical,-Hybrid,-Shared, + -Independent,-ExposureLog,-ProjectedMemo,-ProjectedSamples}) qr qs seed0 &m : + (forall (V <: ByteClientOracle {-A}), islossless V.hash => islossless V.sign => + islossless A(V).run) => + 0<=qr => 0<=qs => FullLimits.raw_cap{m}=qr => FullLimits.sign_cap{m}=qs => + pad (node KeygenInputs.public_seed{m})=seed0 => + Pr[RealGame(ByteContext(A)).run() @ &m : res] <= + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + false /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries] + + ((full_public_budget qr qs)*(full_public_budget qr qs-1))%r/2%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^256. +proof. exact (byte_exposure_partition_hop A qr qs seed0 &m). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsWidths.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsWidths.ec new file mode 100644 index 000000000..3ba6fa986 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsWidths.ec @@ -0,0 +1,14 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries ht tree index value : + exposures_supported h s seed root entries => + !public_node_collision h => logged_fors_value h seed root entries ht tree index value => + exists sd, s.[fors_private_key ht tree index]=Some sd /\ value=node sd. +proof. exact (logged_fors_private_value h s seed root entries ht tree index value). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21GamePositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21GamePositive.ec new file mode 100644 index 000000000..5d7aaae9b --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21GamePositive.ec @@ -0,0 +1,19 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) seed0 qs0 : + 0<=qs0 => + hoare [IndependentGame(ExposureContext(ByteLift(A))).run : FullLimits.sign_cap=qs0 /\ + pad (node KeygenInputs.public_seed)=seed0 ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages /\ + (res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory seed0 root0 ExposureLog.entries)]. +proof. exact (byte_exposure_partition A seed0 qs0). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21HopPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21HopPositive.ec new file mode 100644 index 000000000..808b53718 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21HopPositive.ec @@ -0,0 +1,25 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-Physical,-Hybrid,-Shared, + -Independent,-ExposureLog,-ProjectedMemo,-ProjectedSamples}) qr qs seed0 &m : + (forall (V <: ByteClientOracle {-A}), islossless V.hash => islossless V.sign => + islossless A(V).run) => + 0<=qr => 0<=qs => FullLimits.raw_cap{m}=qr => FullLimits.sign_cap{m}=qs => + pad (node KeygenInputs.public_seed{m})=seed0 => + Pr[RealGame(ByteContext(A)).run() @ &m : res] <= + Pr[IndependentGame(ExposureContext(ByteLift(A))).run() @ &m : + res /\ !public_node_collision Independent.rawhistory /\ !public_node_zero Independent.rawhistory /\ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory + seed0 root0 ExposureLog.entries] + + ((full_public_budget qr qs)*(full_public_budget qr qs-1))%r/2%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^128 + + (full_public_budget qr qs)%r*(1%r/2%r)^256. +proof. exact (byte_exposure_partition_hop A qr qs seed0 &m). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21MixedCoveragePositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21MixedCoveragePositive.ec new file mode 100644 index 000000000..b6c4cc80f --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21MixedCoveragePositive.ec @@ -0,0 +1,22 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. + +lemma different_responses_may_cover_different_trees h seed root entries1 entries2 d : + (forall tree, 0<=tree<12 => + returned_coordinate h seed root entries1 (hypertree_index d) tree (forest_index d tree) \/ + returned_coordinate h seed root entries2 (hypertree_index d) tree (forest_index d tree)) => + !returned_coverage h seed root entries1 d => !returned_coverage h seed root entries2 d => + returned_coverage h seed root (entries1++entries2) d /\ + !returned_coverage h seed root entries1 d /\ !returned_coverage h seed root entries2 d. +proof. + move=> hc hn1 hn2; split; last smt(). + rewrite /returned_coverage; move=> tree ht. + rewrite returned_coordinate_cat; exact (hc tree ht). +qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21PartitionPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21PartitionPositive.ec new file mode 100644 index 000000000..5223df16a --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21PartitionPositive.ec @@ -0,0 +1,14 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries : + exposures_supported h s seed (pad root) entries => exposures_width entries => !public_node_collision h => + new_message_forest_opening h s seed root (exposure_messages entries) => + new_message_exposure_partition h s seed root entries. +proof. exact (new_message_forest_partition h s seed root entries). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21PrivatePositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21PrivatePositive.ec new file mode 100644 index 000000000..586cfe079 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21PrivatePositive.ec @@ -0,0 +1,14 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries ht tree index value : + exposures_supported h s seed root entries => exposures_width entries => + !public_node_collision h => logged_fors_value h seed root entries ht tree index value => + exists sd, s.[fors_private_key ht tree index]=Some sd /\ value=node sd. +proof. exact (logged_fors_private_value h s seed root entries ht tree index value). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21RootPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21RootPositive.ec new file mode 100644 index 000000000..f82790081 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21RootPositive.ec @@ -0,0 +1,13 @@ +require import ForsRootWitness. +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed ht tree root root' : + fors_root_witness h s seed ht tree root => fors_root_witness h s seed ht tree root' => root=root'. +proof. exact (fors_root_witness_unique h s seed ht tree root root'). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21UnloggedComponent.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21UnloggedComponent.ec new file mode 100644 index 000000000..c57ea8b61 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21UnloggedComponent.ec @@ -0,0 +1,16 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed root entries message (signature : raw_signature) d : + exposures_supported h s seed root entries => + h.[hmsg_input seed root (pad signature.`1) message]=Some d => + exists forest lower, + returned_bottom_message h s seed root entries (hypertree_index d) forest /\ + returned_top_message h s seed root entries (hypertree_index d %/512) lower. +proof. exact (logged_component_messages h s seed root entries message signature d). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21WidthsPositive.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WidthsPositive.ec new file mode 100644 index 000000000..a65c6256c --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WidthsPositive.ec @@ -0,0 +1,13 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) : + hoare [IndependentGame(ExposureContext(ByteLift(A))).run : true ==> exposures_width ExposureLog.entries]. +proof. exact (byte_exposure_width A). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongRoot.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongRoot.ec new file mode 100644 index 000000000..1a599910e --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongRoot.ec @@ -0,0 +1,13 @@ +require import ForsRootWitness. +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement h s seed ht tree root root' : + fors_root_witness h s seed ht tree root => fors_root_witness h s seed ht tree root' => root<>root'. +proof. exact (fors_root_witness_unique h s seed ht tree root root'). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongSeed.ec b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongSeed.ec new file mode 100644 index 000000000..3152aa971 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongSeed.ec @@ -0,0 +1,18 @@ +require import AllCore List FMap IntDiv Distr StdOrder. +require import C10RawOracle C10Counter C10HashDomains PrefixGuess PrefixHybrid PrefixGames PrefixIdeal KeygenPrefixes KeygenExhaustion. +require import RawKeygen RawLayer RawForest RawSigner RawSignature FullSession FullSessionCost FullPrefix ByteSession. +require import ProjectedBirthday ProjectedMemoOracle MerkleRootWitness WotsReferenceRoot LayerPath PersistentGrind. +require import ForsPrivateLeaves ForsOpening ForestOpening LayerRecordExtraction SubtreeOpeningCases VerifierWotsOpening. +require import MemoNodeCollision PublicNodeZero SignerCoordinates ForestWitness. +require import ExposureComponents ExposureCoverage ExposurePartition ExposurePartitionGame ExposurePartitionHop ExposurePrivate ExposureWidths ForsRootDeterminism. +require import C10RawGrind LayerSignOpening SessionForestExtraction ForestRootWitness ExposureSupport ExposureReferences ExposureLog ExposureDriver ExposureAccounting IndependentWidths. +import RealOrder. +lemma checked_statement + (A <: ByteClient {-FullSession,-FullLimits,-KeygenInputs,-ExposureLog,-Independent}) seed0 qs0 : + 0<=qs0 => + hoare [IndependentGame(ExposureContext(ByteLift(A))).run : FullLimits.sign_cap=qs0 ==> + size ExposureLog.entries<=qs0 /\ exposures_width ExposureLog.entries /\ + exposure_messages ExposureLog.entries=FullSession.signed_messages /\ + (res => public_node_collision Independent.rawhistory \/ public_node_zero Independent.rawhistory \/ + exists root0, new_message_exposure_partition Independent.rawhistory Independent.secrethistory seed0 root0 ExposureLog.entries)]. +proof. exact (byte_exposure_partition A seed0 qs0). qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureComponents.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureComponents.ec new file mode 100644 index 000000000..c78e8d816 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureComponents.ec @@ -0,0 +1,3 @@ +require ExposureComponents. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureCoverage.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureCoverage.ec new file mode 100644 index 000000000..0fec4dc49 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureCoverage.ec @@ -0,0 +1,3 @@ +require ExposureCoverage. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartition.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartition.ec new file mode 100644 index 000000000..05658ef66 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartition.ec @@ -0,0 +1,3 @@ +require ExposurePartition. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionGame.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionGame.ec new file mode 100644 index 000000000..a980c6589 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionGame.ec @@ -0,0 +1,3 @@ +require ExposurePartitionGame. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionHop.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionHop.ec new file mode 100644 index 000000000..c8b45120d --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionHop.ec @@ -0,0 +1,3 @@ +require ExposurePartitionHop. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePrivate.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePrivate.ec new file mode 100644 index 000000000..be6d0ba8e --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePrivate.ec @@ -0,0 +1,3 @@ +require ExposurePrivate. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureWidths.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureWidths.ec new file mode 100644 index 000000000..031b6599c --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureWidths.ec @@ -0,0 +1,3 @@ +require ExposureWidths. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ForsRootDeterminism.ec b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ForsRootDeterminism.ec new file mode 100644 index 000000000..6508ba274 --- /dev/null +++ b/contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ForsRootDeterminism.ec @@ -0,0 +1,3 @@ +require ForsRootDeterminism. +lemma hidden_tainted_symbol : FORS_C_TreePort.fverify_structural = FORS_C_TreePort.fverify_structural. +proof. trivial. qed. diff --git a/contracts/verification/easycrypt/c10-port/tools/check_source_binding.py b/contracts/verification/easycrypt/c10-port/tools/check_source_binding.py index 1829a4a80..7f93e2a57 100644 --- a/contracts/verification/easycrypt/c10-port/tools/check_source_binding.py +++ b/contracts/verification/easycrypt/c10-port/tools/check_source_binding.py @@ -147,6 +147,10 @@ 'ExposureHistory', 'ExposureLog', 'ExposureReferences', 'ExposureSessionHistory', 'ExposureSupport', )), + *(PORT + 'cdrafts-split/' + f + '.ec' for f in ( + 'ExposureComponents', 'ExposureCoverage', 'ExposurePartition', 'ExposurePartitionGame', + 'ExposurePartitionHop', 'ExposurePrivate', 'ExposureWidths', 'ForsRootDeterminism', + )), *(PORT + 'tools/fullsign_model/' + f for f in ( 'Cargo.toml', 'Cargo.lock', 'check.py', 'src/main.rs')), diff --git a/contracts/verification/easycrypt/c10-port/tools/taint_closure.py b/contracts/verification/easycrypt/c10-port/tools/taint_closure.py index c9927818a..3b51c9693 100644 --- a/contracts/verification/easycrypt/c10-port/tools/taint_closure.py +++ b/contracts/verification/easycrypt/c10-port/tools/taint_closure.py @@ -74,6 +74,15 @@ # the closure can never be smaller than seeds+1 while a consumer exists # Theorems that MUST NOT be in the closure. This is the property the README asserts. HEADLINE = [ + 'byte_exposure_width', + 'fors_root_witness_unique', + 'logged_fors_private_value', + 'private_opening_coverage_partition', + 'logged_component_messages', + 'new_message_forest_partition', + 'byte_exposure_partition', + 'byte_exposure_partition_hop', + 'exposure_sign_records', 'byte_exposure_probability', 'full_sign_exposure_history', diff --git a/contracts/verification/easycrypt/c10-port/tools/test_split_contract.py b/contracts/verification/easycrypt/c10-port/tools/test_split_contract.py index 0c646755b..da922dde5 100644 --- a/contracts/verification/easycrypt/c10-port/tools/test_split_contract.py +++ b/contracts/verification/easycrypt/c10-port/tools/test_split_contract.py @@ -165,7 +165,7 @@ def test_shuffle_u16_magnitude_exception_is_source_and_path_exact(self): def test_targets_cover_pinned_dependencies_in_order(self): targets = gate.targets() - self.assertEqual(len(targets), 430) + self.assertEqual(len(targets), 438) self.assertEqual(set(targets), set(gate.rows('cert-cone-files-split.tsv'))) self.assertIn('base-c10-split/HashAddresses.eca', targets) for i, p in enumerate(targets): diff --git a/docs/STATUS.md b/docs/STATUS.md index 8dbe15b1e..fab6cc0b4 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -49,6 +49,12 @@ now accumulates references for every successful response, preserves repeats, matches the signed-message list and respects the signing cap. Its private observer preserves the original byte-game probability. Other information exposures and the private/encoding numerical charges remain open. +The [returned-coordinate partition](../contracts/verification/easycrypt/c10-port/RAW-FORGERY-PARTITION.md) +now distinguishes new WOTS component messages, an unreturned private FORS +coordinate and coverage assembled across prior responses. It proves exact +returned-value agreement and retains the special root-as-secret. The same +byte-game probability hop preserves its success residual and existing charges; +the new cases still lack numerical bounds. Adaptive accumulated opening coverage, the complete byte-game component reduction and numerical end-to-end forgery bounds remain open. See the diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/README.md b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/README.md new file mode 100644 index 000000000..ed4777955 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/README.md @@ -0,0 +1,100 @@ +# Returned-coordinate forgery partition + +Source-merge receipt for `d03db3d99bf1eb34b6e27ed32fa60c43bed66fed`, tree `703275ba24d5b610d494df3f9fbad928904d3d05`, based on +`75d7bdaaf3840edc8570b685ecd21591ababcff3`. The later receipt commit changes no proof or gate input. +The normal merge targets master `13769cfbdf30654a9b81aeafea4e6eca5ddad695`, whose intervening +contract-test and Foundry-version changes are outside this proof surface. +[Merge-input comparison](landing-base.json) verifies that all other files, +including all 402 bindings and every local replay input, remain byte-identical. +The raw reviews remain scoped to the frozen source identity above. + +The existing initialized byte game's new-message forgery residual is refined +into new top/bottom WOTS component messages, a private FORS value at an +unreturned ordinary coordinate, or coverage assembled from prior responses. +All returned signatures retain their widths; covered ordinary values match +their exact private coordinates, and the thirteenth root-as-secret is treated +separately. Different trees may be covered by different previous responses. + +The [proof boundary](../../../../../contracts/verification/easycrypt/c10-port/RAW-FORGERY-PARTITION.md) +keeps general information exposure and numerical private/chain/encoding charges +open under #100/#295. Unreturned coordinates do not imply unknown values. The +probability hop retains successful forgery and its unchanged existing charges. + +## Validation + +- [Full cold replay](full-gate.log): 438 direct targets, + 438 default-CLI targets and 411 controls pass. Pinned + r2026.02 image, network disabled, read-only source and disposable cold copy. + Exit 0 in 11843.59 active elapsed seconds, within the + local 18,000-second active execution watchdog. +- Started 2026-09-29T13:36:09.331514+00:00; finished 2026-09-29T16:53:32.916993+00:00. + Input identity `06793da6caf1b7efe0ff7b7691927981` stayed unchanged throughout. + Wall elapsed: 11843.59 seconds; host suspension: + 0.00 seconds. Linux CLOCK_MONOTONIC excludes suspension; + CLOCK_BOOTTIME records it separately. The [timing correction](timing-correction.json) + replaces the coordinator's mistaken wall-time acceptance check on the local + proof replay. The project's 900-second reviewer wall bounds remain unchanged. + Two incomplete attempts were stopped after laptop pauses and are not counted + as complete evidence. Their [first log](paused-q21-full-gate.log), + [first result](paused-q21-full-gate-result.json), [overnight log](overnight-q21-full-gate.log) + and [overnight result](overnight-q21-full-gate-result.json) are retained. + The user confirmed overnight sleep; the [journal](overnight-suspend-journal.log) + independently records it. These incomplete runs used the previous source. + Their partial evidence and reviews do not authorize this + combined candidate; it has its own fresh replay and bounded review wave. +- A subsequent [pre-integration replay](pre-integration-q21-full-gate.log) + completed green on the previous source. During that run a Codex server restart + interrupted only the outer result recorder; the original proof process + continued. Its [recovery](pre-integration-q21-daemon-recovery.json) records + the actual container exit through [docker wait](pre-integration-q21-recovered-container-wait.json); + its host make exit was not directly observed. This is historical evidence, + separate from the combined-source replay above. +- 3000 pins, 2599 statements, 181 roots, + 2155 census rows and 402 source bindings. + All old statements and assumption rows are preserved; no new project axiom, + admit or unrealized clone assumption. +- Eight modules passed 16 source-matched whole-file checks. All 25 new controls, + eleven checker regression groups, static contract and source binding pass. +- The arithmetic correction in the existing `XmssmtCC_All.ec` also passed + [both whole-file drivers](arithmetic-remediation-checks.json). +- Master advanced during the pre-integration full replay. The [integration correction](q21-integration-remediation.json) + refreshes three Rust source hashes after upstream signing-progress callbacks. + The stale binding was rejected before the deliberate refresh. Four transcript + tests and two progress-correspondence tests pass, along with binding, identity, + static contract and eleven checker regressions. All EasyCrypt proof and control + bytes are unchanged. Callback side effects, panics, reentrancy and timing are + outside this manual functional correspondence; finite fixtures are not refinement. + The new source identity received the complete replay and fresh review above. +- Opus returned GO; Astra reported GAP solely for the then-pending combined-source full cold replay. Both found no source-level blocker across all seven focus areas, including the three refreshed Rust bindings. The coordinator resolved the exact pending-replay gap with the matching completed green replay; raw reviewer verdicts are preserved. Standing owner instructions replace SOL with Astra and omit + Kimi. Raw [Astra](astra-report.txt), [Opus](opus-report.txt) and + [coordinator](review-summary.json) records retain the exact findings and gaps. +- [Hosted CI](hosted-ci-triage.json) is separate from the local proof replay. + A passing local gate does not imply overall green hosted CI. + +## Controls and limits + +Ten positive consumers/examples, eight scope probes and seven exact-statement +mismatches exercise the new surface. The mixed-coverage consumer is conditional; +it is not a constructed concrete counterexample. Rejected applications establish +their declared diagnostics, not premise necessity, theorem falsity, bound +necessity or complete-game nonvacuity. Scope checks remain name-level checks. + +The deliberate enrollment changed the input identity. Preflight checker, +source-binding and static stages passed; the old identity was rejected, then +explicitly updated and verified before the frozen full replay. Two early +external controls lacked a direct import, were corrected and rechecked, and +their initial failures are preserved externally but not counted as evidence. + +The initial full replay passed 438 direct targets but failed the default CLI +at `XmssmtCC_All.ec:3655`, proving a product nonnegative with an automatic +nonlinear step; that file reported 1,944 diagnostics in total. The +already-failed disposable run was stopped; its [log](initial-q21-full-gate.log) +and [result](initial-q21-full-gate-result.json) are retained. The correction +applies `mulr_ge0` explicitly and discharges each factor's nonnegativity, +preserving the theorem and assumptions. It received whole-file checks, a fresh +frozen review wave and the new complete replay above. Proof checks and solver +timeouts are unchanged. The local replay watchdog timing correction is recorded +above; the earlier review verdicts do not authorize the corrected tree. + +Manual classical ideal-oracle model only. No Rust-extraction, concrete SHA-256, +QROM, closed numerical EUF or production/hardware authority. #509 stays deferred. diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/SHA256SUMS b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/SHA256SUMS new file mode 100644 index 000000000..a1ef5272b --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/SHA256SUMS @@ -0,0 +1,48 @@ +a63ba53bcb06ed3f4229f4cdf6e5a61b58fe914bef2bface1b0a3faec2cc8935 README.md +3a8eb075c77c5c64a33dd6ed4829409a153fb6b6ac653773142ee3feed7f89a3 arithmetic-remediation-checks.json +a01477834cd2c1629fcd5766d85f0526855ce0fd699df642ab2eb409bcc7e83a astra-report.txt +872279166354404e6f13410aa995ce550fc715e9c3d6d2723696e1ec275d0069 evidence.json +fcdc2dce04a9f1368406b55b274f6a9d735975872f7396855dabd2e0fb77325b full-gate-result.json +95055f226a21da726a9769ede9e974f08403f13dd3b93b07a4b28edf1d2c62f2 full-gate.log +87a6818f33510867c9641dea143ccdf7c6c326d913e42029815aa8eff694b50a host-clock-gap.json +124e4df73a79750a7e202503181b72f106bc92549b5a7237cf0ee455608dbed4 hosted-ci-status.json +4ad2a32bbadbc5cf20789c02806e7851f8ea0c1c365a6a3d6ec01e9a4202bbc2 hosted-ci-triage.json +c3b38fb51a19a9023906e64c2120e3628c6103f25c67be262f4403e73480c74e identity-verified.log +279dca0d480ef80ed6c03fbf906d65228893c0a942deb040b999f0ce93732065 initial-q21-full-gate-result.json +25ae36d3325cb7186229a8a0c395efc9a526c4f80fc4a357e05373c987d3f83b initial-q21-full-gate.log +8d014c363a8a6040c5182586bdc142aec1ae87d0b08770e02cda753d102a97cd initial-q21-gate-blocker.json +9f4831adc85ad24c21f9e6cf3e4a78807fb5b0dad57f739cf6c4c623470705b4 landing-base.json +efd8decad9dc31482628b14629145fcc401e24fe173422e565ed5bfab1e72056 native-readonly-preflight.json +b6e1afbbb1146a3249a612d6c6425247d4d2e2b3065c023d8e7bab813a556a5a new-controls-result.json +1e082c8f6f8bda047eee34a57e5f6d5c3ea98e23ea77ab423439d97006af35fb opus-report.txt +b68d26ee65e049e5ea42e23a84287fcb893a754322f138ea5a12e29715557603 overnight-interruption.json +2cf7eaefe856c017fc0bf941b1318780048e86f933ab233e3041464debbcea24 overnight-q21-full-gate-result.json +e66cea562132e01d59810ec5b337f9cb363d2f8ab8b02120d761f70f50abf9e9 overnight-q21-full-gate.log +b9a3e08d20c1a76bd2e09dc7a8a4f023aee2ebb6c0e308623fed9a8dc51d5d54 overnight-suspend-journal.log +c75d1f3e78206fbc5a1ae3dc361c33b72ab6a609233cc789b5421afaccaacc18 paused-q21-full-gate-result.json +42f90a609c97498adfa2ed2541b0a7a7ebbf5b81912600c0ae0e1f24ccc109d6 paused-q21-full-gate.log +0d1f487c671d737a66653f989e49e020e875230d7757fc4ecf3d12823cc174bd paused-q21-wall-limit-stop.json +c192431928715ae0951b1d7c280bdf616ddb6fb6606a17dbe14504fc31729473 pre-integration-q21-daemon-recovery-inspect.json +e537a3a20d04a57811e719e9f827d44ef2ce7073308ec6270e882bc2b5f1f5db pre-integration-q21-daemon-recovery.json +25c003d7ec077fa0371a50964707858c9f1e1c29c7ed4040fb68ba43ecfa1de0 pre-integration-q21-full-gate-result.json +ac1807b59a7c79cc9e27e4f9b5ef689f30a73213c1c6d7bcf01087083b023a37 pre-integration-q21-full-gate.log +5c03fe4c13820eee5c428b46f8002e3088aba937c74c5a65fb402b1c14e65ea2 pre-integration-q21-recovered-container-wait.json +65a340017cef3848daa07e87bc634032336bae05792b76424be63b252f781e58 preflight-gates.log +ec480cfd96a819a7861c401c52adb9c03f4455215a14ee9c0181bdc612a0b484 prototype-receipts.json +e10260cf4e9f3b13647de83052601584deddfea72e4c6f3b7956ad369954d08a q21-integration-checker-regressions.log +9e944f092b77c0ae34214a1ae1592003405b3a882102bdbdd9ec389b36e71964 q21-integration-checks.json +e84ef45619654b30f02cbed6ce59ed1117c85b15990bf672a453d2ba45c7c39e q21-integration-identity-drift.log +c3b38fb51a19a9023906e64c2120e3628c6103f25c67be262f4403e73480c74e q21-integration-identity.log +77e9f1e557be9e522948abc6000843d78b7d753266143e40e8c4276b3699157c q21-integration-progress-correspondence.log +9d97e43f1a2ec8e75a489aa86a7d396cd8d2db019ac965921dcbe21984782b18 q21-integration-remediation.json +92e8d9bd6db7286ee726ce6344d1fa8d79f7dccfe2cf1a1fefd7d2ec62e2ac68 q21-integration-rust-transcript.log +fd3dce2452bf9d4d85e512839702758b15daaa730abc0dead6d53aec047c6e7b q21-integration-source-binding.log +eb55ab9103a6e4ab4a64f938c4f15877546aff6eb76e3ab0052f73e7a706c293 q21-integration-stale-binding.log +65a340017cef3848daa07e87bc634032336bae05792b76424be63b252f781e58 q21-integration-static-contract.log +0ce36d0e81e2cb35c0a3b48e56d673f8f5e4d66f543e275a7b7a87db7e185f27 review-adapter-preflight.json +61daedde4611af087f22556f07eae3f05579d7717d8093d4e7d8ad977832b061 review-prompt.txt +7671c01482f379237099e07023f45ca91631813129ef016e3c0e301171d252cc review-summary.json +ceda7f9529ec4d4702afc30ee2494b9a28709118192ad92e44bcac479e115630 review-wave-manifest.json +f1adccee780f1c15bb6b11c119b284ce8e634e315a32dcf159702b8b80cc6114 runtime-models.json +52af555742f0364d0325ff5777a742ddeb1528414caa31be7f6d8d0bab1ee313 source-transfer.json +376894a0abb1bced104831d0d670e5aab216a651a915a236f547cbe02c78ae7f timing-correction.json diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/arithmetic-remediation-checks.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/arithmetic-remediation-checks.json new file mode 100644 index 000000000..eb1a79888 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/arithmetic-remediation-checks.json @@ -0,0 +1,13 @@ +[ + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/XmssmtCC_All.ec", + "source_sha256": "bb9cac743712c52d4488b9074523a3968cc21ebbf8519fea9be834879cae70da", + "mode": "cli", + "exit": 0, + "seconds": 917.23, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/XmssmtCC_All-cli-1790603881404965246.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/XmssmtCC_All.ec", + "log_sha256": "88cfffc8e2cdee6faa46f1cd81ded2120ad85ed7638541d718073f81aebcf325" + } +] diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/astra-report.txt b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/astra-report.txt new file mode 100644 index 000000000..aab17836f --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/astra-report.txt @@ -0,0 +1,4 @@ +VERDICT: GAP +TARGET: d03db3d99bf1eb34b6e27ed32fa60c43bed66fed / 703275ba24d5b610d494df3f9fbad928904d3d05 +FINDINGS: none +GAPS: No source-level blocker found across the seven focus areas; completion of the required full cold two-driver replay remains unconfirmed and must be established before landing. \ No newline at end of file diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/evidence.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/evidence.json new file mode 100644 index 000000000..520276fed --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/evidence.json @@ -0,0 +1,48 @@ +{ + "source_commit": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "source_tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "base": "75d7bdaaf3840edc8570b685ecd21591ababcff3", + "input_identity": "06793da6caf1b7efe0ff7b7691927981", + "inventory": { + "files": 438, + "roots": 181, + "pins": 3000, + "statements": 2599, + "census": 2155, + "controls": 411, + "new_pins": 47, + "assumptions_unchanged": true, + "headlines_added": 8, + "source_bindings": 402 + }, + "full_gate": { + "started_utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "clock_start": { + "utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "monotonic": 67961.583879087, + "boottime": 178391.124436683, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "timing_basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "pid": 979710, + "commit": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "exit_code": 0, + "finished_utc": "2026-09-29T16:53:32.916993+00:00", + "clock_end": { + "utc": "2026-09-29T16:53:32.916993+00:00", + "epoch": 1790700812.917018, + "monotonic": 79805.169359823, + "boottime": 190234.709917289, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "active_elapsed_seconds": 11843.585480736001, + "wall_elapsed_seconds": 11843.585480213165, + "boottime_elapsed_seconds": 11843.585480606009, + "suspended_seconds": 0.0 + }, + "metadata_delta": "Receipt only; no proof or gate inputs change." +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate-result.json new file mode 100644 index 000000000..1d562610e --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate-result.json @@ -0,0 +1,29 @@ +{ + "started_utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "clock_start": { + "utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "monotonic": 67961.583879087, + "boottime": 178391.124436683, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "timing_basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "pid": 979710, + "commit": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "exit_code": 0, + "finished_utc": "2026-09-29T16:53:32.916993+00:00", + "clock_end": { + "utc": "2026-09-29T16:53:32.916993+00:00", + "epoch": 1790700812.917018, + "monotonic": 79805.169359823, + "boottime": 190234.709917289, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "active_elapsed_seconds": 11843.585480736001, + "wall_elapsed_seconds": 11843.585480213165, + "boottime_elapsed_seconds": 11843.585480606009, + "suspended_seconds": 0.0 +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate.log new file mode 100644 index 000000000..050f268a1 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/full-gate.log @@ -0,0 +1,2747 @@ +make: Entering directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' +/usr/bin/python3 -E -S -B scripts/run_easycrypt_split.py +OK EasyCrypt manual source binding: 402 inputs (not extraction) + Finished `test` profile [optimized + debuginfo] target(s) in 0.04s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +{"exit_code": 0, "seconds": 18.89, "keygen_cases": 5, "signature_cases": 20, "negative_cases": 160, "receipt": "/tmp/pq-easycrypt-fullsign-4vpip1qu/evidence/result.json"} +FULLSIGN_MODEL_RECEIPT={ + "exit_code": 0, + "seconds": 18.89, + "rust_commit": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "rust_sources": { + "address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", + "fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", + "hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", + "hypertree.rs": "8e34ace4dad4c9171564f2293513de3c357fcb70ca6124db0415160bce205500", + "lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", + "merkle.rs": "9fe60480789238abbb7e680fc532464ff98679d8c66f8cfbc07329bb853afdc6", + "near_miss.rs": "36d9a465ca59e736165f60219052434d3970c6df175f618f3753c69acfeefaa7", + "params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", + "shuffle.rs": "2f3e0b12351084599294c9ccdfa01d18d7e2130a2fa84bae177ef26cfdb470ad", + "wots.rs": "c4f756501733a54d30dc4ae1f193032d4f720a350d8c9f511b49b1aab272a019" + }, + "model_sources": { + "RawKeygen.ec": "9f983fbb237129b0600ee1462429a722c53f86a5a74e25a0e508f16c1238174e", + "RawFors.ec": "cea927f567b23443a0c0846493089f3651f1eb57a86daae508527b612741833e", + "RawShuffle.ec": "2d8c14b922f4e85c7c2a1a8a4852a7622dbff8a87a3e6faf43ff6b13d5e3e639", + "RawWots.ec": "b0510301eba5d387e3199d216bae2772f5e27480bdb3a23f037881c59138a558", + "RawForest.ec": "76b40a69989b36c88ecc4d9e9fae197da65fee865ea2572be94f50f297fb2f10", + "RawMerkle.ec": "c39af26b991ef2929dea669be1152fcb84dbcbf0f25dfb60c2d1290c183d1f6e", + "RawLayer.ec": "3ebf8be154f55b07d3d8f10a3dd5e541b7d47714fa2997703c93201dce30dc96", + "RawSigner.ec": "8b40da75596beb4a824890c8d5e3d58383f7f049c682815b476850a26c7b1650", + "RawSignerCost.ec": "f6afec786f09e10a694fad65e8e0c36bdc8fa0e2f87a8d299617bf056dffeedd", + "RawSignature.ec": "de0e9b611ea88e6aaa39e5b9d3931ff2cf611c20159eb69b42f53ae9b5bae03d", + "RawDecode.ec": "bc0102dd6f42c3d6b2187439e961507bda5372a4a7c5c9a4887ee518a1fe09b4", + "ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b" + }, + "harness_sources": { + "src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", + "check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", + "Cargo.toml": "4a7ab9c9e96b752b88a40c77507fce791818733ac059dc0cb6a2af1051826617", + "Cargo.lock": "841066878fb7673836172817b5b7d756fc98505adf976fdde7465eea4e8b2ea8" + }, + "keygen_cases": 5, + "signatures": [ + { + "case": 0, + "run": 0, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 0, + "total_calls": 504865, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 0, + "total_calls": 494414, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 15, + "total_calls": 504880, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 15, + "total_calls": 494429, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 0, + "total_calls": 502175, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 0, + "total_calls": 491482, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 15, + "total_calls": 502190, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 15, + "total_calls": 491497, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 0, + "total_calls": 453988, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 0, + "total_calls": 498094, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 15, + "total_calls": 454003, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 15, + "total_calls": 498109, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 0, + "total_calls": 538014, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 0, + "total_calls": 476853, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 15, + "total_calls": 538029, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 15, + "total_calls": 476868, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 0, + "total_calls": 479192, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 0, + "total_calls": 480852, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 15, + "total_calls": 479207, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 15, + "total_calls": 480867, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + } + ], + "negative_verifications": [ + { + "case": 0, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + } + ], + "scope": "Manual byte/call correspondence for public fixtures; software shuffle SHA calls counted separately from Rust hooks. No extraction or probability/security theorem." +} + +### INPUTS_SHA256 06793da6caf1b7efe0ff7b7691927981 +OK INPUTS_SHA256 matches the committed identity +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed +OK toolchain: r2026.02, 25 pinned prover configurations +### IMAGE ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3 +OK proof controls: direct dependency failure / import acceptance / open-proof rejection / abstract require and EOF +OK no dual-extension theory names on the include path +### ECO_PURGED=0 +### ECO_REMAINING=0 +### PHASE 1 — TARGETS +OK target base-c10-split/BinaryTrees.ec +OK target base-c10-split/MerkleTrees.ec +OK target base-c10-split/KeyedHashFunctions.eca +OK target base-c10-split/TweakableHashFunctions.eca +OK target base-c10-split/HashAddresses.eca +OK target base-c10-split/RadixEncoding.ec +OK target base-c10-split/WOTS_TW_ES.ec +OK target base-c10-split/FL_SL_XMSS_MT_ES.ec +OK target base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca +OK target base-c10-split/FORS_ES.ec +OK target base-c10-split/SPHINCS_PLUS.ec +OK target cdrafts-split/C10Counter.ec +OK target cdrafts-split/C10Randomizer.ec +OK target cdrafts-split/C10RawOracle.ec +OK target cdrafts-split/C10Bytes.ec +OK target cdrafts-split/Grind.ec +OK target cdrafts-split/STCR_C.ec +OK target cdrafts-split/WOTS_C_Real.ec +OK target cdrafts-split/WOTS_C_Scheme.ec +OK target cdrafts-split/WOTS_C_Reduction.ec +OK target cdrafts-split/WOTS_C_Interactive.ec +OK target cdrafts-split/XMSSMT_C_Scheme.ec +OK target cdrafts-split/XmssmtCC_All.ec +OK target cdrafts-split/RtopCSoundness.ec +OK target cdrafts-split/FxChain.ec +OK target cdrafts-split/BoundedIID.ec +OK target cdrafts-split/FORS_C10.ec +OK target cdrafts-split/FORS_C10_Multi.ec +OK target cdrafts-split/GprocFORSC10.ec +OK target cdrafts-split/SphincsC10CapstoneWired.ec +OK target cdrafts-split/SphincsC10Content.ec +OK target cdrafts-split/C10DeployedInstance.ec +OK target cdrafts-split/C10HashDomains.ec +OK target cdrafts-split/C10RawGrind.ec +OK target cdrafts-split/SecretPrefix.ec +OK target cdrafts-split/PrefixGuess.ec +OK target cdrafts-split/PrefixHybrid.ec +OK target cdrafts-split/RoleGrind.ec +OK target cdrafts-split/GrindReplay.ec +OK target cdrafts-split/GrindWitness.ec +OK target cdrafts-split/PersistentGrind.ec +OK target cdrafts-split/RTailFresh.ec +OK target cdrafts-split/IdealWitness.ec +OK target cdrafts-split/RawRHistory.ec +OK target cdrafts-split/RawTrial.ec +OK target cdrafts-split/RTailMessages.ec +OK target cdrafts-split/RTailContexts.ec +OK target cdrafts-split/FORSC10Digest.ec +OK target cdrafts-split/GrindTail.ec +OK target cdrafts-split/StreamBound.ec +OK target cdrafts-split/TrialExpectation.ec +OK target cdrafts-split/StreamExpectation.ec +OK target cdrafts-split/GrindExhaustion.ec +OK target cdrafts-split/ExhaustionCharges.ec +OK target cdrafts-split/ContextExhaustion.ec +OK target cdrafts-split/AcceptedContexts.ec +OK target cdrafts-split/DigestPrefix.ec +OK target cdrafts-split/FreshCoverage.ec +OK target cdrafts-split/AcceptedSampling.ec +OK target cdrafts-split/TrialAccepted.ec +OK target cdrafts-split/StreamAccepted.ec +OK target cdrafts-split/AcceptedCoverage.ec +OK target cdrafts-split/DigestWindow.ec +OK target cdrafts-split/AcceptedHypertree.ec +OK target cdrafts-split/KeygenPrefixes.ec +OK target cdrafts-split/RoleGrindCost.ec +OK target cdrafts-split/RawKeygen.ec +OK target cdrafts-split/RawKeygenCost.ec +OK target cdrafts-split/PreparedGrind.ec +OK target cdrafts-split/RawFors.ec +OK target cdrafts-split/PrefixGames.ec +OK target cdrafts-split/PrefixBound.ec +OK target cdrafts-split/PrefixIdeal.ec +OK target cdrafts-split/PreparedHistory.ec +OK target cdrafts-split/PreparedExhaustion.ec +OK target cdrafts-split/PreparedRaw.ec +OK target cdrafts-split/KeygenExhaustion.ec +OK target cdrafts-split/PhysicalKeygenCost.ec +OK target cdrafts-split/RawShuffle.ec +OK target cdrafts-split/RawForest.ec +OK target cdrafts-split/RawWots.ec +OK target cdrafts-split/RawMerkle.ec +OK target cdrafts-split/RawLayer.ec +OK target cdrafts-split/RawSigner.ec +OK target cdrafts-split/RawSignature.ec +OK target cdrafts-split/RawCodec.ec +OK target cdrafts-split/RawSlices.ec +OK target cdrafts-split/RawDecode.ec +OK target cdrafts-split/FullSession.ec +OK target cdrafts-split/ByteSession.ec +OK target cdrafts-split/BuilderTotality.ec +OK target cdrafts-split/PathReplay.ec +OK target cdrafts-split/PathOracle.ec +OK target cdrafts-split/RawPathReplay.ec +OK target cdrafts-split/DyadicStack.ec +OK target cdrafts-split/NodeGridIndex.ec +OK target cdrafts-split/NodeGridPath.ec +OK target cdrafts-split/NodeCatalog.ec +OK target cdrafts-split/StackAlignment.ec +OK target cdrafts-split/NodeCatalogDomain.ec +OK target cdrafts-split/StackPowers.ec +OK target cdrafts-split/LinearChain.ec +OK target cdrafts-split/LinearOracle.ec +OK target cdrafts-split/RawChainTrace.ec +OK target cdrafts-split/WotsReference.ec +OK target cdrafts-split/RawLeafChains.ec +OK target cdrafts-split/WotsReferenceOracle.ec +OK target cdrafts-split/WotsReferenceStep.ec +OK target cdrafts-split/WotsChainReference.ec +OK target cdrafts-split/WotsLeafReference.ec +OK target cdrafts-split/MonotoneHistory.ec +OK target cdrafts-split/RawCountRecorded.ec +OK target cdrafts-split/WotsReferenceRoot.ec +OK target cdrafts-split/WotsCatalog.ec +OK target cdrafts-split/CatalogDeterminism.ec +OK target cdrafts-split/WotsRootDeterminism.ec +OK target cdrafts-split/MerkleRootWitness.ec +OK target cdrafts-split/RawHistoryPreservation.ec +OK target cdrafts-split/GrindReturned.ec +OK target cdrafts-split/RawForsPathReplay.ec +OK target cdrafts-split/ForsOpening.ec +OK target cdrafts-split/ForestOpenings.ec +OK target cdrafts-split/ForestWitness.ec +OK target cdrafts-split/RecoveryHistory.ec +OK target cdrafts-split/ForsComponentHistory.ec +OK target cdrafts-split/ForestOracle.ec +OK target cdrafts-split/RawWidths.ec +OK target cdrafts-split/RawTreeWidths.ec +OK target cdrafts-split/ForsOneRecorded.ec +OK target cdrafts-split/ForestOneStep.ec +OK target cdrafts-split/ShuffleBytes.ec +OK target cdrafts-split/ShuffleSwap.ec +OK target cdrafts-split/RawShufflePermutation.ec +OK target cdrafts-split/ForestSignRecorded.ec +OK target cdrafts-split/PathCollision.ec +OK target cdrafts-split/PathInputs.ec +OK target cdrafts-split/ForsLeafInputs.ec +OK target cdrafts-split/RawForsComparison.ec +OK target cdrafts-split/ForsOpeningReplay.ec +OK target cdrafts-split/FixedHashReplay.ec +OK target cdrafts-split/ForestRecoveryReplay.ec +OK target cdrafts-split/ForestOpening.ec +OK target cdrafts-split/LinearSplit.ec +OK target cdrafts-split/WotsChainSplit.ec +OK target cdrafts-split/WotsSignatureValue.ec +OK target cdrafts-split/RawWotsFill.ec +OK target cdrafts-split/PreparationHistory.ec +OK target cdrafts-split/ChainHistory.ec +OK target cdrafts-split/RawChainReplay.ec +OK target cdrafts-split/FixedChainReplay.ec +OK target cdrafts-split/FixedWotsChains.ec +OK target cdrafts-split/WotsFillCorrect.ec +OK target cdrafts-split/WotsCountWitness.ec +OK target cdrafts-split/WotsSignWitness.ec +OK target cdrafts-split/LayerPath.ec +OK target cdrafts-split/LayerWitness.ec +OK target cdrafts-split/LayerWotsSign.ec +OK target cdrafts-split/RawWotsRecovery.ec +OK target cdrafts-split/WotsOpeningRecovery.ec +OK target cdrafts-split/RawPathComparison.ec +OK target cdrafts-split/LayerRecoveryCorrect.ec +OK target cdrafts-split/CatalogForest.ec +OK target cdrafts-split/AuthSlots.ec +OK target cdrafts-split/AuthCaptureSchedule.ec +OK target cdrafts-split/StackProjection.ec +OK target cdrafts-split/CatalogStack.ec +OK target cdrafts-split/AuthPhase.ec +OK target cdrafts-split/MerkleBuildWitness.ec +OK target cdrafts-split/MerkleCatalogObserver.ec +OK target cdrafts-split/ForsBuildWitness.ec +OK target cdrafts-split/ForsCatalogObserver.ec +OK target cdrafts-split/CatalogWidths.ec +OK target cdrafts-split/CatalogPath.ec +OK target cdrafts-split/BuilderPath.ec +OK target cdrafts-split/CatalogMerge.ec +OK target cdrafts-split/CatalogOracle.ec +OK target cdrafts-split/MerkleCatalogSound.ec +OK target cdrafts-split/CatalogForestMerge.ec +OK target cdrafts-split/AuthCaptureIndex.ec +OK target cdrafts-split/AuthCaptureValue.ec +OK target cdrafts-split/AuthSteps.ec +OK target cdrafts-split/AuthStepInvariant.ec +OK target cdrafts-split/AuthAdvance.ec +OK target cdrafts-split/MerkleCatalogAuth.ec +OK target cdrafts-split/MerkleBuilderPath.ec +OK target cdrafts-split/RawWotsReference.ec +OK target cdrafts-split/WotsCatalogOracle.ec +OK target cdrafts-split/MerkleWotsLeaves.ec +OK target cdrafts-split/MerkleBuilderWots.ec +OK target cdrafts-split/LayerSignWitness.ec +OK target cdrafts-split/LayerRecoveryHistory.ec +OK target cdrafts-split/LayerSignOpening.ec +OK target cdrafts-split/SignerCoordinates.ec +OK target cdrafts-split/LayerOpeningReplay.ec +OK target cdrafts-split/SignerLayerTrace.ec +OK target cdrafts-split/SignerFinishState.ec +OK target cdrafts-split/SignerComponentHistory.ec +OK target cdrafts-split/SignerRecoveryStep.ec +OK target cdrafts-split/SignerVerifierReplay.ec +OK target cdrafts-split/IndependentWidths.ec +OK target cdrafts-split/BuildRootProjection.ec +OK target cdrafts-split/RawMerkleRootWitness.ec +OK target cdrafts-split/SignerAccepted.ec +OK target cdrafts-split/SignerReturned.ec +OK target cdrafts-split/SignerGrindRoot.ec +OK target cdrafts-split/SignerForestStep.ec +OK target cdrafts-split/MerkleRootPersistence.ec +OK target cdrafts-split/LayerSignCorrect.ec +OK target cdrafts-split/LayerPriorRoot.ec +OK target cdrafts-split/SignerLayerStep.ec +OK target cdrafts-split/SignerFinishWitness.ec +OK target cdrafts-split/SignerFinishRecorded.ec +OK target cdrafts-split/SignerReturnedOpening.ec +OK target cdrafts-split/RawCompositeWidths.ec +OK target cdrafts-split/RawSignerWidths.ec +OK target cdrafts-split/IndependentSignerWidth.ec +OK target cdrafts-split/RawByteValues.ec +OK target cdrafts-split/RawWotsBytes.ec +OK target cdrafts-split/RawTreeBytes.ec +OK target cdrafts-split/RawCompositeBytes.ec +OK target cdrafts-split/RawSignerBytes.ec +OK target cdrafts-split/EncodedSlices.ec +OK target cdrafts-split/EncodedLayer.ec +OK target cdrafts-split/EncodedSignatureSlices.ec +OK target cdrafts-split/EncodedSignature.ec +OK target cdrafts-split/SignerEncodingCorrect.ec +OK target cdrafts-split/ActualByteSignerCorrect.ec +OK target cdrafts-split/ActualForestCorrect.ec +OK target cdrafts-split/ActualLayerCorrect.ec +OK target cdrafts-split/ActualSignerCorrect.ec +OK target cdrafts-split/WotsSignCorrect.ec +OK target cdrafts-split/ActualWotsCorrect.ec +OK target cdrafts-split/PrefixAudit.ec +OK target cdrafts-split/AuditPrefix.ec +OK target cdrafts-split/AuditComplete.ec +OK target cdrafts-split/BadEncCountermodel.ec +OK target cdrafts-split/TCollResEnum.ec +OK target cdrafts-split/BadEncSplit.ec +OK target cdrafts-split/BadEncToTColl.ec +OK target cdrafts-split/BadEncStep4.ec +OK target cdrafts-split/RawForsCost.ec +OK target cdrafts-split/RawForestCost.ec +OK target cdrafts-split/RawWotsCost.ec +OK target cdrafts-split/RawMerkleCost.ec +OK target cdrafts-split/RawLayerCost.ec +OK target cdrafts-split/RawSignerCost.ec +OK target cdrafts-split/FullSessionCost.ec +OK target cdrafts-split/PrefixState.ec +OK target cdrafts-split/FullPrefix.ec +OK target cdrafts-split/ByteBound.ec +OK target cdrafts-split/ByteAudit.ec +OK target cdrafts-split/NodeDistribution.ec +OK target cdrafts-split/ProjectedBirthday.ec +OK target cdrafts-split/MemoNodeCollision.ec +OK target cdrafts-split/ProjectedMemoOracle.ec +OK target cdrafts-split/PublicCollisionGame.ec +OK target cdrafts-split/PublicNodeZero.ec +OK target cdrafts-split/PublicCollisionState.ec +OK target cdrafts-split/BytePublicCollision.ec +OK target cdrafts-split/BytePublicNodeBad.ec +OK target cdrafts-split/GrindTrace.ec +OK target cdrafts-split/GrindTraceRecorded.ec +OK target cdrafts-split/GrindTraceReplay.ec +OK target cdrafts-split/SignerTrace.ec +OK target cdrafts-split/MessageHistory.ec +OK target cdrafts-split/VerifierHistory.ec +OK target cdrafts-split/RootSessionHistory.ec +OK target cdrafts-split/ForestRecoveryRecord.ec +OK target cdrafts-split/LinearCollision.ec +OK target cdrafts-split/WotsRecoveryTrace.ec +OK target cdrafts-split/RecoveryTraceOracle.ec +OK target cdrafts-split/RawRecoveryTrace.ec +OK target cdrafts-split/WotsRecoveryHistory.ec +OK target cdrafts-split/LayerRecoveryRecord.ec +OK target cdrafts-split/VerifierForestRecords.ec +OK target cdrafts-split/RecoveryCompression.ec +OK target cdrafts-split/WotsZeroSentinel.ec +OK target cdrafts-split/VerifierWotsOpening.ec +OK target cdrafts-split/RootCoverage.ec +OK target cdrafts-split/NodeCollisionEvents.ec +OK target cdrafts-split/LayerRecordExtraction.ec +OK target cdrafts-split/VerifierLayerRecords.ec +OK target cdrafts-split/SubtreeOpeningCases.ec +OK target cdrafts-split/SecretLeafOrigins.ec +OK target cdrafts-split/SecretLeafOracle.ec +OK target cdrafts-split/ForsPrivateLeaves.ec +OK target cdrafts-split/ForsRootWitness.ec +OK target cdrafts-split/ForestRootWitness.ec +OK target cdrafts-split/ForestCoordinates.ec +OK target cdrafts-split/ForsRecordExtraction.ec +OK target cdrafts-split/ForestRecordExtraction.ec +OK target cdrafts-split/ForestOpeningCases.ec +OK target cdrafts-split/SessionForestExtraction.ec +OK target cdrafts-split/TopVerifierOpening.ec +OK target cdrafts-split/RawWotsExtraction.ec +OK target cdrafts-split/LayerExtractionHistory.ec +OK target cdrafts-split/ForsCatalogSound.ec +OK target cdrafts-split/ForsCatalogAuth.ec +OK target cdrafts-split/ForsBuilderPath.ec +OK target cdrafts-split/RawBuilderReference.ec +OK target cdrafts-split/MerkleBuilderComparison.ec +OK target cdrafts-split/LayerWotsExtraction.ec +OK target cdrafts-split/RootLayerExtraction.ec +OK target cdrafts-split/RootExtractionHistory.ec +OK target cdrafts-split/VerifierTopExtraction.ec +OK target cdrafts-split/SessionTopExtraction.ec +OK target cdrafts-split/ByteGameTopExtraction.ec +OK target cdrafts-split/ByteGameForestExtraction.ec +OK target cdrafts-split/ByteForestOpeningHop.ec +OK target cdrafts-split/SessionSubtreeExtraction.ec +OK target cdrafts-split/ByteGameSubtreeExtraction.ec +OK target cdrafts-split/RHistoryOps.ec +OK target cdrafts-split/PreparedFinish.ec +OK target cdrafts-split/SignerMessages.ec +OK target cdrafts-split/FullMessageHistory.ec +OK target cdrafts-split/RSession.ec +OK target cdrafts-split/RSessionHistory.ec +OK target cdrafts-split/SignerRecorded.ec +OK target cdrafts-split/FullHistory.ec +OK target cdrafts-split/ByteHistory.ec +OK target cdrafts-split/DigestCoordinates.ec +OK target cdrafts-split/ByteReplay.ec +OK target cdrafts-split/ByteSubtreeOpeningHop.ec +OK target cdrafts-split/ByteTopOpeningHop.ec +OK target cdrafts-split/C10BoundedGrind.ec +OK target cdrafts-split/C10BoundedSigning.ec +OK target cdrafts-split/C10WOTSCorrect.ec +OK target cdrafts-split/C10BoundedHypertree.ec +OK target cdrafts-split/C10HypertreeCoverage.ec +OK target cdrafts-split/C10HypertreeCorrect.ec +OK target cdrafts-split/C10BoundedGame.ec +OK target cdrafts-split/GFailCharged.ec +OK target cdrafts-split/C10BoundedMA.ec +OK target cdrafts-split/C10CubeCorrect.ec +OK target cdrafts-split/C10CubeConstruction.ec +OK target cdrafts-split/C10ReductionChoose.ec +OK target cdrafts-split/C10ReductionForge.ec +OK target cdrafts-split/C10AcceptedReduction.ec +OK target cdrafts-split/VecDP.ec +OK target cdrafts-split/CountDS.ec +OK target cdrafts-split/C10DigitUniform.ec +OK target cdrafts-split/C10SurfaceKernel.ec +OK target cdrafts-split/C10Surface.ec +OK target cdrafts-split/C10Encoding.ec +OK target cdrafts-split/C10BoundedIID.ec +OK target cdrafts-split/C10BoundedLeaf.ec +OK target cdrafts-split/C10BoundedReduction.ec +OK target cdrafts-split/C10DeployedCapstone.ec +OK target cdrafts-split/C10DeployedGeometry.ec +OK target cdrafts-split/C10DeployedScope.ec +OK target cdrafts-split/C10HypertreeAccepted.ec +OK target cdrafts-split/XmssmtCCCharged.ec +OK target cdrafts-split/C10HypertreeCharged.ec +OK target cdrafts-split/SharedROBounded.ec +OK target cdrafts-split/C10SharedSearch.ec +OK target cdrafts-split/C10SearchBounds.ec +OK target cdrafts-split/C10SpecControls.ec +OK target cdrafts-split/C10StatefulSearch.ec +OK target cdrafts-split/SessionDigest.ec +OK target cdrafts-split/ClassifiedHistory.ec +OK target cdrafts-split/ClassifiedGrind.ec +OK target cdrafts-split/ClassifiedSigner.ec +OK target cdrafts-split/ClassifiedSession.ec +OK target cdrafts-split/ClassifiedBound.ec +OK target cdrafts-split/DarkSide.ec +OK target cdrafts-split/DarkSideC10.ec +OK target cdrafts-split/DigestPair.ec +OK target cdrafts-split/ExposureLog.ec +OK target cdrafts-split/ExposureAccounting.ec +OK target cdrafts-split/ForestReferenceHistory.ec +OK target cdrafts-split/ForsBuilderPrivate.ec +OK target cdrafts-split/ForsRootRecording.ec +OK target cdrafts-split/ForsPrivateEntry.ec +OK target cdrafts-split/ForsKnownSecret.ec +OK target cdrafts-split/ForsSignWitness.ec +OK target cdrafts-split/ForsReturnedRoot.ec +OK target cdrafts-split/ForestRootPrefix.ec +OK target cdrafts-split/ForestRootRecording.ec +OK target cdrafts-split/SignerForestReference.ec +OK target cdrafts-split/HonestForestMessages.ec +OK target cdrafts-split/LayerReturnedRoot.ec +OK target cdrafts-split/SignerSubtreeReference.ec +OK target cdrafts-split/HonestSubtreeMessages.ec +OK target cdrafts-split/ExposureSupport.ec +OK target cdrafts-split/ExposureReferences.ec +OK target cdrafts-split/ExposureComponents.ec +OK target cdrafts-split/ExposureDriver.ec +OK target cdrafts-split/ExposureWidths.ec +OK target cdrafts-split/ExposurePrivate.ec +OK target cdrafts-split/ForsRootDeterminism.ec +OK target cdrafts-split/ExposureCoverage.ec +OK target cdrafts-split/ExposureHistory.ec +OK target cdrafts-split/ExposureSessionHistory.ec +OK target cdrafts-split/ExposureGameHistory.ec +OK target cdrafts-split/ExposureForge.ec +OK target cdrafts-split/ExposurePartition.ec +OK target cdrafts-split/ExposurePartitionGame.ec +OK target cdrafts-split/ExposurePartitionHop.ec +OK target cdrafts-split/FORS_C.ec +OK target cdrafts-split/FORS_C_TreePort.ec +OK target cdrafts-split/LeafOrigins.ec +OK target cdrafts-split/LeafOriginOracle.ec +OK target cdrafts-split/ForsLeafOrigins.ec +OK target cdrafts-split/ForsBuilderSecret.ec +OK target cdrafts-split/ForsBuilderComparison.ec +OK target cdrafts-split/ForsSignCorrect.ec +OK target cdrafts-split/ForsSignRecord.ec +OK target cdrafts-split/FullFailure.ec +OK target cdrafts-split/GprocVI.ec +OK target cdrafts-split/SphincsC10CapstoneCharged.ec +OK target cdrafts-split/GprocT1Opre.ec +OK target cdrafts-split/GprocT2Trh.ec +OK target cdrafts-split/GprocT3Trco.ec +OK target cdrafts-split/GprocQBound.ec +OK target cdrafts-split/GprocQWired.ec +OK target cdrafts-split/GprocChargedQWired.ec +OK target cdrafts-split/WotsLegCharged.ec +OK target cdrafts-split/GprocWotsNamed.ec +OK target cdrafts-split/GprocTCollNamed.ec +OK target cdrafts-split/GrindHypertree.ec +OK target cdrafts-split/GrindJointCoverage.ec +OK target cdrafts-split/HonestByteContext.ec +OK target cdrafts-split/HonestByteCost.ec +OK target cdrafts-split/HonestBytePhysical.ec +OK target cdrafts-split/LayerBuildExtraction.ec +OK target cdrafts-split/PublicCollisionBound.ec +OK target cdrafts-split/RSessionCost.ec +OK target cdrafts-split/RSessionBound.ec +OK target cdrafts-split/SessionKeygen.ec +OK target cdrafts-split/RawSession.ec +OK target cdrafts-split/SessionPhysical.ec +OK target cdrafts-split/RawSessionBound.ec +OK target cdrafts-split/RawSessionCost.ec +OK target cdrafts-split/SessionClosedForm.ec +OK target cdrafts-split/TotalBuilderReference.ec +OK target cdrafts-split/VerifierWotsReplay.ec +OK target cdrafts-split/WOTS_C_Multi.ec +OK target cdrafts-split/WotsKeyExtraction.ec +### CONE_COMPILED=438 EXPECTED=438 +### PHASE 1d — EVERY CLOSURE FILE MUST BE REQUIRABLE (not merely compilable) +OK all closure files are requirable +### PHASE 1e — BOTH DRIVERS (compile AND cli) +OK base-c10-split/BinaryTrees.ec (cli, 303 cmds) +OK base-c10-split/MerkleTrees.ec (cli, 105 cmds) +OK base-c10-split/KeyedHashFunctions.eca (cli, 156 cmds) +OK base-c10-split/TweakableHashFunctions.eca (cli, 84 cmds) +OK base-c10-split/HashAddresses.eca (cli, 63 cmds) +OK base-c10-split/RadixEncoding.ec (cli, 42 cmds) +OK base-c10-split/WOTS_TW_ES.ec (cli, 2193 cmds) +OK base-c10-split/FL_SL_XMSS_MT_ES.ec (cli, 679 cmds) +OK base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca (cli, 703 cmds) +OK base-c10-split/FORS_ES.ec (cli, 2191 cmds) +OK base-c10-split/SPHINCS_PLUS.ec (cli, 456 cmds) +OK cdrafts-split/C10Counter.ec (cli, 57 cmds) +OK cdrafts-split/C10Randomizer.ec (cli, 51 cmds) +OK cdrafts-split/C10RawOracle.ec (cli, 65 cmds) +OK cdrafts-split/C10Bytes.ec (cli, 67 cmds) +OK cdrafts-split/Grind.ec (cli, 59 cmds) +OK cdrafts-split/STCR_C.ec (cli, 37 cmds) +OK cdrafts-split/WOTS_C_Real.ec (cli, 120 cmds) +OK cdrafts-split/WOTS_C_Scheme.ec (cli, 41 cmds) +OK cdrafts-split/WOTS_C_Reduction.ec (cli, 204 cmds) +OK cdrafts-split/WOTS_C_Interactive.ec (cli, 744 cmds) +OK cdrafts-split/XMSSMT_C_Scheme.ec (cli, 58 cmds) +OK cdrafts-split/XmssmtCC_All.ec (cli, 2646 cmds) +OK cdrafts-split/RtopCSoundness.ec (cli, 673 cmds) +OK cdrafts-split/FxChain.ec (cli, 1219 cmds) +OK cdrafts-split/BoundedIID.ec (cli, 47 cmds) +OK cdrafts-split/FORS_C10.ec (cli, 81 cmds) +OK cdrafts-split/FORS_C10_Multi.ec (cli, 69 cmds) +OK cdrafts-split/GprocFORSC10.ec (cli, 400 cmds) +OK cdrafts-split/SphincsC10CapstoneWired.ec (cli, 102 cmds) +OK cdrafts-split/SphincsC10Content.ec (cli, 198 cmds) +OK cdrafts-split/C10DeployedInstance.ec (cli, 285 cmds) +OK cdrafts-split/C10HashDomains.ec (cli, 51 cmds) +OK cdrafts-split/C10RawGrind.ec (cli, 43 cmds) +OK cdrafts-split/SecretPrefix.ec (cli, 30 cmds) +OK cdrafts-split/PrefixGuess.ec (cli, 25 cmds) +OK cdrafts-split/PrefixHybrid.ec (cli, 78 cmds) +OK cdrafts-split/RoleGrind.ec (cli, 20 cmds) +OK cdrafts-split/GrindReplay.ec (cli, 19 cmds) +OK cdrafts-split/GrindWitness.ec (cli, 23 cmds) +OK cdrafts-split/PersistentGrind.ec (cli, 21 cmds) +OK cdrafts-split/RTailFresh.ec (cli, 47 cmds) +OK cdrafts-split/IdealWitness.ec (cli, 51 cmds) +OK cdrafts-split/RawRHistory.ec (cli, 29 cmds) +OK cdrafts-split/RawTrial.ec (cli, 27 cmds) +OK cdrafts-split/RTailMessages.ec (cli, 33 cmds) +OK cdrafts-split/RTailContexts.ec (cli, 41 cmds) +OK cdrafts-split/FORSC10Digest.ec (cli, 30 cmds) +OK cdrafts-split/GrindTail.ec (cli, 33 cmds) +OK cdrafts-split/StreamBound.ec (cli, 54 cmds) +OK cdrafts-split/TrialExpectation.ec (cli, 25 cmds) +OK cdrafts-split/StreamExpectation.ec (cli, 35 cmds) +OK cdrafts-split/GrindExhaustion.ec (cli, 24 cmds) +OK cdrafts-split/ExhaustionCharges.ec (cli, 11 cmds) +OK cdrafts-split/ContextExhaustion.ec (cli, 31 cmds) +OK cdrafts-split/AcceptedContexts.ec (cli, 39 cmds) +OK cdrafts-split/DigestPrefix.ec (cli, 27 cmds) +OK cdrafts-split/FreshCoverage.ec (cli, 100 cmds) +OK cdrafts-split/AcceptedSampling.ec (cli, 57 cmds) +OK cdrafts-split/TrialAccepted.ec (cli, 25 cmds) +OK cdrafts-split/StreamAccepted.ec (cli, 51 cmds) +OK cdrafts-split/AcceptedCoverage.ec (cli, 29 cmds) +OK cdrafts-split/DigestWindow.ec (cli, 24 cmds) +OK cdrafts-split/AcceptedHypertree.ec (cli, 35 cmds) +OK cdrafts-split/KeygenPrefixes.ec (cli, 39 cmds) +OK cdrafts-split/RoleGrindCost.ec (cli, 24 cmds) +OK cdrafts-split/RawKeygen.ec (cli, 34 cmds) +OK cdrafts-split/RawKeygenCost.ec (cli, 41 cmds) +OK cdrafts-split/PreparedGrind.ec (cli, 22 cmds) +OK cdrafts-split/RawFors.ec (cli, 21 cmds) +OK cdrafts-split/PrefixGames.ec (cli, 31 cmds) +OK cdrafts-split/PrefixBound.ec (cli, 16 cmds) +OK cdrafts-split/PrefixIdeal.ec (cli, 19 cmds) +OK cdrafts-split/PreparedHistory.ec (cli, 23 cmds) +OK cdrafts-split/PreparedExhaustion.ec (cli, 38 cmds) +OK cdrafts-split/PreparedRaw.ec (cli, 21 cmds) +OK cdrafts-split/KeygenExhaustion.ec (cli, 21 cmds) +OK cdrafts-split/PhysicalKeygenCost.ec (cli, 47 cmds) +OK cdrafts-split/RawShuffle.ec (cli, 47 cmds) +OK cdrafts-split/RawForest.ec (cli, 27 cmds) +OK cdrafts-split/RawWots.ec (cli, 42 cmds) +OK cdrafts-split/RawMerkle.ec (cli, 18 cmds) +OK cdrafts-split/RawLayer.ec (cli, 18 cmds) +OK cdrafts-split/RawSigner.ec (cli, 28 cmds) +OK cdrafts-split/RawSignature.ec (cli, 43 cmds) +OK cdrafts-split/RawCodec.ec (cli, 30 cmds) +OK cdrafts-split/RawSlices.ec (cli, 23 cmds) +OK cdrafts-split/RawDecode.ec (cli, 55 cmds) +OK cdrafts-split/FullSession.ec (cli, 31 cmds) +OK cdrafts-split/ByteSession.ec (cli, 38 cmds) +OK cdrafts-split/BuilderTotality.ec (cli, 27 cmds) +OK cdrafts-split/PathReplay.ec (cli, 42 cmds) +OK cdrafts-split/PathOracle.ec (cli, 20 cmds) +OK cdrafts-split/RawPathReplay.ec (cli, 13 cmds) +OK cdrafts-split/DyadicStack.ec (cli, 91 cmds) +OK cdrafts-split/NodeGridIndex.ec (cli, 47 cmds) +OK cdrafts-split/NodeGridPath.ec (cli, 43 cmds) +OK cdrafts-split/NodeCatalog.ec (cli, 47 cmds) +OK cdrafts-split/StackAlignment.ec (cli, 38 cmds) +OK cdrafts-split/NodeCatalogDomain.ec (cli, 89 cmds) +OK cdrafts-split/StackPowers.ec (cli, 10 cmds) +OK cdrafts-split/LinearChain.ec (cli, 50 cmds) +OK cdrafts-split/LinearOracle.ec (cli, 12 cmds) +OK cdrafts-split/RawChainTrace.ec (cli, 25 cmds) +OK cdrafts-split/WotsReference.ec (cli, 32 cmds) +OK cdrafts-split/RawLeafChains.ec (cli, 16 cmds) +OK cdrafts-split/WotsReferenceOracle.ec (cli, 17 cmds) +OK cdrafts-split/WotsReferenceStep.ec (cli, 13 cmds) +OK cdrafts-split/WotsChainReference.ec (cli, 16 cmds) +OK cdrafts-split/WotsLeafReference.ec (cli, 25 cmds) +OK cdrafts-split/MonotoneHistory.ec (cli, 21 cmds) +OK cdrafts-split/RawCountRecorded.ec (cli, 23 cmds) +OK cdrafts-split/WotsReferenceRoot.ec (cli, 22 cmds) +OK cdrafts-split/WotsCatalog.ec (cli, 24 cmds) +OK cdrafts-split/CatalogDeterminism.ec (cli, 18 cmds) +OK cdrafts-split/WotsRootDeterminism.ec (cli, 17 cmds) +OK cdrafts-split/MerkleRootWitness.ec (cli, 20 cmds) +OK cdrafts-split/RawHistoryPreservation.ec (cli, 17 cmds) +OK cdrafts-split/GrindReturned.ec (cli, 32 cmds) +OK cdrafts-split/RawForsPathReplay.ec (cli, 18 cmds) +OK cdrafts-split/ForsOpening.ec (cli, 11 cmds) +OK cdrafts-split/ForestOpenings.ec (cli, 27 cmds) +OK cdrafts-split/ForestWitness.ec (cli, 21 cmds) +OK cdrafts-split/RecoveryHistory.ec (cli, 16 cmds) +OK cdrafts-split/ForsComponentHistory.ec (cli, 34 cmds) +OK cdrafts-split/ForestOracle.ec (cli, 22 cmds) +OK cdrafts-split/RawWidths.ec (cli, 54 cmds) +OK cdrafts-split/RawTreeWidths.ec (cli, 54 cmds) +OK cdrafts-split/ForsOneRecorded.ec (cli, 17 cmds) +OK cdrafts-split/ForestOneStep.ec (cli, 8 cmds) +OK cdrafts-split/ShuffleBytes.ec (cli, 22 cmds) +OK cdrafts-split/ShuffleSwap.ec (cli, 18 cmds) +OK cdrafts-split/RawShufflePermutation.ec (cli, 19 cmds) +OK cdrafts-split/ForestSignRecorded.ec (cli, 25 cmds) +OK cdrafts-split/PathCollision.ec (cli, 31 cmds) +OK cdrafts-split/PathInputs.ec (cli, 41 cmds) +OK cdrafts-split/ForsLeafInputs.ec (cli, 17 cmds) +OK cdrafts-split/RawForsComparison.ec (cli, 12 cmds) +OK cdrafts-split/ForsOpeningReplay.ec (cli, 16 cmds) +OK cdrafts-split/FixedHashReplay.ec (cli, 7 cmds) +OK cdrafts-split/ForestRecoveryReplay.ec (cli, 21 cmds) +OK cdrafts-split/ForestOpening.ec (cli, 23 cmds) +OK cdrafts-split/LinearSplit.ec (cli, 8 cmds) +OK cdrafts-split/WotsChainSplit.ec (cli, 10 cmds) +OK cdrafts-split/WotsSignatureValue.ec (cli, 25 cmds) +OK cdrafts-split/RawWotsFill.ec (cli, 18 cmds) +OK cdrafts-split/PreparationHistory.ec (cli, 16 cmds) +OK cdrafts-split/ChainHistory.ec (cli, 16 cmds) +OK cdrafts-split/RawChainReplay.ec (cli, 8 cmds) +OK cdrafts-split/FixedChainReplay.ec (cli, 17 cmds) +OK cdrafts-split/FixedWotsChains.ec (cli, 23 cmds) +OK cdrafts-split/WotsFillCorrect.ec (cli, 14 cmds) +OK cdrafts-split/WotsCountWitness.ec (cli, 8 cmds) +OK cdrafts-split/WotsSignWitness.ec (cli, 22 cmds) +OK cdrafts-split/LayerPath.ec (cli, 26 cmds) +OK cdrafts-split/LayerWitness.ec (cli, 18 cmds) +OK cdrafts-split/LayerWotsSign.ec (cli, 10 cmds) +OK cdrafts-split/RawWotsRecovery.ec (cli, 26 cmds) +OK cdrafts-split/WotsOpeningRecovery.ec (cli, 12 cmds) +OK cdrafts-split/RawPathComparison.ec (cli, 12 cmds) +OK cdrafts-split/LayerRecoveryCorrect.ec (cli, 16 cmds) +OK cdrafts-split/CatalogForest.ec (cli, 39 cmds) +OK cdrafts-split/AuthSlots.ec (cli, 37 cmds) +OK cdrafts-split/AuthCaptureSchedule.ec (cli, 37 cmds) +OK cdrafts-split/StackProjection.ec (cli, 16 cmds) +OK cdrafts-split/CatalogStack.ec (cli, 37 cmds) +OK cdrafts-split/AuthPhase.ec (cli, 58 cmds) +OK cdrafts-split/MerkleBuildWitness.ec (cli, 30 cmds) +OK cdrafts-split/MerkleCatalogObserver.ec (cli, 35 cmds) +OK cdrafts-split/ForsBuildWitness.ec (cli, 33 cmds) +OK cdrafts-split/ForsCatalogObserver.ec (cli, 38 cmds) +OK cdrafts-split/CatalogWidths.ec (cli, 53 cmds) +OK cdrafts-split/CatalogPath.ec (cli, 21 cmds) +OK cdrafts-split/BuilderPath.ec (cli, 14 cmds) +OK cdrafts-split/CatalogMerge.ec (cli, 28 cmds) +OK cdrafts-split/CatalogOracle.ec (cli, 27 cmds) +OK cdrafts-split/MerkleCatalogSound.ec (cli, 43 cmds) +OK cdrafts-split/CatalogForestMerge.ec (cli, 16 cmds) +OK cdrafts-split/AuthCaptureIndex.ec (cli, 43 cmds) +OK cdrafts-split/AuthCaptureValue.ec (cli, 19 cmds) +OK cdrafts-split/AuthSteps.ec (cli, 32 cmds) +OK cdrafts-split/AuthStepInvariant.ec (cli, 37 cmds) +OK cdrafts-split/AuthAdvance.ec (cli, 37 cmds) +OK cdrafts-split/MerkleCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/MerkleBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawWotsReference.ec (cli, 15 cmds) +OK cdrafts-split/WotsCatalogOracle.ec (cli, 31 cmds) +OK cdrafts-split/MerkleWotsLeaves.ec (cli, 16 cmds) +OK cdrafts-split/MerkleBuilderWots.ec (cli, 44 cmds) +OK cdrafts-split/LayerSignWitness.ec (cli, 15 cmds) +OK cdrafts-split/LayerRecoveryHistory.ec (cli, 18 cmds) +OK cdrafts-split/LayerSignOpening.ec (cli, 29 cmds) +OK cdrafts-split/SignerCoordinates.ec (cli, 27 cmds) +OK cdrafts-split/LayerOpeningReplay.ec (cli, 17 cmds) +OK cdrafts-split/SignerLayerTrace.ec (cli, 23 cmds) +OK cdrafts-split/SignerFinishState.ec (cli, 28 cmds) +OK cdrafts-split/SignerComponentHistory.ec (cli, 29 cmds) +OK cdrafts-split/SignerRecoveryStep.ec (cli, 12 cmds) +OK cdrafts-split/SignerVerifierReplay.ec (cli, 25 cmds) +OK cdrafts-split/IndependentWidths.ec (cli, 33 cmds) +OK cdrafts-split/BuildRootProjection.ec (cli, 15 cmds) +OK cdrafts-split/RawMerkleRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/SignerAccepted.ec (cli, 41 cmds) +OK cdrafts-split/SignerReturned.ec (cli, 41 cmds) +OK cdrafts-split/SignerGrindRoot.ec (cli, 16 cmds) +OK cdrafts-split/SignerForestStep.ec (cli, 13 cmds) +OK cdrafts-split/MerkleRootPersistence.ec (cli, 21 cmds) +OK cdrafts-split/LayerSignCorrect.ec (cli, 34 cmds) +OK cdrafts-split/LayerPriorRoot.ec (cli, 26 cmds) +OK cdrafts-split/SignerLayerStep.ec (cli, 18 cmds) +OK cdrafts-split/SignerFinishWitness.ec (cli, 14 cmds) +OK cdrafts-split/SignerFinishRecorded.ec (cli, 21 cmds) +OK cdrafts-split/SignerReturnedOpening.ec (cli, 25 cmds) +OK cdrafts-split/RawCompositeWidths.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerWidths.ec (cli, 33 cmds) +OK cdrafts-split/IndependentSignerWidth.ec (cli, 19 cmds) +OK cdrafts-split/RawByteValues.ec (cli, 42 cmds) +OK cdrafts-split/RawWotsBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawTreeBytes.ec (cli, 50 cmds) +OK cdrafts-split/RawCompositeBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerBytes.ec (cli, 51 cmds) +OK cdrafts-split/EncodedSlices.ec (cli, 35 cmds) +OK cdrafts-split/EncodedLayer.ec (cli, 32 cmds) +OK cdrafts-split/EncodedSignatureSlices.ec (cli, 47 cmds) +OK cdrafts-split/EncodedSignature.ec (cli, 39 cmds) +OK cdrafts-split/SignerEncodingCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualByteSignerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualForestCorrect.ec (cli, 24 cmds) +OK cdrafts-split/ActualLayerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualSignerCorrect.ec (cli, 31 cmds) +OK cdrafts-split/WotsSignCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualWotsCorrect.ec (cli, 28 cmds) +OK cdrafts-split/PrefixAudit.ec (cli, 60 cmds) +OK cdrafts-split/AuditPrefix.ec (cli, 54 cmds) +OK cdrafts-split/AuditComplete.ec (cli, 35 cmds) +OK cdrafts-split/BadEncCountermodel.ec (cli, 164 cmds) +OK cdrafts-split/TCollResEnum.ec (cli, 135 cmds) +OK cdrafts-split/BadEncSplit.ec (cli, 52 cmds) +OK cdrafts-split/BadEncToTColl.ec (cli, 91 cmds) +OK cdrafts-split/BadEncStep4.ec (cli, 196 cmds) +OK cdrafts-split/RawForsCost.ec (cli, 69 cmds) +OK cdrafts-split/RawForestCost.ec (cli, 62 cmds) +OK cdrafts-split/RawWotsCost.ec (cli, 76 cmds) +OK cdrafts-split/RawMerkleCost.ec (cli, 40 cmds) +OK cdrafts-split/RawLayerCost.ec (cli, 38 cmds) +OK cdrafts-split/RawSignerCost.ec (cli, 68 cmds) +OK cdrafts-split/FullSessionCost.ec (cli, 45 cmds) +OK cdrafts-split/PrefixState.ec (cli, 29 cmds) +OK cdrafts-split/FullPrefix.ec (cli, 21 cmds) +OK cdrafts-split/ByteBound.ec (cli, 21 cmds) +OK cdrafts-split/ByteAudit.ec (cli, 50 cmds) +OK cdrafts-split/NodeDistribution.ec (cli, 33 cmds) +OK cdrafts-split/ProjectedBirthday.ec (cli, 22 cmds) +OK cdrafts-split/MemoNodeCollision.ec (cli, 18 cmds) +OK cdrafts-split/ProjectedMemoOracle.ec (cli, 42 cmds) +OK cdrafts-split/PublicCollisionGame.ec (cli, 22 cmds) +OK cdrafts-split/PublicNodeZero.ec (cli, 40 cmds) +OK cdrafts-split/PublicCollisionState.ec (cli, 24 cmds) +OK cdrafts-split/BytePublicCollision.ec (cli, 32 cmds) +OK cdrafts-split/BytePublicNodeBad.ec (cli, 30 cmds) +OK cdrafts-split/GrindTrace.ec (cli, 42 cmds) +OK cdrafts-split/GrindTraceRecorded.ec (cli, 35 cmds) +OK cdrafts-split/GrindTraceReplay.ec (cli, 50 cmds) +OK cdrafts-split/SignerTrace.ec (cli, 42 cmds) +OK cdrafts-split/MessageHistory.ec (cli, 69 cmds) +OK cdrafts-split/VerifierHistory.ec (cli, 22 cmds) +OK cdrafts-split/RootSessionHistory.ec (cli, 40 cmds) +OK cdrafts-split/ForestRecoveryRecord.ec (cli, 49 cmds) +OK cdrafts-split/LinearCollision.ec (cli, 25 cmds) +OK cdrafts-split/WotsRecoveryTrace.ec (cli, 42 cmds) +OK cdrafts-split/RecoveryTraceOracle.ec (cli, 23 cmds) +OK cdrafts-split/RawRecoveryTrace.ec (cli, 21 cmds) +OK cdrafts-split/WotsRecoveryHistory.ec (cli, 43 cmds) +OK cdrafts-split/LayerRecoveryRecord.ec (cli, 27 cmds) +OK cdrafts-split/VerifierForestRecords.ec (cli, 35 cmds) +OK cdrafts-split/RecoveryCompression.ec (cli, 37 cmds) +OK cdrafts-split/WotsZeroSentinel.ec (cli, 19 cmds) +OK cdrafts-split/VerifierWotsOpening.ec (cli, 21 cmds) +OK cdrafts-split/RootCoverage.ec (cli, 53 cmds) +OK cdrafts-split/NodeCollisionEvents.ec (cli, 22 cmds) +OK cdrafts-split/LayerRecordExtraction.ec (cli, 23 cmds) +OK cdrafts-split/VerifierLayerRecords.ec (cli, 29 cmds) +OK cdrafts-split/SubtreeOpeningCases.ec (cli, 27 cmds) +OK cdrafts-split/SecretLeafOrigins.ec (cli, 41 cmds) +OK cdrafts-split/SecretLeafOracle.ec (cli, 20 cmds) +OK cdrafts-split/ForsPrivateLeaves.ec (cli, 21 cmds) +OK cdrafts-split/ForsRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/ForestRootWitness.ec (cli, 27 cmds) +OK cdrafts-split/ForestCoordinates.ec (cli, 13 cmds) +OK cdrafts-split/ForsRecordExtraction.ec (cli, 20 cmds) +OK cdrafts-split/ForestRecordExtraction.ec (cli, 66 cmds) +OK cdrafts-split/ForestOpeningCases.ec (cli, 33 cmds) +OK cdrafts-split/SessionForestExtraction.ec (cli, 19 cmds) +OK cdrafts-split/TopVerifierOpening.ec (cli, 6 cmds) +OK cdrafts-split/RawWotsExtraction.ec (cli, 13 cmds) +OK cdrafts-split/LayerExtractionHistory.ec (cli, 12 cmds) +OK cdrafts-split/ForsCatalogSound.ec (cli, 45 cmds) +OK cdrafts-split/ForsCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/ForsBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawBuilderReference.ec (cli, 35 cmds) +OK cdrafts-split/MerkleBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/LayerWotsExtraction.ec (cli, 19 cmds) +OK cdrafts-split/RootLayerExtraction.ec (cli, 16 cmds) +OK cdrafts-split/RootExtractionHistory.ec (cli, 9 cmds) +OK cdrafts-split/VerifierTopExtraction.ec (cli, 24 cmds) +OK cdrafts-split/SessionTopExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameTopExtraction.ec (cli, 27 cmds) +OK cdrafts-split/ByteGameForestExtraction.ec (cli, 23 cmds) +OK cdrafts-split/ByteForestOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/SessionSubtreeExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameSubtreeExtraction.ec (cli, 23 cmds) +OK cdrafts-split/RHistoryOps.ec (cli, 53 cmds) +OK cdrafts-split/PreparedFinish.ec (cli, 29 cmds) +OK cdrafts-split/SignerMessages.ec (cli, 30 cmds) +OK cdrafts-split/FullMessageHistory.ec (cli, 29 cmds) +OK cdrafts-split/RSession.ec (cli, 28 cmds) +OK cdrafts-split/RSessionHistory.ec (cli, 43 cmds) +OK cdrafts-split/SignerRecorded.ec (cli, 30 cmds) +OK cdrafts-split/FullHistory.ec (cli, 47 cmds) +OK cdrafts-split/ByteHistory.ec (cli, 32 cmds) +OK cdrafts-split/DigestCoordinates.ec (cli, 46 cmds) +OK cdrafts-split/ByteReplay.ec (cli, 31 cmds) +OK cdrafts-split/ByteSubtreeOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/ByteTopOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/C10BoundedGrind.ec (cli, 36 cmds) +OK cdrafts-split/C10BoundedSigning.ec (cli, 87 cmds) +OK cdrafts-split/C10WOTSCorrect.ec (cli, 65 cmds) +OK cdrafts-split/C10BoundedHypertree.ec (cli, 111 cmds) +OK cdrafts-split/C10HypertreeCoverage.ec (cli, 53 cmds) +OK cdrafts-split/C10HypertreeCorrect.ec (cli, 180 cmds) +OK cdrafts-split/C10BoundedGame.ec (cli, 66 cmds) +OK cdrafts-split/GFailCharged.ec (cli, 103 cmds) +OK cdrafts-split/C10BoundedMA.ec (cli, 87 cmds) +OK cdrafts-split/C10CubeCorrect.ec (cli, 111 cmds) +OK cdrafts-split/C10CubeConstruction.ec (cli, 247 cmds) +OK cdrafts-split/C10ReductionChoose.ec (cli, 65 cmds) +OK cdrafts-split/C10ReductionForge.ec (cli, 64 cmds) +OK cdrafts-split/C10AcceptedReduction.ec (cli, 45 cmds) +OK cdrafts-split/VecDP.ec (cli, 5 cmds) +OK cdrafts-split/CountDS.ec (cli, 132 cmds) +OK cdrafts-split/C10DigitUniform.ec (cli, 71 cmds) +OK cdrafts-split/C10SurfaceKernel.ec (cli, 23 cmds) +OK cdrafts-split/C10Surface.ec (cli, 67 cmds) +OK cdrafts-split/C10Encoding.ec (cli, 77 cmds) +OK cdrafts-split/C10BoundedIID.ec (cli, 39 cmds) +OK cdrafts-split/C10BoundedLeaf.ec (cli, 55 cmds) +OK cdrafts-split/C10BoundedReduction.ec (cli, 12 cmds) +OK cdrafts-split/C10DeployedCapstone.ec (cli, 64 cmds) +OK cdrafts-split/C10DeployedGeometry.ec (cli, 121 cmds) +OK cdrafts-split/C10DeployedScope.ec (cli, 91 cmds) +OK cdrafts-split/C10HypertreeAccepted.ec (cli, 59 cmds) +OK cdrafts-split/XmssmtCCCharged.ec (cli, 66 cmds) +OK cdrafts-split/C10HypertreeCharged.ec (cli, 12 cmds) +OK cdrafts-split/SharedROBounded.ec (cli, 52 cmds) +OK cdrafts-split/C10SharedSearch.ec (cli, 31 cmds) +OK cdrafts-split/C10SearchBounds.ec (cli, 53 cmds) +OK cdrafts-split/C10SpecControls.ec (cli, 11 cmds) +OK cdrafts-split/C10StatefulSearch.ec (cli, 19 cmds) +OK cdrafts-split/SessionDigest.ec (cli, 37 cmds) +OK cdrafts-split/ClassifiedHistory.ec (cli, 59 cmds) +OK cdrafts-split/ClassifiedGrind.ec (cli, 32 cmds) +OK cdrafts-split/ClassifiedSigner.ec (cli, 42 cmds) +OK cdrafts-split/ClassifiedSession.ec (cli, 73 cmds) +OK cdrafts-split/ClassifiedBound.ec (cli, 54 cmds) +OK cdrafts-split/DarkSide.ec (cli, 153 cmds) +OK cdrafts-split/DarkSideC10.ec (cli, 14 cmds) +OK cdrafts-split/DigestPair.ec (cli, 28 cmds) +OK cdrafts-split/ExposureLog.ec (cli, 21 cmds) +OK cdrafts-split/ExposureAccounting.ec (cli, 31 cmds) +OK cdrafts-split/ForestReferenceHistory.ec (cli, 36 cmds) +OK cdrafts-split/ForsBuilderPrivate.ec (cli, 42 cmds) +OK cdrafts-split/ForsRootRecording.ec (cli, 29 cmds) +OK cdrafts-split/ForsPrivateEntry.ec (cli, 22 cmds) +OK cdrafts-split/ForsKnownSecret.ec (cli, 12 cmds) +OK cdrafts-split/ForsSignWitness.ec (cli, 24 cmds) +OK cdrafts-split/ForsReturnedRoot.ec (cli, 30 cmds) +OK cdrafts-split/ForestRootPrefix.ec (cli, 32 cmds) +OK cdrafts-split/ForestRootRecording.ec (cli, 40 cmds) +OK cdrafts-split/SignerForestReference.ec (cli, 46 cmds) +OK cdrafts-split/HonestForestMessages.ec (cli, 32 cmds) +OK cdrafts-split/LayerReturnedRoot.ec (cli, 45 cmds) +OK cdrafts-split/SignerSubtreeReference.ec (cli, 31 cmds) +OK cdrafts-split/HonestSubtreeMessages.ec (cli, 32 cmds) +OK cdrafts-split/ExposureSupport.ec (cli, 36 cmds) +OK cdrafts-split/ExposureReferences.ec (cli, 37 cmds) +OK cdrafts-split/ExposureComponents.ec (cli, 29 cmds) +OK cdrafts-split/ExposureDriver.ec (cli, 35 cmds) +OK cdrafts-split/ExposureWidths.ec (cli, 58 cmds) +OK cdrafts-split/ExposurePrivate.ec (cli, 29 cmds) +OK cdrafts-split/ForsRootDeterminism.ec (cli, 19 cmds) +OK cdrafts-split/ExposureCoverage.ec (cli, 67 cmds) +OK cdrafts-split/ExposureHistory.ec (cli, 27 cmds) +OK cdrafts-split/ExposureSessionHistory.ec (cli, 16 cmds) +OK cdrafts-split/ExposureGameHistory.ec (cli, 21 cmds) +OK cdrafts-split/ExposureForge.ec (cli, 20 cmds) +OK cdrafts-split/ExposurePartition.ec (cli, 33 cmds) +OK cdrafts-split/ExposurePartitionGame.ec (cli, 35 cmds) +OK cdrafts-split/ExposurePartitionHop.ec (cli, 20 cmds) +OK cdrafts-split/FORS_C.ec (cli, 95 cmds) +OK cdrafts-split/FORS_C_TreePort.ec (cli, 289 cmds) +OK cdrafts-split/LeafOrigins.ec (cli, 36 cmds) +OK cdrafts-split/LeafOriginOracle.ec (cli, 16 cmds) +OK cdrafts-split/ForsLeafOrigins.ec (cli, 20 cmds) +OK cdrafts-split/ForsBuilderSecret.ec (cli, 42 cmds) +OK cdrafts-split/ForsBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignCorrect.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignRecord.ec (cli, 19 cmds) +OK cdrafts-split/FullFailure.ec (cli, 18 cmds) +OK cdrafts-split/GprocVI.ec (cli, 190 cmds) +OK cdrafts-split/SphincsC10CapstoneCharged.ec (cli, 48 cmds) +OK cdrafts-split/GprocT1Opre.ec (cli, 880 cmds) +OK cdrafts-split/GprocT2Trh.ec (cli, 1184 cmds) +OK cdrafts-split/GprocT3Trco.ec (cli, 385 cmds) +OK cdrafts-split/GprocQBound.ec (cli, 12 cmds) +OK cdrafts-split/GprocQWired.ec (cli, 46 cmds) +OK cdrafts-split/GprocChargedQWired.ec (cli, 53 cmds) +OK cdrafts-split/WotsLegCharged.ec (cli, 145 cmds) +OK cdrafts-split/GprocWotsNamed.ec (cli, 27 cmds) +OK cdrafts-split/GprocTCollNamed.ec (cli, 29 cmds) +OK cdrafts-split/GrindHypertree.ec (cli, 12 cmds) +OK cdrafts-split/GrindJointCoverage.ec (cli, 49 cmds) +OK cdrafts-split/HonestByteContext.ec (cli, 37 cmds) +OK cdrafts-split/HonestByteCost.ec (cli, 20 cmds) +OK cdrafts-split/HonestBytePhysical.ec (cli, 18 cmds) +OK cdrafts-split/LayerBuildExtraction.ec (cli, 23 cmds) +OK cdrafts-split/PublicCollisionBound.ec (cli, 14 cmds) +OK cdrafts-split/RSessionCost.ec (cli, 19 cmds) +OK cdrafts-split/RSessionBound.ec (cli, 43 cmds) +OK cdrafts-split/SessionKeygen.ec (cli, 43 cmds) +OK cdrafts-split/RawSession.ec (cli, 30 cmds) +OK cdrafts-split/SessionPhysical.ec (cli, 30 cmds) +OK cdrafts-split/RawSessionBound.ec (cli, 11 cmds) +OK cdrafts-split/RawSessionCost.ec (cli, 25 cmds) +OK cdrafts-split/SessionClosedForm.ec (cli, 22 cmds) +OK cdrafts-split/TotalBuilderReference.ec (cli, 13 cmds) +OK cdrafts-split/VerifierWotsReplay.ec (cli, 12 cmds) +OK cdrafts-split/WOTS_C_Multi.ec (cli, 172 cmds) +OK cdrafts-split/WotsKeyExtraction.ec (cli, 22 cmds) +### CLI_FILES_RUN=438 CLI_DISAGREEMENTS=0 +### PHASE 1f — WATCHED FILES (T1/T2/T3 branch proofs; NOT certified) +### WATCHED_FILES_RUN=0 WATCHED_FAILURES=0 +### PHASE 1b — NAMED RESULTS EXIST AS LEMMAS (not axioms) +OK EUFCMA_SPHINCS_PLUS_C10_GROUNDED is a lemma in cdrafts-split/SphincsC10CapstoneWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CONTENTFUL_AT_DEPLOYED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED is a lemma in cdrafts-split/SphincsC10CapstoneCharged.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED_QWIRED is a lemma in cdrafts-split/GprocChargedQWired.ec +### PHASE 1c — STATEMENT DIGESTS (names are not enough) +OK unique statement pins: 3000 +### PHASE 1h — STATEMENT COVERAGE (files -> manifest; the other direction) +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +### PHASE 1g — POLICY-CAP QUARANTINE (cdrafts-split/C10DeployedScope.ec) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +### PHASE 2 — CONE CENSUS vs cert-baseline-split.tsv (ADDITIONS FATAL) +cone: keys now=2075 baseline=2075 | ROWS now=2155 baseline=2155 | added=0 removed=0 + ledger=248 parameters=217 bindings=371 meaning=555 definitions=764 total=2155 +### PHASE 2b — CENSUS REGRESSION CANARY (admitted.) +OK census detects 'admitted.' (canary caught) +### PHASE 2c — DIGEST DISCRIMINATION CANARY +OK module-type digest discriminates (module-type:1ed74e3a5614 vs module-type:f9d6086d602e) +OK admit statement digest discriminates (admit:7c56af2d53b1 vs admit:4eeb8521bd94) +OK no live row carries a degenerate digest +OK no live admit row degraded to 'nostmt' +### PHASE 3 — CONTROLS (polarity AND declared reason) +OK control scratch/vac_probe_full.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/probe_len46.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/c10_spec_vacuity_canary.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control cdrafts-split/C10SpecControls.ec (MUST-PASS) +OK control scratch/tier0_degenerate_encoder_excluded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/encode_compat_derivable.ec (MUST-PASS) +OK control scratch/badenc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlZ.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocTCollNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_lemma.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_pos_op.ec (MUST-PASS) +OK control scratch/_scope_pos_lemma.ec (MUST-PASS) +OK control scratch/_scope_env_n_m.ec (MUST-PASS) +OK control scratch/_scope_neg_op_GprocChargedQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SphincsC10CapstoneWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocWotsNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CounterWrongCardinality.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BytesWrongPadding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10GrindSkip.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/KctlC.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlE.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlSum204.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlLen42.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlVal.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderPositive.ec (MUST-PASS) +OK control scratch/C10IIDPositive.ec (MUST-PASS) +OK control scratch/C10EncoderWrongOrder.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderWrongTarget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDErasedFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDMissingSuccessFactor.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGamePositive.ec (MUST-PASS) +OK control scratch/C10BoundedGameNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGameResetFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAPositive.ec (MUST-PASS) +OK control scratch/C10BoundedMAEraseHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAAppendFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePositive.ec (MUST-PASS) +OK control scratch/C10BoundedHypertreeNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePartialRelease.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedLeafPositive.ec (MUST-PASS) +OK control scratch/C10BoundedLeafNoPKSeparation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HypertreeCoveragePositive.ec (MUST-PASS) +OK control scratch/SharedROBoundedPositive.ec (MUST-PASS) +OK control scratch/C10RandomizerPositive.ec (MUST-PASS) +OK control scratch/C10HashDomainsPositive.ec (MUST-PASS) +OK control scratch/C10SharedSearchPositive.ec (MUST-PASS) +OK control scratch/C10SearchBoundsPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeChargedPositive.ec (MUST-PASS) +OK control scratch/SharedROKnownNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/SharedRODuplicateNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HashWrongLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CoverageSinglePath.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedPositive.ec (MUST-PASS) +OK control scratch/C10FORSNoExhaustion.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RandomizerWrongHalf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedSMT.ec (MUST-PASS) +OK control scratch/C10HypertreeAcceptedPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeObserverPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10AcceptedCubeNoHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawOraclePositive.ec (MUST-PASS) +OK control scratch/C10RawCachedAcceptance.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawReplayDraw.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10StatefulLostSuccess.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_C10HypertreeAccepted.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSessionPositive.ec (MUST-PASS) +OK control scratch/C10SessionAvailabilityPositive.ec (MUST-PASS) +OK control scratch/C10ByteNoLengthGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteNoValueGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullPublicIsPhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSecretPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SessionClosedForm.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSessionCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawDecode.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullFailurePositive.ec (MUST-PASS) +OK control scratch/C10FullFailureResume.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10QWithoutFreshness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QWithoutRevisits.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QAdaptiveOpeningsPositive.ec (MUST-PASS) +OK control scratch/C10QAdaptiveOpeningsFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindJointCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturned.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindHypertree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2FreshRepeatFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2HistoryPositive.ec (MUST-PASS) +OK control scratch/C10Q2NovelPositive.ec (MUST-PASS) +OK control scratch/C10Q2PrivateStateExposed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2RepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q2UnaccountedRepeat.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2WithoutFailStop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedSession.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3ForsRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3MerkleRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3PrivateRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WidthPositive.ec (MUST-PASS) +OK control scratch/C10Q3WithoutFORSLeaf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q4ForsWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q4MerkleWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WithoutCatalogWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WrongRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BuildRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_TotalBuilderReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q5ForsWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q5MerkleWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5WithoutLeafOrigins.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderSecret.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q6LastPositive.ec (MUST-PASS) +OK control scratch/C10Q6WithoutPrivateEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WrongSignatureProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderPrivate.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q7ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q7WithoutAcceptedCount.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutPrivateHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongLeafProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualWotsCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawShufflePermutation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q8ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q8WithoutCompressionEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutSpecialEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutTreeOpenings.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WrongSpecialTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualForestCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestSignRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q9ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9LastPositive.ec (MUST-PASS) +OK control scratch/C10Q9WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutSecondWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualLayerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderWots.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawMerkleRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q10ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q10WithoutAcceptedDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutDigestEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongTopLayer.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerFinishRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturnedOpening.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerVerifierReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11CountBoundaryPositive.ec (MUST-PASS) +OK control scratch/C10Q11ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q11ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q11WithoutCountRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongFormatLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualByteSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_EncodedSignature.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerBytes.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerEncodingCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q12DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12UnderchargedCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteContext.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestBytePhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q13ClientsPositive.ec (MUST-PASS) +OK control scratch/C10Q13UnderchargedClient.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13ZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeCollisionEvents.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeDistribution.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ProjectedBirthday.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q14DropsCapBinding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14Undercharged.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BytePublicCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionState.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q15DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15DropsZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15SentinelWithoutEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15ZeroWitnessPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_BytePublicNodeBad.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicNodeZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsZeroSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WotsPositive.ec (MUST-PASS) +OK control scratch/C10Q16DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRows.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WrongCounterDomain.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutTargetBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutLayerWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRootMatch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16TracePositive.ec (MUST-PASS) +OK control scratch/C10Q16ReplayPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DomainAndCollisionPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RawWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsKeyExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerBuildExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierWotsReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LinearCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RecoveryCompression.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawRecoveryTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutIndexRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q17VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutVerifierRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q17WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17HopPositive.ec (MUST-PASS) +OK control scratch/C10Q17DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17IndexEdgesPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RootCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RootSessionHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteTopOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutRecordedRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutZeroGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q18ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsUnrecordedCase.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q18WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18HopPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18RecordedRootPersists.ec (MUST-PASS) +OK control scratch/_scope_neg_op_LayerRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierLayerRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestSubtreeMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SubtreeOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameSubtreeExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteSubtreeOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19RecoveryPositive.ec (MUST-PASS) +OK control scratch/C10Q19ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutIndexBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19LeafPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutLeafWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutForestReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19BuilderPositive.ec (MUST-PASS) +OK control scratch/C10Q19VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q19ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19PersistencePositive.ec (MUST-PASS) +OK control scratch/C10Q19CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsMissingReferences.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q19WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19HopPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SpecialRootPositive.ec (MUST-PASS) +OK control scratch/C10Q19SpecialWrongTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRootRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierForestRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestForestMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestReferenceHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameForestExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteForestOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestWidthAlias.ec (MUST-PASS) +OK control scratch/C10Q20RecordsPositive.ec (MUST-PASS) +OK control scratch/C10Q20DropsFailureBranch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10Q20ClaimsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20EntryPositive.ec (MUST-PASS) +OK control scratch/C10Q20AdaptivePositive.ec (MUST-PASS) +OK control scratch/C10Q20AccountingPositive.ec (MUST-PASS) +OK control scratch/C10Q20SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q20NegativeCap.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ReferencesPositive.ec (MUST-PASS) +OK control scratch/C10Q20UnloggedReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20WrongDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ByteCountPositive.ec (MUST-PASS) +OK control scratch/C10Q20CountsAllAttempts.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ForgePositive.ec (MUST-PASS) +OK control scratch/C10Q20WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20RepeatAndSpecialPositive.ec (MUST-PASS) +OK control scratch/C10Q20RefusalsPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_ExposureLog.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureDriver.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureSupport.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureAccounting.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureSessionHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureReferences.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureGameHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureForge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21WidthsPositive.ec (MUST-PASS) +OK control scratch/C10Q21RootPositive.ec (MUST-PASS) +OK control scratch/C10Q21WrongRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21PrivatePositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21DropsWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21CoveragePositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsPrivateCase.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21ComponentsPositive.ec (MUST-PASS) +OK control scratch/C10Q21UnloggedComponent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21PartitionPositive.ec (MUST-PASS) +OK control scratch/C10Q21GamePositive.ec (MUST-PASS) +OK control scratch/C10Q21WrongSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21HopPositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21CoverageEdgesPositive.ec (MUST-PASS) +OK control scratch/C10Q21MixedCoveragePositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_ExposureWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRootDeterminism.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePrivate.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureComponents.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartition.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartitionGame.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartitionHop.ec (MUST-FAIL, rejected for the DECLARED reason) +controls executed (unique)=411 expected=411 +### PHASE 4 — FORS+C GRINDING MARGIN (heuristic figures, NOT a theorem) +OK margin guardrails 4/4 (happy path) +OK margin negative controls 3/3 (--self-test: the model inverts; guard blocks 1-3 NOT exercised) +OK margin figures match the committed manifest (7/7) +### PHASE 5 — TAINT CONTAINMENT (named-application drift; NOT a soundness proof) + OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) + OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK taint controls: pass=15 unique=15 fail=0 expected=15 +OK taint count controls: pass=4 fail=0 expected=4 +OK inputs unchanged across the run (06793da6caf1b7efe0ff7b7691927981) +### RESULT: GREEN +make: Leaving directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/host-clock-gap.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/host-clock-gap.json new file mode 100644 index 000000000..44c36830f --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/host-clock-gap.json @@ -0,0 +1,19 @@ +{ + "observed_utc": "2026-09-28T18:49:50.233612+00:00", + "gate_start_utc": "2026-09-28T14:15:55.538547+00:00", + "wall_elapsed_seconds": 16434.7, + "wall_deadline_utc": "2026-09-28T19:15:55.538562+00:00", + "monitor_observations": [ + { + "elapsed_minutes": 174.6, + "controls": 113 + }, + { + "elapsed_minutes": 269.6, + "controls": 127 + } + ], + "interpretation": "Large wall-clock gap with little proof progress is consistent with a host pause; cause not established. Original per-run wall bound remains 18000 seconds; no landing if exceeded.", + "commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "tree": "c5c2f0977ded379d29bcd24f9ead80bd13d27bcb" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-status.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-status.json new file mode 100644 index 000000000..661134516 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-status.json @@ -0,0 +1,155 @@ +{ + "headRefOid": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "statusCheckRollup": [ + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:37:25Z", + "conclusion": "FAILURE", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576193224/job/109432314873", + "name": "PR", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "ClusterFuzzLite (PR)" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:36:52Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314617", + "name": "Invariant gates (#5 /", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:35:24Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192882/job/109432313195", + "name": "Claude security review", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "Claude Security Review (advisory)" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:37:42Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576193250/job/109432314822", + "name": "lake build + FV-lints + axiom audit", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "Lean FV (SphincsCVerify)" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:35:55Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314697", + "name": "cargo-vet (dependency audit attestation)", + "startedAt": "2026-09-29T13:35:22Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:37:38Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314028", + "name": "Production quarantine gates (rollback + ERC-7730 provenance OPEN)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:40:39Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314488", + "name": "Host unit tests (pure-logic crates)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:36:39Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314567", + "name": "Secure-world unit tests (host)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:39:22Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314723", + "name": "Line coverage (cargo llvm-cov \u2014 report-only baseline)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:40:14Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314491", + "name": "QEMU unified-sign E2E", + "startedAt": "2026-09-29T13:35:22Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:36:39Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314645", + "name": "Firmware-target gates (FSBL footprint + thumbv8m pair link)", + "startedAt": "2026-09-29T13:35:20Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:48:50Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314417", + "name": "Miri (UB in host-reachable unsafe)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:35:59Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314856", + "name": "Slither (contracts static analysis)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:38:12Z", + "conclusion": "FAILURE", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314593", + "name": "Contracts (forge test)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + }, + { + "__typename": "CheckRun", + "completedAt": "2026-09-29T13:38:27Z", + "conclusion": "SUCCESS", + "detailsUrl": "https://github.com/EthereumPhone/PQ1/actions/runs/36576192671/job/109432314829", + "name": "G1 \u2014 gate-enforcement lint (every soundness gate fires on its surface)", + "startedAt": "2026-09-29T13:35:21Z", + "status": "COMPLETED", + "workflowName": "CI" + } + ] +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-triage.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-triage.json new file mode 100644 index 000000000..de4e78f54 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/hosted-ci-triage.json @@ -0,0 +1,55 @@ +{ + "candidate": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "base": "75d7bdaaf3840edc8570b685ecd21591ababcff3", + "overall_ci": "red", + "counts": { + "success": 13, + "failure": 2, + "pending": 0 + }, + "failure_evidence": [ + { + "job": "109432314873", + "name": "PR", + "log": "q21-ci-logs/109432314873.log", + "sha256": "0aa669ffce72c2cf88b7afccf8b726360644a0a2159106ded1f91e12aa5bf235", + "existing_issue": 711, + "reason": "Existing locked fuzz Cargo.lock mismatch", + "tracker": { + "number": 711, + "state": "OPEN", + "title": "Repair baseline curation receipt and fuzz lockfile CI failures", + "url": "https://github.com/EthereumPhone/PQ1/issues/711" + } + }, + { + "job": "109432314593", + "name": "Contracts (forge test)", + "log": "q21-ci-logs/109432314593.log", + "sha256": "4b81aaac7d25fa1cd99032a0a0ed885eb5b2734decf753bacf92b0ba0e23d9cb", + "existing_issue": 767, + "reason": "Existing forge 1.8.x transaction-boundary behavior: 12 contract tests revert OwnerIndexMismatch; 115 pass, 2 skip", + "tracker": { + "number": 767, + "state": "OPEN", + "title": "12 contract tests fail on forge 1.8.x: the transient validated-op credit does not survive the harness's call boundary", + "url": "https://github.com/EthereumPhone/PQ1/issues/767" + } + } + ], + "unchanged_baseline_inputs": [ + "contracts/smart-wallet", + ".github/workflows", + "fuzz", + "Cargo.toml", + "Cargo.lock" + ], + "checked_utc": "2026-09-29T13:52:24.195059+00:00", + "coordinator_review_required": false, + "coordinator_confirmed": true, + "source_scope": "Q21 delta from current master changes EasyCrypt proofs/enrollment/source bindings and owner-status files only.", + "coordinator_notes": [ + "All current failing-job logs read; actual diagnostics match existing OPEN issues #711 and #767. Related contract/fuzz/workflow/Cargo inputs are identical to the frozen master base.", + "Previous TRNG/provenance/Foundry-install failures no longer describe this candidate; current CI status is recorded independently. No overall green hosted-CI claim." + ] +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/identity-verified.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/identity-verified.log new file mode 100644 index 000000000..90622ddd4 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/identity-verified.log @@ -0,0 +1,2 @@ +### INPUTS_SHA256 06793da6caf1b7efe0ff7b7691927981 +OK INPUTS_SHA256 matches the committed identity diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate-result.json new file mode 100644 index 000000000..e00ba4af4 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate-result.json @@ -0,0 +1,8 @@ +{ + "exit_code": 2, + "started_utc": "2026-09-28T10:38:26.798819+00:00", + "finished_utc": "2026-09-28T13:40:23.846604+00:00", + "elapsed_seconds": 10917.05, + "commit": "e9f0524407b9dfe0f17e4c77410c38fe6cb32c68", + "tree": "cd149b0c21c583e0dcb7958e335cdf0cf955ee8b" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate.log new file mode 100644 index 000000000..b4e98f110 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-full-gate.log @@ -0,0 +1,1897 @@ +make: Entering directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' +/usr/bin/python3 -E -S -B scripts/run_easycrypt_split.py +OK EasyCrypt manual source binding: 402 inputs (not extraction) + Compiling sphincs-c10 v0.1.0 (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/sphincs-c10) + Finished `test` profile [optimized + debuginfo] target(s) in 1.32s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +{"exit_code": 0, "seconds": 17.27, "keygen_cases": 5, "signature_cases": 20, "negative_cases": 160, "receipt": "/tmp/pq-easycrypt-fullsign-_2gq_p0x/evidence/result.json"} +FULLSIGN_MODEL_RECEIPT={ + "exit_code": 0, + "seconds": 17.27, + "rust_commit": "e9f0524407b9dfe0f17e4c77410c38fe6cb32c68", + "rust_sources": { + "address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", + "fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", + "hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", + "hypertree.rs": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", + "lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", + "merkle.rs": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "near_miss.rs": "6fed92e4bbf9d13a43f0040335f3e7a4f3b3fd84fb49eba3db410f46a42512a3", + "params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", + "shuffle.rs": "2f3e0b12351084599294c9ccdfa01d18d7e2130a2fa84bae177ef26cfdb470ad", + "wots.rs": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b" + }, + "model_sources": { + "RawKeygen.ec": "9f983fbb237129b0600ee1462429a722c53f86a5a74e25a0e508f16c1238174e", + "RawFors.ec": "cea927f567b23443a0c0846493089f3651f1eb57a86daae508527b612741833e", + "RawShuffle.ec": "2d8c14b922f4e85c7c2a1a8a4852a7622dbff8a87a3e6faf43ff6b13d5e3e639", + "RawWots.ec": "b0510301eba5d387e3199d216bae2772f5e27480bdb3a23f037881c59138a558", + "RawForest.ec": "76b40a69989b36c88ecc4d9e9fae197da65fee865ea2572be94f50f297fb2f10", + "RawMerkle.ec": "c39af26b991ef2929dea669be1152fcb84dbcbf0f25dfb60c2d1290c183d1f6e", + "RawLayer.ec": "3ebf8be154f55b07d3d8f10a3dd5e541b7d47714fa2997703c93201dce30dc96", + "RawSigner.ec": "8b40da75596beb4a824890c8d5e3d58383f7f049c682815b476850a26c7b1650", + "RawSignerCost.ec": "f6afec786f09e10a694fad65e8e0c36bdc8fa0e2f87a8d299617bf056dffeedd", + "RawSignature.ec": "de0e9b611ea88e6aaa39e5b9d3931ff2cf611c20159eb69b42f53ae9b5bae03d", + "RawDecode.ec": "bc0102dd6f42c3d6b2187439e961507bda5372a4a7c5c9a4887ee518a1fe09b4", + "ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b" + }, + "harness_sources": { + "src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", + "check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", + "Cargo.toml": "4a7ab9c9e96b752b88a40c77507fce791818733ac059dc0cb6a2af1051826617", + "Cargo.lock": "841066878fb7673836172817b5b7d756fc98505adf976fdde7465eea4e8b2ea8" + }, + "keygen_cases": 5, + "signatures": [ + { + "case": 0, + "run": 0, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 0, + "total_calls": 504865, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 0, + "total_calls": 494414, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 15, + "total_calls": 504880, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 15, + "total_calls": 494429, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 0, + "total_calls": 502175, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 0, + "total_calls": 491482, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 15, + "total_calls": 502190, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 15, + "total_calls": 491497, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 0, + "total_calls": 453988, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 0, + "total_calls": 498094, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 15, + "total_calls": 454003, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 15, + "total_calls": 498109, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 0, + "total_calls": 538014, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 0, + "total_calls": 476853, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 15, + "total_calls": 538029, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 15, + "total_calls": 476868, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 0, + "total_calls": 479192, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 0, + "total_calls": 480852, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 15, + "total_calls": 479207, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 15, + "total_calls": 480867, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + } + ], + "negative_verifications": [ + { + "case": 0, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + } + ], + "scope": "Manual byte/call correspondence for public fixtures; software shuffle SHA calls counted separately from Rust hooks. No extraction or probability/security theorem." +} + +### INPUTS_SHA256 6246b802e18a8ee1b4f2d8d3b0384c6c +OK INPUTS_SHA256 matches the committed identity +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed +OK toolchain: r2026.02, 25 pinned prover configurations +### IMAGE ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3 +OK proof controls: direct dependency failure / import acceptance / open-proof rejection / abstract require and EOF +OK no dual-extension theory names on the include path +### ECO_PURGED=0 +### ECO_REMAINING=0 +### PHASE 1 — TARGETS +OK target base-c10-split/BinaryTrees.ec +OK target base-c10-split/MerkleTrees.ec +OK target base-c10-split/KeyedHashFunctions.eca +OK target base-c10-split/TweakableHashFunctions.eca +OK target base-c10-split/HashAddresses.eca +OK target base-c10-split/RadixEncoding.ec +OK target base-c10-split/WOTS_TW_ES.ec +OK target base-c10-split/FL_SL_XMSS_MT_ES.ec +OK target base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca +OK target base-c10-split/FORS_ES.ec +OK target base-c10-split/SPHINCS_PLUS.ec +OK target cdrafts-split/C10Counter.ec +OK target cdrafts-split/C10Randomizer.ec +OK target cdrafts-split/C10RawOracle.ec +OK target cdrafts-split/C10Bytes.ec +OK target cdrafts-split/Grind.ec +OK target cdrafts-split/STCR_C.ec +OK target cdrafts-split/WOTS_C_Real.ec +OK target cdrafts-split/WOTS_C_Scheme.ec +OK target cdrafts-split/WOTS_C_Reduction.ec +OK target cdrafts-split/WOTS_C_Interactive.ec +OK target cdrafts-split/XMSSMT_C_Scheme.ec +OK target cdrafts-split/XmssmtCC_All.ec +OK target cdrafts-split/RtopCSoundness.ec +OK target cdrafts-split/FxChain.ec +OK target cdrafts-split/BoundedIID.ec +OK target cdrafts-split/FORS_C10.ec +OK target cdrafts-split/FORS_C10_Multi.ec +OK target cdrafts-split/GprocFORSC10.ec +OK target cdrafts-split/SphincsC10CapstoneWired.ec +OK target cdrafts-split/SphincsC10Content.ec +OK target cdrafts-split/C10DeployedInstance.ec +OK target cdrafts-split/C10HashDomains.ec +OK target cdrafts-split/C10RawGrind.ec +OK target cdrafts-split/SecretPrefix.ec +OK target cdrafts-split/PrefixGuess.ec +OK target cdrafts-split/PrefixHybrid.ec +OK target cdrafts-split/RoleGrind.ec +OK target cdrafts-split/GrindReplay.ec +OK target cdrafts-split/GrindWitness.ec +OK target cdrafts-split/PersistentGrind.ec +OK target cdrafts-split/RTailFresh.ec +OK target cdrafts-split/IdealWitness.ec +OK target cdrafts-split/RawRHistory.ec +OK target cdrafts-split/RawTrial.ec +OK target cdrafts-split/RTailMessages.ec +OK target cdrafts-split/RTailContexts.ec +OK target cdrafts-split/FORSC10Digest.ec +OK target cdrafts-split/GrindTail.ec +OK target cdrafts-split/StreamBound.ec +OK target cdrafts-split/TrialExpectation.ec +OK target cdrafts-split/StreamExpectation.ec +OK target cdrafts-split/GrindExhaustion.ec +OK target cdrafts-split/ExhaustionCharges.ec +OK target cdrafts-split/ContextExhaustion.ec +OK target cdrafts-split/AcceptedContexts.ec +OK target cdrafts-split/DigestPrefix.ec +OK target cdrafts-split/FreshCoverage.ec +OK target cdrafts-split/AcceptedSampling.ec +OK target cdrafts-split/TrialAccepted.ec +OK target cdrafts-split/StreamAccepted.ec +OK target cdrafts-split/AcceptedCoverage.ec +OK target cdrafts-split/DigestWindow.ec +OK target cdrafts-split/AcceptedHypertree.ec +OK target cdrafts-split/KeygenPrefixes.ec +OK target cdrafts-split/RoleGrindCost.ec +OK target cdrafts-split/RawKeygen.ec +OK target cdrafts-split/RawKeygenCost.ec +OK target cdrafts-split/PreparedGrind.ec +OK target cdrafts-split/RawFors.ec +OK target cdrafts-split/PrefixGames.ec +OK target cdrafts-split/PrefixBound.ec +OK target cdrafts-split/PrefixIdeal.ec +OK target cdrafts-split/PreparedHistory.ec +OK target cdrafts-split/PreparedExhaustion.ec +OK target cdrafts-split/PreparedRaw.ec +OK target cdrafts-split/KeygenExhaustion.ec +OK target cdrafts-split/PhysicalKeygenCost.ec +OK target cdrafts-split/RawShuffle.ec +OK target cdrafts-split/RawForest.ec +OK target cdrafts-split/RawWots.ec +OK target cdrafts-split/RawMerkle.ec +OK target cdrafts-split/RawLayer.ec +OK target cdrafts-split/RawSigner.ec +OK target cdrafts-split/RawSignature.ec +OK target cdrafts-split/RawCodec.ec +OK target cdrafts-split/RawSlices.ec +OK target cdrafts-split/RawDecode.ec +OK target cdrafts-split/FullSession.ec +OK target cdrafts-split/ByteSession.ec +OK target cdrafts-split/BuilderTotality.ec +OK target cdrafts-split/PathReplay.ec +OK target cdrafts-split/PathOracle.ec +OK target cdrafts-split/RawPathReplay.ec +OK target cdrafts-split/DyadicStack.ec +OK target cdrafts-split/NodeGridIndex.ec +OK target cdrafts-split/NodeGridPath.ec +OK target cdrafts-split/NodeCatalog.ec +OK target cdrafts-split/StackAlignment.ec +OK target cdrafts-split/NodeCatalogDomain.ec +OK target cdrafts-split/StackPowers.ec +OK target cdrafts-split/LinearChain.ec +OK target cdrafts-split/LinearOracle.ec +OK target cdrafts-split/RawChainTrace.ec +OK target cdrafts-split/WotsReference.ec +OK target cdrafts-split/RawLeafChains.ec +OK target cdrafts-split/WotsReferenceOracle.ec +OK target cdrafts-split/WotsReferenceStep.ec +OK target cdrafts-split/WotsChainReference.ec +OK target cdrafts-split/WotsLeafReference.ec +OK target cdrafts-split/MonotoneHistory.ec +OK target cdrafts-split/RawCountRecorded.ec +OK target cdrafts-split/WotsReferenceRoot.ec +OK target cdrafts-split/WotsCatalog.ec +OK target cdrafts-split/CatalogDeterminism.ec +OK target cdrafts-split/WotsRootDeterminism.ec +OK target cdrafts-split/MerkleRootWitness.ec +OK target cdrafts-split/RawHistoryPreservation.ec +OK target cdrafts-split/GrindReturned.ec +OK target cdrafts-split/RawForsPathReplay.ec +OK target cdrafts-split/ForsOpening.ec +OK target cdrafts-split/ForestOpenings.ec +OK target cdrafts-split/ForestWitness.ec +OK target cdrafts-split/RecoveryHistory.ec +OK target cdrafts-split/ForsComponentHistory.ec +OK target cdrafts-split/ForestOracle.ec +OK target cdrafts-split/RawWidths.ec +OK target cdrafts-split/RawTreeWidths.ec +OK target cdrafts-split/ForsOneRecorded.ec +OK target cdrafts-split/ForestOneStep.ec +OK target cdrafts-split/ShuffleBytes.ec +OK target cdrafts-split/ShuffleSwap.ec +OK target cdrafts-split/RawShufflePermutation.ec +OK target cdrafts-split/ForestSignRecorded.ec +OK target cdrafts-split/PathCollision.ec +OK target cdrafts-split/PathInputs.ec +OK target cdrafts-split/ForsLeafInputs.ec +OK target cdrafts-split/RawForsComparison.ec +OK target cdrafts-split/ForsOpeningReplay.ec +OK target cdrafts-split/FixedHashReplay.ec +OK target cdrafts-split/ForestRecoveryReplay.ec +OK target cdrafts-split/ForestOpening.ec +OK target cdrafts-split/LinearSplit.ec +OK target cdrafts-split/WotsChainSplit.ec +OK target cdrafts-split/WotsSignatureValue.ec +OK target cdrafts-split/RawWotsFill.ec +OK target cdrafts-split/PreparationHistory.ec +OK target cdrafts-split/ChainHistory.ec +OK target cdrafts-split/RawChainReplay.ec +OK target cdrafts-split/FixedChainReplay.ec +OK target cdrafts-split/FixedWotsChains.ec +OK target cdrafts-split/WotsFillCorrect.ec +OK target cdrafts-split/WotsCountWitness.ec +OK target cdrafts-split/WotsSignWitness.ec +OK target cdrafts-split/LayerPath.ec +OK target cdrafts-split/LayerWitness.ec +OK target cdrafts-split/LayerWotsSign.ec +OK target cdrafts-split/RawWotsRecovery.ec +OK target cdrafts-split/WotsOpeningRecovery.ec +OK target cdrafts-split/RawPathComparison.ec +OK target cdrafts-split/LayerRecoveryCorrect.ec +OK target cdrafts-split/CatalogForest.ec +OK target cdrafts-split/AuthSlots.ec +OK target cdrafts-split/AuthCaptureSchedule.ec +OK target cdrafts-split/StackProjection.ec +OK target cdrafts-split/CatalogStack.ec +OK target cdrafts-split/AuthPhase.ec +OK target cdrafts-split/MerkleBuildWitness.ec +OK target cdrafts-split/MerkleCatalogObserver.ec +OK target cdrafts-split/ForsBuildWitness.ec +OK target cdrafts-split/ForsCatalogObserver.ec +OK target cdrafts-split/CatalogWidths.ec +OK target cdrafts-split/CatalogPath.ec +OK target cdrafts-split/BuilderPath.ec +OK target cdrafts-split/CatalogMerge.ec +OK target cdrafts-split/CatalogOracle.ec +OK target cdrafts-split/MerkleCatalogSound.ec +OK target cdrafts-split/CatalogForestMerge.ec +OK target cdrafts-split/AuthCaptureIndex.ec +OK target cdrafts-split/AuthCaptureValue.ec +OK target cdrafts-split/AuthSteps.ec +OK target cdrafts-split/AuthStepInvariant.ec +OK target cdrafts-split/AuthAdvance.ec +OK target cdrafts-split/MerkleCatalogAuth.ec +OK target cdrafts-split/MerkleBuilderPath.ec +OK target cdrafts-split/RawWotsReference.ec +OK target cdrafts-split/WotsCatalogOracle.ec +OK target cdrafts-split/MerkleWotsLeaves.ec +OK target cdrafts-split/MerkleBuilderWots.ec +OK target cdrafts-split/LayerSignWitness.ec +OK target cdrafts-split/LayerRecoveryHistory.ec +OK target cdrafts-split/LayerSignOpening.ec +OK target cdrafts-split/SignerCoordinates.ec +OK target cdrafts-split/LayerOpeningReplay.ec +OK target cdrafts-split/SignerLayerTrace.ec +OK target cdrafts-split/SignerFinishState.ec +OK target cdrafts-split/SignerComponentHistory.ec +OK target cdrafts-split/SignerRecoveryStep.ec +OK target cdrafts-split/SignerVerifierReplay.ec +OK target cdrafts-split/IndependentWidths.ec +OK target cdrafts-split/BuildRootProjection.ec +OK target cdrafts-split/RawMerkleRootWitness.ec +OK target cdrafts-split/SignerAccepted.ec +OK target cdrafts-split/SignerReturned.ec +OK target cdrafts-split/SignerGrindRoot.ec +OK target cdrafts-split/SignerForestStep.ec +OK target cdrafts-split/MerkleRootPersistence.ec +OK target cdrafts-split/LayerSignCorrect.ec +OK target cdrafts-split/LayerPriorRoot.ec +OK target cdrafts-split/SignerLayerStep.ec +OK target cdrafts-split/SignerFinishWitness.ec +OK target cdrafts-split/SignerFinishRecorded.ec +OK target cdrafts-split/SignerReturnedOpening.ec +OK target cdrafts-split/RawCompositeWidths.ec +OK target cdrafts-split/RawSignerWidths.ec +OK target cdrafts-split/IndependentSignerWidth.ec +OK target cdrafts-split/RawByteValues.ec +OK target cdrafts-split/RawWotsBytes.ec +OK target cdrafts-split/RawTreeBytes.ec +OK target cdrafts-split/RawCompositeBytes.ec +OK target cdrafts-split/RawSignerBytes.ec +OK target cdrafts-split/EncodedSlices.ec +OK target cdrafts-split/EncodedLayer.ec +OK target cdrafts-split/EncodedSignatureSlices.ec +OK target cdrafts-split/EncodedSignature.ec +OK target cdrafts-split/SignerEncodingCorrect.ec +OK target cdrafts-split/ActualByteSignerCorrect.ec +OK target cdrafts-split/ActualForestCorrect.ec +OK target cdrafts-split/ActualLayerCorrect.ec +OK target cdrafts-split/ActualSignerCorrect.ec +OK target cdrafts-split/WotsSignCorrect.ec +OK target cdrafts-split/ActualWotsCorrect.ec +OK target cdrafts-split/PrefixAudit.ec +OK target cdrafts-split/AuditPrefix.ec +OK target cdrafts-split/AuditComplete.ec +OK target cdrafts-split/BadEncCountermodel.ec +OK target cdrafts-split/TCollResEnum.ec +OK target cdrafts-split/BadEncSplit.ec +OK target cdrafts-split/BadEncToTColl.ec +OK target cdrafts-split/BadEncStep4.ec +OK target cdrafts-split/RawForsCost.ec +OK target cdrafts-split/RawForestCost.ec +OK target cdrafts-split/RawWotsCost.ec +OK target cdrafts-split/RawMerkleCost.ec +OK target cdrafts-split/RawLayerCost.ec +OK target cdrafts-split/RawSignerCost.ec +OK target cdrafts-split/FullSessionCost.ec +OK target cdrafts-split/PrefixState.ec +OK target cdrafts-split/FullPrefix.ec +OK target cdrafts-split/ByteBound.ec +OK target cdrafts-split/ByteAudit.ec +OK target cdrafts-split/NodeDistribution.ec +OK target cdrafts-split/ProjectedBirthday.ec +OK target cdrafts-split/MemoNodeCollision.ec +OK target cdrafts-split/ProjectedMemoOracle.ec +OK target cdrafts-split/PublicCollisionGame.ec +OK target cdrafts-split/PublicNodeZero.ec +OK target cdrafts-split/PublicCollisionState.ec +OK target cdrafts-split/BytePublicCollision.ec +OK target cdrafts-split/BytePublicNodeBad.ec +OK target cdrafts-split/GrindTrace.ec +OK target cdrafts-split/GrindTraceRecorded.ec +OK target cdrafts-split/GrindTraceReplay.ec +OK target cdrafts-split/SignerTrace.ec +OK target cdrafts-split/MessageHistory.ec +OK target cdrafts-split/VerifierHistory.ec +OK target cdrafts-split/RootSessionHistory.ec +OK target cdrafts-split/ForestRecoveryRecord.ec +OK target cdrafts-split/LinearCollision.ec +OK target cdrafts-split/WotsRecoveryTrace.ec +OK target cdrafts-split/RecoveryTraceOracle.ec +OK target cdrafts-split/RawRecoveryTrace.ec +OK target cdrafts-split/WotsRecoveryHistory.ec +OK target cdrafts-split/LayerRecoveryRecord.ec +OK target cdrafts-split/VerifierForestRecords.ec +OK target cdrafts-split/RecoveryCompression.ec +OK target cdrafts-split/WotsZeroSentinel.ec +OK target cdrafts-split/VerifierWotsOpening.ec +OK target cdrafts-split/RootCoverage.ec +OK target cdrafts-split/NodeCollisionEvents.ec +OK target cdrafts-split/LayerRecordExtraction.ec +OK target cdrafts-split/VerifierLayerRecords.ec +OK target cdrafts-split/SubtreeOpeningCases.ec +OK target cdrafts-split/SecretLeafOrigins.ec +OK target cdrafts-split/SecretLeafOracle.ec +OK target cdrafts-split/ForsPrivateLeaves.ec +OK target cdrafts-split/ForsRootWitness.ec +OK target cdrafts-split/ForestRootWitness.ec +OK target cdrafts-split/ForestCoordinates.ec +OK target cdrafts-split/ForsRecordExtraction.ec +OK target cdrafts-split/ForestRecordExtraction.ec +OK target cdrafts-split/ForestOpeningCases.ec +OK target cdrafts-split/SessionForestExtraction.ec +OK target cdrafts-split/TopVerifierOpening.ec +OK target cdrafts-split/RawWotsExtraction.ec +OK target cdrafts-split/LayerExtractionHistory.ec +OK target cdrafts-split/ForsCatalogSound.ec +OK target cdrafts-split/ForsCatalogAuth.ec +OK target cdrafts-split/ForsBuilderPath.ec +OK target cdrafts-split/RawBuilderReference.ec +OK target cdrafts-split/MerkleBuilderComparison.ec +OK target cdrafts-split/LayerWotsExtraction.ec +OK target cdrafts-split/RootLayerExtraction.ec +OK target cdrafts-split/RootExtractionHistory.ec +OK target cdrafts-split/VerifierTopExtraction.ec +OK target cdrafts-split/SessionTopExtraction.ec +OK target cdrafts-split/ByteGameTopExtraction.ec +OK target cdrafts-split/ByteGameForestExtraction.ec +OK target cdrafts-split/ByteForestOpeningHop.ec +OK target cdrafts-split/SessionSubtreeExtraction.ec +OK target cdrafts-split/ByteGameSubtreeExtraction.ec +OK target cdrafts-split/RHistoryOps.ec +OK target cdrafts-split/PreparedFinish.ec +OK target cdrafts-split/SignerMessages.ec +OK target cdrafts-split/FullMessageHistory.ec +OK target cdrafts-split/RSession.ec +OK target cdrafts-split/RSessionHistory.ec +OK target cdrafts-split/SignerRecorded.ec +OK target cdrafts-split/FullHistory.ec +OK target cdrafts-split/ByteHistory.ec +OK target cdrafts-split/DigestCoordinates.ec +OK target cdrafts-split/ByteReplay.ec +OK target cdrafts-split/ByteSubtreeOpeningHop.ec +OK target cdrafts-split/ByteTopOpeningHop.ec +OK target cdrafts-split/C10BoundedGrind.ec +OK target cdrafts-split/C10BoundedSigning.ec +OK target cdrafts-split/C10WOTSCorrect.ec +OK target cdrafts-split/C10BoundedHypertree.ec +OK target cdrafts-split/C10HypertreeCoverage.ec +OK target cdrafts-split/C10HypertreeCorrect.ec +OK target cdrafts-split/C10BoundedGame.ec +OK target cdrafts-split/GFailCharged.ec +OK target cdrafts-split/C10BoundedMA.ec +OK target cdrafts-split/C10CubeCorrect.ec +OK target cdrafts-split/C10CubeConstruction.ec +OK target cdrafts-split/C10ReductionChoose.ec +OK target cdrafts-split/C10ReductionForge.ec +OK target cdrafts-split/C10AcceptedReduction.ec +OK target cdrafts-split/VecDP.ec +OK target cdrafts-split/CountDS.ec +OK target cdrafts-split/C10DigitUniform.ec +OK target cdrafts-split/C10SurfaceKernel.ec +OK target cdrafts-split/C10Surface.ec +OK target cdrafts-split/C10Encoding.ec +OK target cdrafts-split/C10BoundedIID.ec +OK target cdrafts-split/C10BoundedLeaf.ec +OK target cdrafts-split/C10BoundedReduction.ec +OK target cdrafts-split/C10DeployedCapstone.ec +OK target cdrafts-split/C10DeployedGeometry.ec +OK target cdrafts-split/C10DeployedScope.ec +OK target cdrafts-split/C10HypertreeAccepted.ec +OK target cdrafts-split/XmssmtCCCharged.ec +OK target cdrafts-split/C10HypertreeCharged.ec +OK target cdrafts-split/SharedROBounded.ec +OK target cdrafts-split/C10SharedSearch.ec +OK target cdrafts-split/C10SearchBounds.ec +OK target cdrafts-split/C10SpecControls.ec +OK target cdrafts-split/C10StatefulSearch.ec +OK target cdrafts-split/SessionDigest.ec +OK target cdrafts-split/ClassifiedHistory.ec +OK target cdrafts-split/ClassifiedGrind.ec +OK target cdrafts-split/ClassifiedSigner.ec +OK target cdrafts-split/ClassifiedSession.ec +OK target cdrafts-split/ClassifiedBound.ec +OK target cdrafts-split/DarkSide.ec +OK target cdrafts-split/DarkSideC10.ec +OK target cdrafts-split/DigestPair.ec +OK target cdrafts-split/ExposureLog.ec +OK target cdrafts-split/ExposureAccounting.ec +OK target cdrafts-split/ForestReferenceHistory.ec +OK target cdrafts-split/ForsBuilderPrivate.ec +OK target cdrafts-split/ForsRootRecording.ec +OK target cdrafts-split/ForsPrivateEntry.ec +OK target cdrafts-split/ForsKnownSecret.ec +OK target cdrafts-split/ForsSignWitness.ec +OK target cdrafts-split/ForsReturnedRoot.ec +OK target cdrafts-split/ForestRootPrefix.ec +OK target cdrafts-split/ForestRootRecording.ec +OK target cdrafts-split/SignerForestReference.ec +OK target cdrafts-split/HonestForestMessages.ec +OK target cdrafts-split/LayerReturnedRoot.ec +OK target cdrafts-split/SignerSubtreeReference.ec +OK target cdrafts-split/HonestSubtreeMessages.ec +OK target cdrafts-split/ExposureSupport.ec +OK target cdrafts-split/ExposureReferences.ec +OK target cdrafts-split/ExposureComponents.ec +OK target cdrafts-split/ExposureDriver.ec +OK target cdrafts-split/ExposureWidths.ec +OK target cdrafts-split/ExposurePrivate.ec +OK target cdrafts-split/ForsRootDeterminism.ec +OK target cdrafts-split/ExposureCoverage.ec +OK target cdrafts-split/ExposureHistory.ec +OK target cdrafts-split/ExposureSessionHistory.ec +OK target cdrafts-split/ExposureGameHistory.ec +OK target cdrafts-split/ExposureForge.ec +OK target cdrafts-split/ExposurePartition.ec +OK target cdrafts-split/ExposurePartitionGame.ec +OK target cdrafts-split/ExposurePartitionHop.ec +OK target cdrafts-split/FORS_C.ec +OK target cdrafts-split/FORS_C_TreePort.ec +OK target cdrafts-split/LeafOrigins.ec +OK target cdrafts-split/LeafOriginOracle.ec +OK target cdrafts-split/ForsLeafOrigins.ec +OK target cdrafts-split/ForsBuilderSecret.ec +OK target cdrafts-split/ForsBuilderComparison.ec +OK target cdrafts-split/ForsSignCorrect.ec +OK target cdrafts-split/ForsSignRecord.ec +OK target cdrafts-split/FullFailure.ec +OK target cdrafts-split/GprocVI.ec +OK target cdrafts-split/SphincsC10CapstoneCharged.ec +OK target cdrafts-split/GprocT1Opre.ec +OK target cdrafts-split/GprocT2Trh.ec +OK target cdrafts-split/GprocT3Trco.ec +OK target cdrafts-split/GprocQBound.ec +OK target cdrafts-split/GprocQWired.ec +OK target cdrafts-split/GprocChargedQWired.ec +OK target cdrafts-split/WotsLegCharged.ec +OK target cdrafts-split/GprocWotsNamed.ec +OK target cdrafts-split/GprocTCollNamed.ec +OK target cdrafts-split/GrindHypertree.ec +OK target cdrafts-split/GrindJointCoverage.ec +OK target cdrafts-split/HonestByteContext.ec +OK target cdrafts-split/HonestByteCost.ec +OK target cdrafts-split/HonestBytePhysical.ec +OK target cdrafts-split/LayerBuildExtraction.ec +OK target cdrafts-split/PublicCollisionBound.ec +OK target cdrafts-split/RSessionCost.ec +OK target cdrafts-split/RSessionBound.ec +OK target cdrafts-split/SessionKeygen.ec +OK target cdrafts-split/RawSession.ec +OK target cdrafts-split/SessionPhysical.ec +OK target cdrafts-split/RawSessionBound.ec +OK target cdrafts-split/RawSessionCost.ec +OK target cdrafts-split/SessionClosedForm.ec +OK target cdrafts-split/TotalBuilderReference.ec +OK target cdrafts-split/VerifierWotsReplay.ec +OK target cdrafts-split/WOTS_C_Multi.ec +OK target cdrafts-split/WotsKeyExtraction.ec +### CONE_COMPILED=438 EXPECTED=438 +### PHASE 1d — EVERY CLOSURE FILE MUST BE REQUIRABLE (not merely compilable) +OK all closure files are requirable +### PHASE 1e — BOTH DRIVERS (compile AND cli) +OK base-c10-split/BinaryTrees.ec (cli, 303 cmds) +OK base-c10-split/MerkleTrees.ec (cli, 105 cmds) +OK base-c10-split/KeyedHashFunctions.eca (cli, 156 cmds) +OK base-c10-split/TweakableHashFunctions.eca (cli, 84 cmds) +OK base-c10-split/HashAddresses.eca (cli, 63 cmds) +OK base-c10-split/RadixEncoding.ec (cli, 42 cmds) +OK base-c10-split/WOTS_TW_ES.ec (cli, 2193 cmds) +OK base-c10-split/FL_SL_XMSS_MT_ES.ec (cli, 679 cmds) +OK base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca (cli, 703 cmds) +OK base-c10-split/FORS_ES.ec (cli, 2191 cmds) +OK base-c10-split/SPHINCS_PLUS.ec (cli, 456 cmds) +OK cdrafts-split/C10Counter.ec (cli, 57 cmds) +OK cdrafts-split/C10Randomizer.ec (cli, 51 cmds) +OK cdrafts-split/C10RawOracle.ec (cli, 65 cmds) +OK cdrafts-split/C10Bytes.ec (cli, 67 cmds) +OK cdrafts-split/Grind.ec (cli, 59 cmds) +OK cdrafts-split/STCR_C.ec (cli, 37 cmds) +OK cdrafts-split/WOTS_C_Real.ec (cli, 120 cmds) +OK cdrafts-split/WOTS_C_Scheme.ec (cli, 41 cmds) +OK cdrafts-split/WOTS_C_Reduction.ec (cli, 204 cmds) +OK cdrafts-split/WOTS_C_Interactive.ec (cli, 744 cmds) +OK cdrafts-split/XMSSMT_C_Scheme.ec (cli, 58 cmds) +FAIL cdrafts-split/XmssmtCC_All.ec (cli): 1944 diagnostic(s) -- compile accepted what cli rejects + : line 3655 (0-57): cannot prove goal (strict) + : line 3658 (18-49): nothing to rewrite +OK cdrafts-split/RtopCSoundness.ec (cli, 673 cmds) +OK cdrafts-split/FxChain.ec (cli, 1219 cmds) +OK cdrafts-split/BoundedIID.ec (cli, 47 cmds) +OK cdrafts-split/FORS_C10.ec (cli, 81 cmds) +OK cdrafts-split/FORS_C10_Multi.ec (cli, 69 cmds) +OK cdrafts-split/GprocFORSC10.ec (cli, 400 cmds) +OK cdrafts-split/SphincsC10CapstoneWired.ec (cli, 102 cmds) +Traceback (most recent call last): + File "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/scripts/run_easycrypt_split.py", line 33, in + subprocess.run(['docker', 'run', '--rm', '--init', '--network', 'none', + File "/usr/lib/python3.12/subprocess.py", line 571, in run + raise CalledProcessError(retcode, process.args, +subprocess.CalledProcessError: Command '['docker', 'run', '--rm', '--init', '--network', 'none', '--env', 'PQ_EASYCRYPT_IMAGE=ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', '--volume', '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port:/source:ro', 'ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', 'bash', '-lc', 'set -e; eval "$(opam env)"; cp -R /source /tmp/proofs; cd /tmp/proofs; bash cert_gate_split.sh']' returned non-zero exit status 143. +make: *** [Makefile:2226: verify-easycrypt-split] Error 1 +make: Leaving directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-gate-blocker.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-gate-blocker.json new file mode 100644 index 000000000..f15c933ef --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/initial-q21-gate-blocker.json @@ -0,0 +1,7 @@ +{ + "recorded_utc": "2026-09-28T13:40:23.525397+00:00", + "source": "e9f0524407b9dfe0f17e4c77410c38fe6cb32c68", + "failure": "XmssmtCC_All.ec default cli -iterate; first diagnostic line 3655 cannot prove goal (strict), then cascade", + "unchanged_from_base": true, + "action": "Stop the already-failed disposable gate; preserve receipts, isolate explicit nonnegative-product proof, then re-freeze/re-review and rerun mandatory gate. No gate waiver or budget change." +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/landing-base.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/landing-base.json new file mode 100644 index 000000000..bf925ba45 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/landing-base.json @@ -0,0 +1,30 @@ +{ + "candidate": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "source_tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "review_base": "75d7bdaaf3840edc8570b685ecd21591ababcff3", + "landing_base": "13769cfbdf30654a9b81aeafea4e6eca5ddad695", + "prospective_tree_before_receipt": "d4fe81e3ac05baffe4bc8696d7a54763fe518717", + "coordinator_confirmed": true, + "checked_utc": "2026-09-29T16:55:15.278018+00:00", + "upstream_changes": [ + ".github/workflows/ci.yml", + "contracts/smart-wallet/test/PQMultiOpBundle.t.sol", + "contracts/smart-wallet/test/PQSmartWallet.t.sol", + "contracts/smart-wallet/test/PQSmartWalletInvariants.t.sol", + "contracts/smart-wallet/test/mocks/MockEntryPoint06.sol" + ], + "unchanged_local_gate_paths": [ + "contracts/verification/easycrypt", + "contracts/verification/scripts/run_easycrypt_split.py", + "contracts/verification/Makefile", + "sphincs-c10", + "Cargo.toml", + "Cargo.lock", + ".cargo", + "rust-toolchain.toml" + ], + "source_bindings_verified": 402, + "binding_manifest_sha256": "48ec803edc5f966329792faace2f30967cd4d546b5beeedc2703f1dc11043820", + "classification": "Already-landed contract test and Foundry version changes, outside the EasyCrypt product surface. All other files, including every proof, control, checker, Rust correspondence file and local gate/build input, are byte-identical to the reviewed and replayed candidate.", + "review_boundary": "Raw verdicts remain bound to the frozen source commit/tree; no claim that they reviewed the unrelated upstream contract-test changes or the final receipt-only merge artifact." +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/native-readonly-preflight.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/native-readonly-preflight.json new file mode 100644 index 000000000..14169f20a --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/native-readonly-preflight.json @@ -0,0 +1,18 @@ +{ + "command": [ + "codex", + "sandbox", + "-P", + ":read-only", + "-C", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "--", + "python3", + "-c", + "import os,json; paths=['/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3', '/home/nicola/repos/PQSigner_OS/.git/worktrees/review-target-forgery-partition-r3', '/home/nicola/repos/PQSigner_OS/.git']; rows=[{\"path\":p,\"read_only\":bool(os.statvfs(p).f_flag & os.ST_RDONLY)} for p in paths]; print(json.dumps(rows)); assert all(x[\"read_only\"] for x in rows)" + ], + "exit": 0, + "stdout": "[{\"path\": \"/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3\", \"read_only\": true}, {\"path\": \"/home/nicola/repos/PQSigner_OS/.git/worktrees/review-target-forgery-partition-r3\", \"read_only\": true}, {\"path\": \"/home/nicola/repos/PQSigner_OS/.git\", \"read_only\": true}]\n", + "stderr": "", + "utc": "2026-09-29T13:35:31.626680+00:00" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/new-controls-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/new-controls-result.json new file mode 100644 index 000000000..c405ad278 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/new-controls-result.json @@ -0,0 +1,357 @@ +[ + { + "file": "C10Q21WidthsPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "dbd658d0288419f65554c95ce0144a2c236fcf8b7ea4fa16325eb801d26c4494", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21WidthsPositive-compile-1790591561336636163.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21WidthsPositive.ec", + "log_sha256": "e7ee620142e89bdd54731c1154827946c14d6d48896b51f2bb9e06b3272b5f1c" + }, + { + "file": "C10Q21RootPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "eeee205ab9ce44ca63da6022d8c1decdfb8c7afb980666fdf2be9c258e604f87", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21RootPositive-compile-1790591739470751387.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21RootPositive.ec", + "log_sha256": "81f569619cd9e8b9ebaeadc5b2716e11327c6527515ab4e492e0dea1d73c9359" + }, + { + "file": "C10Q21WrongRoot.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "2d605aaad3885e8c0a74f4e06c2107695a7e4b90a86fa3fb7bceeced5da121e4", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21WrongRoot.ec: line 13 (7-68)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21WrongRoot-compile-1790591748260222433.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongRoot.ec", + "log_sha256": "64355f724604f0ee5e05deda8a33c0e5c9c55a7e093221188ab6d3509549006c" + }, + { + "file": "C10Q21PrivatePositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "807fcc00ae7a1f98ec447e55badf48d4b94e1ad7434e2b494194ec8b89e690ff", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21PrivatePositive-compile-1790591587835916940.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21PrivatePositive.ec", + "log_sha256": "4335621b9475979a39ea831aa0e3a9a537d468a353eda627ac99cdb4f4eb9033" + }, + { + "file": "C10Q21DropsCollision.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "ddfc5c6fd18a406066a8ccff947108b4bbeda8bbb03d17b80be80075b716f5b9", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21DropsCollision.ec: line 14 (7-83)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21DropsCollision-compile-1790591596600225099.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsCollision.ec", + "log_sha256": "afe8ee971d9d87c503fedb13384a8dfb30788f576ac5f7abf9d9b292cd026cf8" + }, + { + "file": "C10Q21DropsWidths.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "ed671d63d232198de5963de39b94f25d057c9de8db5e0b1dc2914956d641ee23", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21DropsWidths.ec: line 14 (7-83)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21DropsWidths-compile-1790591605534653481.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsWidths.ec", + "log_sha256": "af7f866aff85e3bcab29e81796f1401745db8efdb24e56e16701c7e9529a79e2" + }, + { + "file": "C10Q21CoveragePositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "d6a5b24d6ec53619c2255693ee3ee611cef5ab3c3cf352e247c4c8f8abd6a38a", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21CoveragePositive-compile-1790591614414986840.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21CoveragePositive.ec", + "log_sha256": "c245b983fa34a6e5b0dc5b2027e4336076fca6ddf192970a0f9dfee22eb7825a" + }, + { + "file": "C10Q21DropsPrivateCase.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "5e2cea7802e57521c9080e7b641e47883feba355ad72845adc901633474d001c", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21DropsPrivateCase.ec: line 15 (7-82)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21DropsPrivateCase-compile-1790591623359735443.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsPrivateCase.ec", + "log_sha256": "636d0cd871f0a5fe97565007c3655024aafeedc4b7a8adf4250a0f0d816c51b9" + }, + { + "file": "C10Q21ComponentsPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "604d20fcf9fd00905bfe74fbf1ad4bd8147cad853fc0d3126908e6e999abe75d", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21ComponentsPositive-compile-1790591632205434087.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21ComponentsPositive.ec", + "log_sha256": "7c358a6f3558202e577502ed7bae3843f0d5d2d9384b93bc06b1a7f2363ca7ef" + }, + { + "file": "C10Q21UnloggedComponent.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "63e6d901e7c0b6e01fbd6167b8b0d71cf6d0806bac1b62b619b6bbe849daf54f", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21UnloggedComponent.ec: line 16 (7-83)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21UnloggedComponent-compile-1790591640914707295.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21UnloggedComponent.ec", + "log_sha256": "24c3be4cda640eda8115854f74fdaffd85ee428336c39c28ad3442f294f8ada2" + }, + { + "file": "C10Q21PartitionPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "55270c9adb5a6df9fc8467a34f12bb1ac4512b98a32fc9a82b45b237226ae4ce", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21PartitionPositive-compile-1790591648629720297.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21PartitionPositive.ec", + "log_sha256": "57a6a06adf0d48787b25a63d5275cd6b9ab7c19b85a898788d7f263aadfe8ef3" + }, + { + "file": "C10Q21GamePositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "59b1096a5168168df1a4def3ea02cdf14e2191bd2485ae88906f8746c64e617c", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21GamePositive-compile-1790591656487439640.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21GamePositive.ec", + "log_sha256": "532c5ee29b3a1545a79450aa5a43a199b90ee2a05927c1abe12cb261b5aaefe7" + }, + { + "file": "C10Q21WrongSeed.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "725453273019cfc1e2b140f65a0c18af816dcac41ec592a9980b0e95e62ab57f", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21WrongSeed.ec: line 18 (7-51)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21WrongSeed-compile-1790591664253953462.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21WrongSeed.ec", + "log_sha256": "874b63b23ce7e102c3c95f011b6ad46b7d10107a098ec41ddeea99bf621d1cd5" + }, + { + "file": "C10Q21HopPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "f12c188323d9e2346c4d24817a3df45c2928da4c46caffe2e73de08b0f32b87c", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21HopPositive-compile-1790591672142646008.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21HopPositive.ec", + "log_sha256": "d8e7f3a462bebefd4f4b369fe2252946359e728b1e9fc0c64c729096c89e0948" + }, + { + "file": "C10Q21DropsResidual.ec", + "expected": 1, + "reason": "the given proof-term proves:", + "kind": "exact-mismatch", + "source_sha256": "239d02f8c5174e0c30cd499685beb028dc68b4777da00e557b86df5a479633a6", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/C10Q21DropsResidual.ec: line 25 (7-60)] the given proof-term proves:" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21DropsResidual-compile-1790591679999719559.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21DropsResidual.ec", + "log_sha256": "8a0b23f20d054c97046bc1c3842b730b096afe662aa2540d7263a3ef9a36cff4" + }, + { + "file": "C10Q21CoverageEdgesPositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "bc898f4f8f592f068a53177cc25d386e398b0737c30502d8f502ca904cd11613", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21CoverageEdgesPositive-compile-1790591687907502288.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21CoverageEdgesPositive.ec", + "log_sha256": "1b3ed059cf0ae9d46929c575f618040e700a975f67269b0b42a237161b8f3613" + }, + { + "file": "C10Q21MixedCoveragePositive.ec", + "expected": 0, + "reason": "-", + "kind": "positive", + "source_sha256": "eda3b3a5af6f07c8f02b181b4cd0865d9152c4efa6a476987fcac5314da37177", + "observed": 0, + "matched": true, + "diagnostics": [], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/C10Q21MixedCoveragePositive-compile-1790591695923878795.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/C10Q21MixedCoveragePositive.ec", + "log_sha256": "b28927d788d8288756249b12c04748eae7ecb74dfd7d73582dc23396b9d7f82c" + }, + { + "file": "_scope_neg_op_ExposureWidths.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "5bdb9f70682d1fd987bbaa332ec3b5aa902eaca45137cb6514981bae8c707283", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposureWidths.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposureWidths-compile-1790591703885417160.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureWidths.ec", + "log_sha256": "de0c43bfbff1ba71e228f80ba8b5fcd6941676106daa1d4fc15ac1533721ed5a" + }, + { + "file": "_scope_neg_op_ForsRootDeterminism.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "b94ce79a588e854194d924f2593d0586217109ba82714f856471d1a94b3f7f7d", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ForsRootDeterminism.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ForsRootDeterminism-compile-1790591707690437106.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ForsRootDeterminism.ec", + "log_sha256": "bdf93dd84cabd46ebc9d0cb9bf19ee50a29d2abab7b5cd85547bc29b05119a5b" + }, + { + "file": "_scope_neg_op_ExposurePrivate.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "6361f22f2dd06482bab3e3aeeb1d98e6c007e510ba6305d34b115da164c71b2c", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposurePrivate.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposurePrivate-compile-1790591711695821240.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePrivate.ec", + "log_sha256": "e251918bcf22dc103512a2e3d2ee087a49fa929b1c0d8c30b1dba233b82b7582" + }, + { + "file": "_scope_neg_op_ExposureCoverage.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "3c4f49c57e560af874286906e3009ad6758b5fee71b5440be19e46f592121dba", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposureCoverage.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposureCoverage-compile-1790591717959014620.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureCoverage.ec", + "log_sha256": "a00953fe9e97be0e16eb034cff13448b55d9d5f118794f7453cc8310dc6d9810" + }, + { + "file": "_scope_neg_op_ExposureComponents.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "ad7c194a932d5ae47161fff056e1dce67a3776ffd6cc67cb3404ae6957d6b5f6", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposureComponents.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposureComponents-compile-1790591724321501732.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposureComponents.ec", + "log_sha256": "8e7261926782ebca10e53ee235911f5607fd14682fe23103ba54363b168ecb43" + }, + { + "file": "_scope_neg_op_ExposurePartition.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "ea99153f457fc4856d8faa0b2c2c827ef5a45a89a378727b9cd09cd90e40cd10", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposurePartition.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposurePartition-compile-1790591730782126290.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartition.ec", + "log_sha256": "70067257e17d627c67365fdddfee5475f74f01c9e57f15e62bf36c0171f8d2ef" + }, + { + "file": "_scope_neg_op_ExposurePartitionGame.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "be97ef0f8178428fca0bea99c9a869263e11aa625d0272ae7d395be1f2126880", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposurePartitionGame.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposurePartitionGame-compile-1790591737998749024.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionGame.ec", + "log_sha256": "67439d740294f4cc0653b5e5d122c85cf3e71fa0bf15f6014b476a32695de927" + }, + { + "file": "_scope_neg_op_ExposurePartitionHop.ec", + "expected": 1, + "reason": "unknown variable or constant:", + "kind": "scope", + "source_sha256": "813a142aaddc84ec11e062c17dfa0183588f0fcf62d88190326c948322a6cbc5", + "observed": 1, + "matched": true, + "diagnostics": [ + "[critical] [/work/q21-controls/_scope_neg_op_ExposurePartitionHop.ec: line 2 (30-64)] unknown variable or constant: `FORS_C_TreePort.fverify_structural'" + ], + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/_scope_neg_op_ExposurePartitionHop-compile-1790591746463977302.log", + "enrolled_file": "contracts/verification/easycrypt/c10-port/scratch/_scope_neg_op_ExposurePartitionHop.ec", + "log_sha256": "e3f58e81984672f0f8446bbccb8ab61c6feeafd78c871c4654e9ae62ec7d3303" + } +] diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/opus-report.txt b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/opus-report.txt new file mode 100644 index 000000000..de44ffa52 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/opus-report.txt @@ -0,0 +1,19 @@ +VERDICT: GO +TARGET: d03db3d99bf1eb34b6e27ed32fa60c43bed66fed / 703275ba24d5b610d494df3f9fbad928904d3d05 +FINDINGS: none +GAPS: The full cold two-driver 438-target replay is still pending, and I did not re-run it here (source-only review). + +What I checked, from the source (proof validity itself rests on your green replay evidence; I did not recompile): +- **Item 1, widths through adaptive calls and final verification:** `ExposureWidths.ec:73-77` sets up the log check at init (`mem_nil`). Hash leaves the log untouched. Sign appends only when the result is a success that meets `signature_width`, via `exposures_width_rcons` and `full_sign_valid_width`, including repeats through its else branch. The verifier (`:59`) keeps the check. The client cannot touch `ExposureLog`, and `ExposureDriver.ec` is unchanged by this diff. +- **Item 2, roots and literal values:** `fors_root_witness_unique` uses no collision premise, which matches the doc's claim that this is determinism. `logged_fors_value` reads `nth []`. `ExposurePrivate.ec:144,158` uses the width to change that to `nth (nseq 16 0)`. It then ties the value to `s.[fors_private_key ht tree index]`, only under `!public_node_collision`. Tree 12 stays a whole-root witness at `(ht,12)`. +- **Item 3, coverage:** `returned_coverage` lets each tree have its own logged digest, so different responses can cover different trees. The empty-log (`:22`), repeat (`:25`) and concatenation (`:29`) lemmas are present. The uncovered branch (`:74`) gives a private-table witness plus absence from returned coordinates, with no secrecy claim; the doc at lines 28-30 disclaims secrecy. The mixed-coverage control assumes its premises, and the doc says so. +- **Item 4, component messages:** top messages are compared at layer 1, tree 0, leaf ht/512, and bottom messages at layer 0, tree ht/512, leaf ht%512. "New" follows from `!merkle_root_witness` / `!forest_root_witness` (`SubtreeOpeningCases.ec:10`, `ForestOpeningCases.ec:19`). The doc at lines 36-37 says chain exposure is not excluded. +- **Item 5, hop:** the three charges in `ExposurePartitionHop.ec:168-170` match `byte_public_node_bad_hop` (`BytePublicNodeBad.ec:43-45`) term for term. The residual keeps `res ∧ ¬collision ∧ ¬zero`. The seed comes from `KeygenInputs{m}` (the client cannot modify `KeygenInputs`), and the signing cap is `qs`. Freshness is `!mem (exposure_messages)`, which equals `FullSession.signed_messages`. `partition_message_input_new` is only an H_msg-input inequality, and the doc at line 51 disclaims freshness against public queries. `exists root0` follows the existing `Byte*Hop` pattern and is pinned by `merkle_root_witness … 1 0 root` plus `merkle_root_witness_unique`. +- **Item 6, XmssmtCC_All:** only the internal `have hd` proof changed, to `apply mulr_ge0; smt(...)`. The statement and assumptions are unchanged. Controls are classified MUST-PASS/MUST-FAIL. `C10Q21DropsResidual` weakens `res` to `false` and is expected to fail. The doc gives no numerical EUF bound and makes no full information-exposure claim. +- **Item 7, Rust delta from 4bc96312:** + - `find_count` reports only after the `sum == TARGET_SUM` check. + - `build_subtree_with_auth` reports only after the stack push. The interpolated value is at most `pct_hi`, so the `u8` cast is in range. + - With the no-callback sink, nothing is reported and the hash/chain/count/byte data flow is unchanged. + - Narrowing `pub` to `pub(crate)` breaks no callers. The model harness uses `SigningKey::sign_with_shuffle_silent`, and `secure/` uses the unchanged public `sign_with_shuffle`. + - The three file hashes match the updated `cert-source-binding.json`. + - This says nothing about callback side effects, timing, extraction or production assurance. diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-interruption.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-interruption.json new file mode 100644 index 000000000..984595ff9 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-interruption.json @@ -0,0 +1,7 @@ +{ + "utc": "2026-09-29T10:09:27.468179+00:00", + "outcome": "Incomplete; coordinator stopped run after confusing host suspend with local wall watchdog expiry. Not accepted as a complete replay.", + "user_confirmation": "I had my laptop hiberante overnight, dont worry", + "journal": "suspend-journal.log", + "replacement": "Fresh full replay with suspension-aware active elapsed watchdog; source, proof command, checks and completed bounded reviews unchanged." +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate-result.json new file mode 100644 index 000000000..57984a007 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate-result.json @@ -0,0 +1,8 @@ +{ + "exit_code": 2, + "started_utc": "2026-09-28T19:17:48.796775+00:00", + "finished_utc": "2026-09-29T10:03:11.435401+00:00", + "elapsed_seconds": 53122.64, + "commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "tree": "c5c2f0977ded379d29bcd24f9ead80bd13d27bcb" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate.log new file mode 100644 index 000000000..fbeb875d1 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-q21-full-gate.log @@ -0,0 +1,1444 @@ +make: Entering directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' +/usr/bin/python3 -E -S -B scripts/run_easycrypt_split.py +OK EasyCrypt manual source binding: 402 inputs (not extraction) + Finished `test` profile [optimized + debuginfo] target(s) in 0.07s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +{"exit_code": 0, "seconds": 24.37, "keygen_cases": 5, "signature_cases": 20, "negative_cases": 160, "receipt": "/tmp/pq-easycrypt-fullsign-g0swda9h/evidence/result.json"} +FULLSIGN_MODEL_RECEIPT={ + "exit_code": 0, + "seconds": 24.37, + "rust_commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "rust_sources": { + "address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", + "fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", + "hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", + "hypertree.rs": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", + "lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", + "merkle.rs": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "near_miss.rs": "6fed92e4bbf9d13a43f0040335f3e7a4f3b3fd84fb49eba3db410f46a42512a3", + "params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", + "shuffle.rs": "2f3e0b12351084599294c9ccdfa01d18d7e2130a2fa84bae177ef26cfdb470ad", + "wots.rs": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b" + }, + "model_sources": { + "RawKeygen.ec": "9f983fbb237129b0600ee1462429a722c53f86a5a74e25a0e508f16c1238174e", + "RawFors.ec": "cea927f567b23443a0c0846493089f3651f1eb57a86daae508527b612741833e", + "RawShuffle.ec": "2d8c14b922f4e85c7c2a1a8a4852a7622dbff8a87a3e6faf43ff6b13d5e3e639", + "RawWots.ec": "b0510301eba5d387e3199d216bae2772f5e27480bdb3a23f037881c59138a558", + "RawForest.ec": "76b40a69989b36c88ecc4d9e9fae197da65fee865ea2572be94f50f297fb2f10", + "RawMerkle.ec": "c39af26b991ef2929dea669be1152fcb84dbcbf0f25dfb60c2d1290c183d1f6e", + "RawLayer.ec": "3ebf8be154f55b07d3d8f10a3dd5e541b7d47714fa2997703c93201dce30dc96", + "RawSigner.ec": "8b40da75596beb4a824890c8d5e3d58383f7f049c682815b476850a26c7b1650", + "RawSignerCost.ec": "f6afec786f09e10a694fad65e8e0c36bdc8fa0e2f87a8d299617bf056dffeedd", + "RawSignature.ec": "de0e9b611ea88e6aaa39e5b9d3931ff2cf611c20159eb69b42f53ae9b5bae03d", + "RawDecode.ec": "bc0102dd6f42c3d6b2187439e961507bda5372a4a7c5c9a4887ee518a1fe09b4", + "ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b" + }, + "harness_sources": { + "src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", + "check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", + "Cargo.toml": "4a7ab9c9e96b752b88a40c77507fce791818733ac059dc0cb6a2af1051826617", + "Cargo.lock": "841066878fb7673836172817b5b7d756fc98505adf976fdde7465eea4e8b2ea8" + }, + "keygen_cases": 5, + "signatures": [ + { + "case": 0, + "run": 0, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 0, + "total_calls": 504865, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 0, + "total_calls": 494414, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 15, + "total_calls": 504880, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 15, + "total_calls": 494429, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 0, + "total_calls": 502175, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 0, + "total_calls": 491482, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 15, + "total_calls": 502190, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 15, + "total_calls": 491497, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 0, + "total_calls": 453988, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 0, + "total_calls": 498094, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 15, + "total_calls": 454003, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 15, + "total_calls": 498109, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 0, + "total_calls": 538014, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 0, + "total_calls": 476853, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 15, + "total_calls": 538029, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 15, + "total_calls": 476868, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 0, + "total_calls": 479192, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 0, + "total_calls": 480852, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 15, + "total_calls": 479207, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 15, + "total_calls": 480867, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + } + ], + "negative_verifications": [ + { + "case": 0, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + } + ], + "scope": "Manual byte/call correspondence for public fixtures; software shuffle SHA calls counted separately from Rust hooks. No extraction or probability/security theorem." +} + +### INPUTS_SHA256 116f7fa68bf756dd0602c916d3eb3959 +OK INPUTS_SHA256 matches the committed identity +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed +OK toolchain: r2026.02, 25 pinned prover configurations +### IMAGE ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3 +OK proof controls: direct dependency failure / import acceptance / open-proof rejection / abstract require and EOF +OK no dual-extension theory names on the include path +### ECO_PURGED=0 +### ECO_REMAINING=0 +### PHASE 1 — TARGETS +OK target base-c10-split/BinaryTrees.ec +OK target base-c10-split/MerkleTrees.ec +OK target base-c10-split/KeyedHashFunctions.eca +OK target base-c10-split/TweakableHashFunctions.eca +OK target base-c10-split/HashAddresses.eca +OK target base-c10-split/RadixEncoding.ec +OK target base-c10-split/WOTS_TW_ES.ec +OK target base-c10-split/FL_SL_XMSS_MT_ES.ec +OK target base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca +OK target base-c10-split/FORS_ES.ec +OK target base-c10-split/SPHINCS_PLUS.ec +OK target cdrafts-split/C10Counter.ec +OK target cdrafts-split/C10Randomizer.ec +OK target cdrafts-split/C10RawOracle.ec +OK target cdrafts-split/C10Bytes.ec +OK target cdrafts-split/Grind.ec +OK target cdrafts-split/STCR_C.ec +OK target cdrafts-split/WOTS_C_Real.ec +OK target cdrafts-split/WOTS_C_Scheme.ec +OK target cdrafts-split/WOTS_C_Reduction.ec +OK target cdrafts-split/WOTS_C_Interactive.ec +OK target cdrafts-split/XMSSMT_C_Scheme.ec +Traceback (most recent call last): + File "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/scripts/run_easycrypt_split.py", line 33, in + subprocess.run(['docker', 'run', '--rm', '--init', '--network', 'none', + File "/usr/lib/python3.12/subprocess.py", line 571, in run + raise CalledProcessError(retcode, process.args, +subprocess.CalledProcessError: Command '['docker', 'run', '--rm', '--init', '--network', 'none', '--env', 'PQ_EASYCRYPT_IMAGE=ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', '--volume', '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port:/source:ro', 'ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', 'bash', '-lc', 'set -e; eval "$(opam env)"; cp -R /source /tmp/proofs; cd /tmp/proofs; bash cert_gate_split.sh']' returned non-zero exit status 143. +make: *** [Makefile:2226: verify-easycrypt-split] Error 1 +make: Leaving directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-suspend-journal.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-suspend-journal.log new file mode 100644 index 000000000..6bcb9c123 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/overnight-suspend-journal.log @@ -0,0 +1,15 @@ +2026-09-28T21:47:40+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Starting systemd-suspend.service - System Suspend... +2026-09-28T21:47:40+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[584243]: Performing sleep operation 'suspend'... +2026-09-29T11:17:53+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[584243]: System returned from sleep operation 'suspend'. +2026-09-29T11:17:53+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: systemd-suspend.service: Deactivated successfully. +2026-09-29T11:17:53+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Finished systemd-suspend.service - System Suspend. +2026-09-29T11:18:52+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Starting systemd-suspend.service - System Suspend... +2026-09-29T11:18:52+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[590444]: Performing sleep operation 'suspend'... +2026-09-29T11:18:56+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[590444]: System returned from sleep operation 'suspend'. +2026-09-29T11:18:56+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: systemd-suspend.service: Deactivated successfully. +2026-09-29T11:18:56+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Finished systemd-suspend.service - System Suspend. +2026-09-29T11:19:56+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Starting systemd-suspend.service - System Suspend... +2026-09-29T11:19:56+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[595728]: Performing sleep operation 'suspend'... +2026-09-29T11:59:13+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd-sleep[595728]: System returned from sleep operation 'suspend'. +2026-09-29T11:59:13+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: systemd-suspend.service: Deactivated successfully. +2026-09-29T11:59:13+02:00 nicola-ThinkPad-P14s-Gen-6-AMD systemd[1]: Finished systemd-suspend.service - System Suspend. diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate-result.json new file mode 100644 index 000000000..90bf2262c --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate-result.json @@ -0,0 +1,8 @@ +{ + "exit_code": 2, + "started_utc": "2026-09-28T14:15:55.538547+00:00", + "finished_utc": "2026-09-28T19:16:43.601110+00:00", + "elapsed_seconds": 18048.06, + "commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "tree": "c5c2f0977ded379d29bcd24f9ead80bd13d27bcb" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate.log new file mode 100644 index 000000000..439df9449 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-full-gate.log @@ -0,0 +1,2702 @@ +make: Entering directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' +/usr/bin/python3 -E -S -B scripts/run_easycrypt_split.py +OK EasyCrypt manual source binding: 402 inputs (not extraction) + Finished `test` profile [optimized + debuginfo] target(s) in 0.05s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +{"exit_code": 0, "seconds": 20.26, "keygen_cases": 5, "signature_cases": 20, "negative_cases": 160, "receipt": "/tmp/pq-easycrypt-fullsign-rpi46bjo/evidence/result.json"} +FULLSIGN_MODEL_RECEIPT={ + "exit_code": 0, + "seconds": 20.26, + "rust_commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "rust_sources": { + "address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", + "fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", + "hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", + "hypertree.rs": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", + "lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", + "merkle.rs": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "near_miss.rs": "6fed92e4bbf9d13a43f0040335f3e7a4f3b3fd84fb49eba3db410f46a42512a3", + "params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", + "shuffle.rs": "2f3e0b12351084599294c9ccdfa01d18d7e2130a2fa84bae177ef26cfdb470ad", + "wots.rs": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b" + }, + "model_sources": { + "RawKeygen.ec": "9f983fbb237129b0600ee1462429a722c53f86a5a74e25a0e508f16c1238174e", + "RawFors.ec": "cea927f567b23443a0c0846493089f3651f1eb57a86daae508527b612741833e", + "RawShuffle.ec": "2d8c14b922f4e85c7c2a1a8a4852a7622dbff8a87a3e6faf43ff6b13d5e3e639", + "RawWots.ec": "b0510301eba5d387e3199d216bae2772f5e27480bdb3a23f037881c59138a558", + "RawForest.ec": "76b40a69989b36c88ecc4d9e9fae197da65fee865ea2572be94f50f297fb2f10", + "RawMerkle.ec": "c39af26b991ef2929dea669be1152fcb84dbcbf0f25dfb60c2d1290c183d1f6e", + "RawLayer.ec": "3ebf8be154f55b07d3d8f10a3dd5e541b7d47714fa2997703c93201dce30dc96", + "RawSigner.ec": "8b40da75596beb4a824890c8d5e3d58383f7f049c682815b476850a26c7b1650", + "RawSignerCost.ec": "f6afec786f09e10a694fad65e8e0c36bdc8fa0e2f87a8d299617bf056dffeedd", + "RawSignature.ec": "de0e9b611ea88e6aaa39e5b9d3931ff2cf611c20159eb69b42f53ae9b5bae03d", + "RawDecode.ec": "bc0102dd6f42c3d6b2187439e961507bda5372a4a7c5c9a4887ee518a1fe09b4", + "ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b" + }, + "harness_sources": { + "src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", + "check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", + "Cargo.toml": "4a7ab9c9e96b752b88a40c77507fce791818733ac059dc0cb6a2af1051826617", + "Cargo.lock": "841066878fb7673836172817b5b7d756fc98505adf976fdde7465eea4e8b2ea8" + }, + "keygen_cases": 5, + "signatures": [ + { + "case": 0, + "run": 0, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 0, + "total_calls": 504865, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 0, + "total_calls": 494414, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 15, + "total_calls": 504880, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 15, + "total_calls": 494429, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 0, + "total_calls": 502175, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 0, + "total_calls": 491482, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 15, + "total_calls": 502190, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 15, + "total_calls": 491497, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 0, + "total_calls": 453988, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 0, + "total_calls": 498094, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 15, + "total_calls": 454003, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 15, + "total_calls": 498109, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 0, + "total_calls": 538014, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 0, + "total_calls": 476853, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 15, + "total_calls": 538029, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 15, + "total_calls": 476868, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 0, + "total_calls": 479192, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 0, + "total_calls": 480852, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 15, + "total_calls": 479207, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 15, + "total_calls": 480867, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + } + ], + "negative_verifications": [ + { + "case": 0, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + } + ], + "scope": "Manual byte/call correspondence for public fixtures; software shuffle SHA calls counted separately from Rust hooks. No extraction or probability/security theorem." +} + +### INPUTS_SHA256 116f7fa68bf756dd0602c916d3eb3959 +OK INPUTS_SHA256 matches the committed identity +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed +OK toolchain: r2026.02, 25 pinned prover configurations +### IMAGE ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3 +OK proof controls: direct dependency failure / import acceptance / open-proof rejection / abstract require and EOF +OK no dual-extension theory names on the include path +### ECO_PURGED=0 +### ECO_REMAINING=0 +### PHASE 1 — TARGETS +OK target base-c10-split/BinaryTrees.ec +OK target base-c10-split/MerkleTrees.ec +OK target base-c10-split/KeyedHashFunctions.eca +OK target base-c10-split/TweakableHashFunctions.eca +OK target base-c10-split/HashAddresses.eca +OK target base-c10-split/RadixEncoding.ec +OK target base-c10-split/WOTS_TW_ES.ec +OK target base-c10-split/FL_SL_XMSS_MT_ES.ec +OK target base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca +OK target base-c10-split/FORS_ES.ec +OK target base-c10-split/SPHINCS_PLUS.ec +OK target cdrafts-split/C10Counter.ec +OK target cdrafts-split/C10Randomizer.ec +OK target cdrafts-split/C10RawOracle.ec +OK target cdrafts-split/C10Bytes.ec +OK target cdrafts-split/Grind.ec +OK target cdrafts-split/STCR_C.ec +OK target cdrafts-split/WOTS_C_Real.ec +OK target cdrafts-split/WOTS_C_Scheme.ec +OK target cdrafts-split/WOTS_C_Reduction.ec +OK target cdrafts-split/WOTS_C_Interactive.ec +OK target cdrafts-split/XMSSMT_C_Scheme.ec +OK target cdrafts-split/XmssmtCC_All.ec +OK target cdrafts-split/RtopCSoundness.ec +OK target cdrafts-split/FxChain.ec +OK target cdrafts-split/BoundedIID.ec +OK target cdrafts-split/FORS_C10.ec +OK target cdrafts-split/FORS_C10_Multi.ec +OK target cdrafts-split/GprocFORSC10.ec +OK target cdrafts-split/SphincsC10CapstoneWired.ec +OK target cdrafts-split/SphincsC10Content.ec +OK target cdrafts-split/C10DeployedInstance.ec +OK target cdrafts-split/C10HashDomains.ec +OK target cdrafts-split/C10RawGrind.ec +OK target cdrafts-split/SecretPrefix.ec +OK target cdrafts-split/PrefixGuess.ec +OK target cdrafts-split/PrefixHybrid.ec +OK target cdrafts-split/RoleGrind.ec +OK target cdrafts-split/GrindReplay.ec +OK target cdrafts-split/GrindWitness.ec +OK target cdrafts-split/PersistentGrind.ec +OK target cdrafts-split/RTailFresh.ec +OK target cdrafts-split/IdealWitness.ec +OK target cdrafts-split/RawRHistory.ec +OK target cdrafts-split/RawTrial.ec +OK target cdrafts-split/RTailMessages.ec +OK target cdrafts-split/RTailContexts.ec +OK target cdrafts-split/FORSC10Digest.ec +OK target cdrafts-split/GrindTail.ec +OK target cdrafts-split/StreamBound.ec +OK target cdrafts-split/TrialExpectation.ec +OK target cdrafts-split/StreamExpectation.ec +OK target cdrafts-split/GrindExhaustion.ec +OK target cdrafts-split/ExhaustionCharges.ec +OK target cdrafts-split/ContextExhaustion.ec +OK target cdrafts-split/AcceptedContexts.ec +OK target cdrafts-split/DigestPrefix.ec +OK target cdrafts-split/FreshCoverage.ec +OK target cdrafts-split/AcceptedSampling.ec +OK target cdrafts-split/TrialAccepted.ec +OK target cdrafts-split/StreamAccepted.ec +OK target cdrafts-split/AcceptedCoverage.ec +OK target cdrafts-split/DigestWindow.ec +OK target cdrafts-split/AcceptedHypertree.ec +OK target cdrafts-split/KeygenPrefixes.ec +OK target cdrafts-split/RoleGrindCost.ec +OK target cdrafts-split/RawKeygen.ec +OK target cdrafts-split/RawKeygenCost.ec +OK target cdrafts-split/PreparedGrind.ec +OK target cdrafts-split/RawFors.ec +OK target cdrafts-split/PrefixGames.ec +OK target cdrafts-split/PrefixBound.ec +OK target cdrafts-split/PrefixIdeal.ec +OK target cdrafts-split/PreparedHistory.ec +OK target cdrafts-split/PreparedExhaustion.ec +OK target cdrafts-split/PreparedRaw.ec +OK target cdrafts-split/KeygenExhaustion.ec +OK target cdrafts-split/PhysicalKeygenCost.ec +OK target cdrafts-split/RawShuffle.ec +OK target cdrafts-split/RawForest.ec +OK target cdrafts-split/RawWots.ec +OK target cdrafts-split/RawMerkle.ec +OK target cdrafts-split/RawLayer.ec +OK target cdrafts-split/RawSigner.ec +OK target cdrafts-split/RawSignature.ec +OK target cdrafts-split/RawCodec.ec +OK target cdrafts-split/RawSlices.ec +OK target cdrafts-split/RawDecode.ec +OK target cdrafts-split/FullSession.ec +OK target cdrafts-split/ByteSession.ec +OK target cdrafts-split/BuilderTotality.ec +OK target cdrafts-split/PathReplay.ec +OK target cdrafts-split/PathOracle.ec +OK target cdrafts-split/RawPathReplay.ec +OK target cdrafts-split/DyadicStack.ec +OK target cdrafts-split/NodeGridIndex.ec +OK target cdrafts-split/NodeGridPath.ec +OK target cdrafts-split/NodeCatalog.ec +OK target cdrafts-split/StackAlignment.ec +OK target cdrafts-split/NodeCatalogDomain.ec +OK target cdrafts-split/StackPowers.ec +OK target cdrafts-split/LinearChain.ec +OK target cdrafts-split/LinearOracle.ec +OK target cdrafts-split/RawChainTrace.ec +OK target cdrafts-split/WotsReference.ec +OK target cdrafts-split/RawLeafChains.ec +OK target cdrafts-split/WotsReferenceOracle.ec +OK target cdrafts-split/WotsReferenceStep.ec +OK target cdrafts-split/WotsChainReference.ec +OK target cdrafts-split/WotsLeafReference.ec +OK target cdrafts-split/MonotoneHistory.ec +OK target cdrafts-split/RawCountRecorded.ec +OK target cdrafts-split/WotsReferenceRoot.ec +OK target cdrafts-split/WotsCatalog.ec +OK target cdrafts-split/CatalogDeterminism.ec +OK target cdrafts-split/WotsRootDeterminism.ec +OK target cdrafts-split/MerkleRootWitness.ec +OK target cdrafts-split/RawHistoryPreservation.ec +OK target cdrafts-split/GrindReturned.ec +OK target cdrafts-split/RawForsPathReplay.ec +OK target cdrafts-split/ForsOpening.ec +OK target cdrafts-split/ForestOpenings.ec +OK target cdrafts-split/ForestWitness.ec +OK target cdrafts-split/RecoveryHistory.ec +OK target cdrafts-split/ForsComponentHistory.ec +OK target cdrafts-split/ForestOracle.ec +OK target cdrafts-split/RawWidths.ec +OK target cdrafts-split/RawTreeWidths.ec +OK target cdrafts-split/ForsOneRecorded.ec +OK target cdrafts-split/ForestOneStep.ec +OK target cdrafts-split/ShuffleBytes.ec +OK target cdrafts-split/ShuffleSwap.ec +OK target cdrafts-split/RawShufflePermutation.ec +OK target cdrafts-split/ForestSignRecorded.ec +OK target cdrafts-split/PathCollision.ec +OK target cdrafts-split/PathInputs.ec +OK target cdrafts-split/ForsLeafInputs.ec +OK target cdrafts-split/RawForsComparison.ec +OK target cdrafts-split/ForsOpeningReplay.ec +OK target cdrafts-split/FixedHashReplay.ec +OK target cdrafts-split/ForestRecoveryReplay.ec +OK target cdrafts-split/ForestOpening.ec +OK target cdrafts-split/LinearSplit.ec +OK target cdrafts-split/WotsChainSplit.ec +OK target cdrafts-split/WotsSignatureValue.ec +OK target cdrafts-split/RawWotsFill.ec +OK target cdrafts-split/PreparationHistory.ec +OK target cdrafts-split/ChainHistory.ec +OK target cdrafts-split/RawChainReplay.ec +OK target cdrafts-split/FixedChainReplay.ec +OK target cdrafts-split/FixedWotsChains.ec +OK target cdrafts-split/WotsFillCorrect.ec +OK target cdrafts-split/WotsCountWitness.ec +OK target cdrafts-split/WotsSignWitness.ec +OK target cdrafts-split/LayerPath.ec +OK target cdrafts-split/LayerWitness.ec +OK target cdrafts-split/LayerWotsSign.ec +OK target cdrafts-split/RawWotsRecovery.ec +OK target cdrafts-split/WotsOpeningRecovery.ec +OK target cdrafts-split/RawPathComparison.ec +OK target cdrafts-split/LayerRecoveryCorrect.ec +OK target cdrafts-split/CatalogForest.ec +OK target cdrafts-split/AuthSlots.ec +OK target cdrafts-split/AuthCaptureSchedule.ec +OK target cdrafts-split/StackProjection.ec +OK target cdrafts-split/CatalogStack.ec +OK target cdrafts-split/AuthPhase.ec +OK target cdrafts-split/MerkleBuildWitness.ec +OK target cdrafts-split/MerkleCatalogObserver.ec +OK target cdrafts-split/ForsBuildWitness.ec +OK target cdrafts-split/ForsCatalogObserver.ec +OK target cdrafts-split/CatalogWidths.ec +OK target cdrafts-split/CatalogPath.ec +OK target cdrafts-split/BuilderPath.ec +OK target cdrafts-split/CatalogMerge.ec +OK target cdrafts-split/CatalogOracle.ec +OK target cdrafts-split/MerkleCatalogSound.ec +OK target cdrafts-split/CatalogForestMerge.ec +OK target cdrafts-split/AuthCaptureIndex.ec +OK target cdrafts-split/AuthCaptureValue.ec +OK target cdrafts-split/AuthSteps.ec +OK target cdrafts-split/AuthStepInvariant.ec +OK target cdrafts-split/AuthAdvance.ec +OK target cdrafts-split/MerkleCatalogAuth.ec +OK target cdrafts-split/MerkleBuilderPath.ec +OK target cdrafts-split/RawWotsReference.ec +OK target cdrafts-split/WotsCatalogOracle.ec +OK target cdrafts-split/MerkleWotsLeaves.ec +OK target cdrafts-split/MerkleBuilderWots.ec +OK target cdrafts-split/LayerSignWitness.ec +OK target cdrafts-split/LayerRecoveryHistory.ec +OK target cdrafts-split/LayerSignOpening.ec +OK target cdrafts-split/SignerCoordinates.ec +OK target cdrafts-split/LayerOpeningReplay.ec +OK target cdrafts-split/SignerLayerTrace.ec +OK target cdrafts-split/SignerFinishState.ec +OK target cdrafts-split/SignerComponentHistory.ec +OK target cdrafts-split/SignerRecoveryStep.ec +OK target cdrafts-split/SignerVerifierReplay.ec +OK target cdrafts-split/IndependentWidths.ec +OK target cdrafts-split/BuildRootProjection.ec +OK target cdrafts-split/RawMerkleRootWitness.ec +OK target cdrafts-split/SignerAccepted.ec +OK target cdrafts-split/SignerReturned.ec +OK target cdrafts-split/SignerGrindRoot.ec +OK target cdrafts-split/SignerForestStep.ec +OK target cdrafts-split/MerkleRootPersistence.ec +OK target cdrafts-split/LayerSignCorrect.ec +OK target cdrafts-split/LayerPriorRoot.ec +OK target cdrafts-split/SignerLayerStep.ec +OK target cdrafts-split/SignerFinishWitness.ec +OK target cdrafts-split/SignerFinishRecorded.ec +OK target cdrafts-split/SignerReturnedOpening.ec +OK target cdrafts-split/RawCompositeWidths.ec +OK target cdrafts-split/RawSignerWidths.ec +OK target cdrafts-split/IndependentSignerWidth.ec +OK target cdrafts-split/RawByteValues.ec +OK target cdrafts-split/RawWotsBytes.ec +OK target cdrafts-split/RawTreeBytes.ec +OK target cdrafts-split/RawCompositeBytes.ec +OK target cdrafts-split/RawSignerBytes.ec +OK target cdrafts-split/EncodedSlices.ec +OK target cdrafts-split/EncodedLayer.ec +OK target cdrafts-split/EncodedSignatureSlices.ec +OK target cdrafts-split/EncodedSignature.ec +OK target cdrafts-split/SignerEncodingCorrect.ec +OK target cdrafts-split/ActualByteSignerCorrect.ec +OK target cdrafts-split/ActualForestCorrect.ec +OK target cdrafts-split/ActualLayerCorrect.ec +OK target cdrafts-split/ActualSignerCorrect.ec +OK target cdrafts-split/WotsSignCorrect.ec +OK target cdrafts-split/ActualWotsCorrect.ec +OK target cdrafts-split/PrefixAudit.ec +OK target cdrafts-split/AuditPrefix.ec +OK target cdrafts-split/AuditComplete.ec +OK target cdrafts-split/BadEncCountermodel.ec +OK target cdrafts-split/TCollResEnum.ec +OK target cdrafts-split/BadEncSplit.ec +OK target cdrafts-split/BadEncToTColl.ec +OK target cdrafts-split/BadEncStep4.ec +OK target cdrafts-split/RawForsCost.ec +OK target cdrafts-split/RawForestCost.ec +OK target cdrafts-split/RawWotsCost.ec +OK target cdrafts-split/RawMerkleCost.ec +OK target cdrafts-split/RawLayerCost.ec +OK target cdrafts-split/RawSignerCost.ec +OK target cdrafts-split/FullSessionCost.ec +OK target cdrafts-split/PrefixState.ec +OK target cdrafts-split/FullPrefix.ec +OK target cdrafts-split/ByteBound.ec +OK target cdrafts-split/ByteAudit.ec +OK target cdrafts-split/NodeDistribution.ec +OK target cdrafts-split/ProjectedBirthday.ec +OK target cdrafts-split/MemoNodeCollision.ec +OK target cdrafts-split/ProjectedMemoOracle.ec +OK target cdrafts-split/PublicCollisionGame.ec +OK target cdrafts-split/PublicNodeZero.ec +OK target cdrafts-split/PublicCollisionState.ec +OK target cdrafts-split/BytePublicCollision.ec +OK target cdrafts-split/BytePublicNodeBad.ec +OK target cdrafts-split/GrindTrace.ec +OK target cdrafts-split/GrindTraceRecorded.ec +OK target cdrafts-split/GrindTraceReplay.ec +OK target cdrafts-split/SignerTrace.ec +OK target cdrafts-split/MessageHistory.ec +OK target cdrafts-split/VerifierHistory.ec +OK target cdrafts-split/RootSessionHistory.ec +OK target cdrafts-split/ForestRecoveryRecord.ec +OK target cdrafts-split/LinearCollision.ec +OK target cdrafts-split/WotsRecoveryTrace.ec +OK target cdrafts-split/RecoveryTraceOracle.ec +OK target cdrafts-split/RawRecoveryTrace.ec +OK target cdrafts-split/WotsRecoveryHistory.ec +OK target cdrafts-split/LayerRecoveryRecord.ec +OK target cdrafts-split/VerifierForestRecords.ec +OK target cdrafts-split/RecoveryCompression.ec +OK target cdrafts-split/WotsZeroSentinel.ec +OK target cdrafts-split/VerifierWotsOpening.ec +OK target cdrafts-split/RootCoverage.ec +OK target cdrafts-split/NodeCollisionEvents.ec +OK target cdrafts-split/LayerRecordExtraction.ec +OK target cdrafts-split/VerifierLayerRecords.ec +OK target cdrafts-split/SubtreeOpeningCases.ec +OK target cdrafts-split/SecretLeafOrigins.ec +OK target cdrafts-split/SecretLeafOracle.ec +OK target cdrafts-split/ForsPrivateLeaves.ec +OK target cdrafts-split/ForsRootWitness.ec +OK target cdrafts-split/ForestRootWitness.ec +OK target cdrafts-split/ForestCoordinates.ec +OK target cdrafts-split/ForsRecordExtraction.ec +OK target cdrafts-split/ForestRecordExtraction.ec +OK target cdrafts-split/ForestOpeningCases.ec +OK target cdrafts-split/SessionForestExtraction.ec +OK target cdrafts-split/TopVerifierOpening.ec +OK target cdrafts-split/RawWotsExtraction.ec +OK target cdrafts-split/LayerExtractionHistory.ec +OK target cdrafts-split/ForsCatalogSound.ec +OK target cdrafts-split/ForsCatalogAuth.ec +OK target cdrafts-split/ForsBuilderPath.ec +OK target cdrafts-split/RawBuilderReference.ec +OK target cdrafts-split/MerkleBuilderComparison.ec +OK target cdrafts-split/LayerWotsExtraction.ec +OK target cdrafts-split/RootLayerExtraction.ec +OK target cdrafts-split/RootExtractionHistory.ec +OK target cdrafts-split/VerifierTopExtraction.ec +OK target cdrafts-split/SessionTopExtraction.ec +OK target cdrafts-split/ByteGameTopExtraction.ec +OK target cdrafts-split/ByteGameForestExtraction.ec +OK target cdrafts-split/ByteForestOpeningHop.ec +OK target cdrafts-split/SessionSubtreeExtraction.ec +OK target cdrafts-split/ByteGameSubtreeExtraction.ec +OK target cdrafts-split/RHistoryOps.ec +OK target cdrafts-split/PreparedFinish.ec +OK target cdrafts-split/SignerMessages.ec +OK target cdrafts-split/FullMessageHistory.ec +OK target cdrafts-split/RSession.ec +OK target cdrafts-split/RSessionHistory.ec +OK target cdrafts-split/SignerRecorded.ec +OK target cdrafts-split/FullHistory.ec +OK target cdrafts-split/ByteHistory.ec +OK target cdrafts-split/DigestCoordinates.ec +OK target cdrafts-split/ByteReplay.ec +OK target cdrafts-split/ByteSubtreeOpeningHop.ec +OK target cdrafts-split/ByteTopOpeningHop.ec +OK target cdrafts-split/C10BoundedGrind.ec +OK target cdrafts-split/C10BoundedSigning.ec +OK target cdrafts-split/C10WOTSCorrect.ec +OK target cdrafts-split/C10BoundedHypertree.ec +OK target cdrafts-split/C10HypertreeCoverage.ec +OK target cdrafts-split/C10HypertreeCorrect.ec +OK target cdrafts-split/C10BoundedGame.ec +OK target cdrafts-split/GFailCharged.ec +OK target cdrafts-split/C10BoundedMA.ec +OK target cdrafts-split/C10CubeCorrect.ec +OK target cdrafts-split/C10CubeConstruction.ec +OK target cdrafts-split/C10ReductionChoose.ec +OK target cdrafts-split/C10ReductionForge.ec +OK target cdrafts-split/C10AcceptedReduction.ec +OK target cdrafts-split/VecDP.ec +OK target cdrafts-split/CountDS.ec +OK target cdrafts-split/C10DigitUniform.ec +OK target cdrafts-split/C10SurfaceKernel.ec +OK target cdrafts-split/C10Surface.ec +OK target cdrafts-split/C10Encoding.ec +OK target cdrafts-split/C10BoundedIID.ec +OK target cdrafts-split/C10BoundedLeaf.ec +OK target cdrafts-split/C10BoundedReduction.ec +OK target cdrafts-split/C10DeployedCapstone.ec +OK target cdrafts-split/C10DeployedGeometry.ec +OK target cdrafts-split/C10DeployedScope.ec +OK target cdrafts-split/C10HypertreeAccepted.ec +OK target cdrafts-split/XmssmtCCCharged.ec +OK target cdrafts-split/C10HypertreeCharged.ec +OK target cdrafts-split/SharedROBounded.ec +OK target cdrafts-split/C10SharedSearch.ec +OK target cdrafts-split/C10SearchBounds.ec +OK target cdrafts-split/C10SpecControls.ec +OK target cdrafts-split/C10StatefulSearch.ec +OK target cdrafts-split/SessionDigest.ec +OK target cdrafts-split/ClassifiedHistory.ec +OK target cdrafts-split/ClassifiedGrind.ec +OK target cdrafts-split/ClassifiedSigner.ec +OK target cdrafts-split/ClassifiedSession.ec +OK target cdrafts-split/ClassifiedBound.ec +OK target cdrafts-split/DarkSide.ec +OK target cdrafts-split/DarkSideC10.ec +OK target cdrafts-split/DigestPair.ec +OK target cdrafts-split/ExposureLog.ec +OK target cdrafts-split/ExposureAccounting.ec +OK target cdrafts-split/ForestReferenceHistory.ec +OK target cdrafts-split/ForsBuilderPrivate.ec +OK target cdrafts-split/ForsRootRecording.ec +OK target cdrafts-split/ForsPrivateEntry.ec +OK target cdrafts-split/ForsKnownSecret.ec +OK target cdrafts-split/ForsSignWitness.ec +OK target cdrafts-split/ForsReturnedRoot.ec +OK target cdrafts-split/ForestRootPrefix.ec +OK target cdrafts-split/ForestRootRecording.ec +OK target cdrafts-split/SignerForestReference.ec +OK target cdrafts-split/HonestForestMessages.ec +OK target cdrafts-split/LayerReturnedRoot.ec +OK target cdrafts-split/SignerSubtreeReference.ec +OK target cdrafts-split/HonestSubtreeMessages.ec +OK target cdrafts-split/ExposureSupport.ec +OK target cdrafts-split/ExposureReferences.ec +OK target cdrafts-split/ExposureComponents.ec +OK target cdrafts-split/ExposureDriver.ec +OK target cdrafts-split/ExposureWidths.ec +OK target cdrafts-split/ExposurePrivate.ec +OK target cdrafts-split/ForsRootDeterminism.ec +OK target cdrafts-split/ExposureCoverage.ec +OK target cdrafts-split/ExposureHistory.ec +OK target cdrafts-split/ExposureSessionHistory.ec +OK target cdrafts-split/ExposureGameHistory.ec +OK target cdrafts-split/ExposureForge.ec +OK target cdrafts-split/ExposurePartition.ec +OK target cdrafts-split/ExposurePartitionGame.ec +OK target cdrafts-split/ExposurePartitionHop.ec +OK target cdrafts-split/FORS_C.ec +OK target cdrafts-split/FORS_C_TreePort.ec +OK target cdrafts-split/LeafOrigins.ec +OK target cdrafts-split/LeafOriginOracle.ec +OK target cdrafts-split/ForsLeafOrigins.ec +OK target cdrafts-split/ForsBuilderSecret.ec +OK target cdrafts-split/ForsBuilderComparison.ec +OK target cdrafts-split/ForsSignCorrect.ec +OK target cdrafts-split/ForsSignRecord.ec +OK target cdrafts-split/FullFailure.ec +OK target cdrafts-split/GprocVI.ec +OK target cdrafts-split/SphincsC10CapstoneCharged.ec +OK target cdrafts-split/GprocT1Opre.ec +OK target cdrafts-split/GprocT2Trh.ec +OK target cdrafts-split/GprocT3Trco.ec +OK target cdrafts-split/GprocQBound.ec +OK target cdrafts-split/GprocQWired.ec +OK target cdrafts-split/GprocChargedQWired.ec +OK target cdrafts-split/WotsLegCharged.ec +OK target cdrafts-split/GprocWotsNamed.ec +OK target cdrafts-split/GprocTCollNamed.ec +OK target cdrafts-split/GrindHypertree.ec +OK target cdrafts-split/GrindJointCoverage.ec +OK target cdrafts-split/HonestByteContext.ec +OK target cdrafts-split/HonestByteCost.ec +OK target cdrafts-split/HonestBytePhysical.ec +OK target cdrafts-split/LayerBuildExtraction.ec +OK target cdrafts-split/PublicCollisionBound.ec +OK target cdrafts-split/RSessionCost.ec +OK target cdrafts-split/RSessionBound.ec +OK target cdrafts-split/SessionKeygen.ec +OK target cdrafts-split/RawSession.ec +OK target cdrafts-split/SessionPhysical.ec +OK target cdrafts-split/RawSessionBound.ec +OK target cdrafts-split/RawSessionCost.ec +OK target cdrafts-split/SessionClosedForm.ec +OK target cdrafts-split/TotalBuilderReference.ec +OK target cdrafts-split/VerifierWotsReplay.ec +OK target cdrafts-split/WOTS_C_Multi.ec +OK target cdrafts-split/WotsKeyExtraction.ec +### CONE_COMPILED=438 EXPECTED=438 +### PHASE 1d — EVERY CLOSURE FILE MUST BE REQUIRABLE (not merely compilable) +OK all closure files are requirable +### PHASE 1e — BOTH DRIVERS (compile AND cli) +OK base-c10-split/BinaryTrees.ec (cli, 303 cmds) +OK base-c10-split/MerkleTrees.ec (cli, 105 cmds) +OK base-c10-split/KeyedHashFunctions.eca (cli, 156 cmds) +OK base-c10-split/TweakableHashFunctions.eca (cli, 84 cmds) +OK base-c10-split/HashAddresses.eca (cli, 63 cmds) +OK base-c10-split/RadixEncoding.ec (cli, 42 cmds) +OK base-c10-split/WOTS_TW_ES.ec (cli, 2193 cmds) +OK base-c10-split/FL_SL_XMSS_MT_ES.ec (cli, 679 cmds) +OK base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca (cli, 703 cmds) +OK base-c10-split/FORS_ES.ec (cli, 2191 cmds) +OK base-c10-split/SPHINCS_PLUS.ec (cli, 456 cmds) +OK cdrafts-split/C10Counter.ec (cli, 57 cmds) +OK cdrafts-split/C10Randomizer.ec (cli, 51 cmds) +OK cdrafts-split/C10RawOracle.ec (cli, 65 cmds) +OK cdrafts-split/C10Bytes.ec (cli, 67 cmds) +OK cdrafts-split/Grind.ec (cli, 59 cmds) +OK cdrafts-split/STCR_C.ec (cli, 37 cmds) +OK cdrafts-split/WOTS_C_Real.ec (cli, 120 cmds) +OK cdrafts-split/WOTS_C_Scheme.ec (cli, 41 cmds) +OK cdrafts-split/WOTS_C_Reduction.ec (cli, 204 cmds) +OK cdrafts-split/WOTS_C_Interactive.ec (cli, 744 cmds) +OK cdrafts-split/XMSSMT_C_Scheme.ec (cli, 58 cmds) +OK cdrafts-split/XmssmtCC_All.ec (cli, 2646 cmds) +OK cdrafts-split/RtopCSoundness.ec (cli, 673 cmds) +OK cdrafts-split/FxChain.ec (cli, 1219 cmds) +OK cdrafts-split/BoundedIID.ec (cli, 47 cmds) +OK cdrafts-split/FORS_C10.ec (cli, 81 cmds) +OK cdrafts-split/FORS_C10_Multi.ec (cli, 69 cmds) +OK cdrafts-split/GprocFORSC10.ec (cli, 400 cmds) +OK cdrafts-split/SphincsC10CapstoneWired.ec (cli, 102 cmds) +OK cdrafts-split/SphincsC10Content.ec (cli, 198 cmds) +OK cdrafts-split/C10DeployedInstance.ec (cli, 285 cmds) +OK cdrafts-split/C10HashDomains.ec (cli, 51 cmds) +OK cdrafts-split/C10RawGrind.ec (cli, 43 cmds) +OK cdrafts-split/SecretPrefix.ec (cli, 30 cmds) +OK cdrafts-split/PrefixGuess.ec (cli, 25 cmds) +OK cdrafts-split/PrefixHybrid.ec (cli, 78 cmds) +OK cdrafts-split/RoleGrind.ec (cli, 20 cmds) +OK cdrafts-split/GrindReplay.ec (cli, 19 cmds) +OK cdrafts-split/GrindWitness.ec (cli, 23 cmds) +OK cdrafts-split/PersistentGrind.ec (cli, 21 cmds) +OK cdrafts-split/RTailFresh.ec (cli, 47 cmds) +OK cdrafts-split/IdealWitness.ec (cli, 51 cmds) +OK cdrafts-split/RawRHistory.ec (cli, 29 cmds) +OK cdrafts-split/RawTrial.ec (cli, 27 cmds) +OK cdrafts-split/RTailMessages.ec (cli, 33 cmds) +OK cdrafts-split/RTailContexts.ec (cli, 41 cmds) +OK cdrafts-split/FORSC10Digest.ec (cli, 30 cmds) +OK cdrafts-split/GrindTail.ec (cli, 33 cmds) +OK cdrafts-split/StreamBound.ec (cli, 54 cmds) +OK cdrafts-split/TrialExpectation.ec (cli, 25 cmds) +OK cdrafts-split/StreamExpectation.ec (cli, 35 cmds) +OK cdrafts-split/GrindExhaustion.ec (cli, 24 cmds) +OK cdrafts-split/ExhaustionCharges.ec (cli, 11 cmds) +OK cdrafts-split/ContextExhaustion.ec (cli, 31 cmds) +OK cdrafts-split/AcceptedContexts.ec (cli, 39 cmds) +OK cdrafts-split/DigestPrefix.ec (cli, 27 cmds) +OK cdrafts-split/FreshCoverage.ec (cli, 100 cmds) +OK cdrafts-split/AcceptedSampling.ec (cli, 57 cmds) +OK cdrafts-split/TrialAccepted.ec (cli, 25 cmds) +OK cdrafts-split/StreamAccepted.ec (cli, 51 cmds) +OK cdrafts-split/AcceptedCoverage.ec (cli, 29 cmds) +OK cdrafts-split/DigestWindow.ec (cli, 24 cmds) +OK cdrafts-split/AcceptedHypertree.ec (cli, 35 cmds) +OK cdrafts-split/KeygenPrefixes.ec (cli, 39 cmds) +OK cdrafts-split/RoleGrindCost.ec (cli, 24 cmds) +OK cdrafts-split/RawKeygen.ec (cli, 34 cmds) +OK cdrafts-split/RawKeygenCost.ec (cli, 41 cmds) +OK cdrafts-split/PreparedGrind.ec (cli, 22 cmds) +OK cdrafts-split/RawFors.ec (cli, 21 cmds) +OK cdrafts-split/PrefixGames.ec (cli, 31 cmds) +OK cdrafts-split/PrefixBound.ec (cli, 16 cmds) +OK cdrafts-split/PrefixIdeal.ec (cli, 19 cmds) +OK cdrafts-split/PreparedHistory.ec (cli, 23 cmds) +OK cdrafts-split/PreparedExhaustion.ec (cli, 38 cmds) +OK cdrafts-split/PreparedRaw.ec (cli, 21 cmds) +OK cdrafts-split/KeygenExhaustion.ec (cli, 21 cmds) +OK cdrafts-split/PhysicalKeygenCost.ec (cli, 47 cmds) +OK cdrafts-split/RawShuffle.ec (cli, 47 cmds) +OK cdrafts-split/RawForest.ec (cli, 27 cmds) +OK cdrafts-split/RawWots.ec (cli, 42 cmds) +OK cdrafts-split/RawMerkle.ec (cli, 18 cmds) +OK cdrafts-split/RawLayer.ec (cli, 18 cmds) +OK cdrafts-split/RawSigner.ec (cli, 28 cmds) +OK cdrafts-split/RawSignature.ec (cli, 43 cmds) +OK cdrafts-split/RawCodec.ec (cli, 30 cmds) +OK cdrafts-split/RawSlices.ec (cli, 23 cmds) +OK cdrafts-split/RawDecode.ec (cli, 55 cmds) +OK cdrafts-split/FullSession.ec (cli, 31 cmds) +OK cdrafts-split/ByteSession.ec (cli, 38 cmds) +OK cdrafts-split/BuilderTotality.ec (cli, 27 cmds) +OK cdrafts-split/PathReplay.ec (cli, 42 cmds) +OK cdrafts-split/PathOracle.ec (cli, 20 cmds) +OK cdrafts-split/RawPathReplay.ec (cli, 13 cmds) +OK cdrafts-split/DyadicStack.ec (cli, 91 cmds) +OK cdrafts-split/NodeGridIndex.ec (cli, 47 cmds) +OK cdrafts-split/NodeGridPath.ec (cli, 43 cmds) +OK cdrafts-split/NodeCatalog.ec (cli, 47 cmds) +OK cdrafts-split/StackAlignment.ec (cli, 38 cmds) +OK cdrafts-split/NodeCatalogDomain.ec (cli, 89 cmds) +OK cdrafts-split/StackPowers.ec (cli, 10 cmds) +OK cdrafts-split/LinearChain.ec (cli, 50 cmds) +OK cdrafts-split/LinearOracle.ec (cli, 12 cmds) +OK cdrafts-split/RawChainTrace.ec (cli, 25 cmds) +OK cdrafts-split/WotsReference.ec (cli, 32 cmds) +OK cdrafts-split/RawLeafChains.ec (cli, 16 cmds) +OK cdrafts-split/WotsReferenceOracle.ec (cli, 17 cmds) +OK cdrafts-split/WotsReferenceStep.ec (cli, 13 cmds) +OK cdrafts-split/WotsChainReference.ec (cli, 16 cmds) +OK cdrafts-split/WotsLeafReference.ec (cli, 25 cmds) +OK cdrafts-split/MonotoneHistory.ec (cli, 21 cmds) +OK cdrafts-split/RawCountRecorded.ec (cli, 23 cmds) +OK cdrafts-split/WotsReferenceRoot.ec (cli, 22 cmds) +OK cdrafts-split/WotsCatalog.ec (cli, 24 cmds) +OK cdrafts-split/CatalogDeterminism.ec (cli, 18 cmds) +OK cdrafts-split/WotsRootDeterminism.ec (cli, 17 cmds) +OK cdrafts-split/MerkleRootWitness.ec (cli, 20 cmds) +OK cdrafts-split/RawHistoryPreservation.ec (cli, 17 cmds) +OK cdrafts-split/GrindReturned.ec (cli, 32 cmds) +OK cdrafts-split/RawForsPathReplay.ec (cli, 18 cmds) +OK cdrafts-split/ForsOpening.ec (cli, 11 cmds) +OK cdrafts-split/ForestOpenings.ec (cli, 27 cmds) +OK cdrafts-split/ForestWitness.ec (cli, 21 cmds) +OK cdrafts-split/RecoveryHistory.ec (cli, 16 cmds) +OK cdrafts-split/ForsComponentHistory.ec (cli, 34 cmds) +OK cdrafts-split/ForestOracle.ec (cli, 22 cmds) +OK cdrafts-split/RawWidths.ec (cli, 54 cmds) +OK cdrafts-split/RawTreeWidths.ec (cli, 54 cmds) +OK cdrafts-split/ForsOneRecorded.ec (cli, 17 cmds) +OK cdrafts-split/ForestOneStep.ec (cli, 8 cmds) +OK cdrafts-split/ShuffleBytes.ec (cli, 22 cmds) +OK cdrafts-split/ShuffleSwap.ec (cli, 18 cmds) +OK cdrafts-split/RawShufflePermutation.ec (cli, 19 cmds) +OK cdrafts-split/ForestSignRecorded.ec (cli, 25 cmds) +OK cdrafts-split/PathCollision.ec (cli, 31 cmds) +OK cdrafts-split/PathInputs.ec (cli, 41 cmds) +OK cdrafts-split/ForsLeafInputs.ec (cli, 17 cmds) +OK cdrafts-split/RawForsComparison.ec (cli, 12 cmds) +OK cdrafts-split/ForsOpeningReplay.ec (cli, 16 cmds) +OK cdrafts-split/FixedHashReplay.ec (cli, 7 cmds) +OK cdrafts-split/ForestRecoveryReplay.ec (cli, 21 cmds) +OK cdrafts-split/ForestOpening.ec (cli, 23 cmds) +OK cdrafts-split/LinearSplit.ec (cli, 8 cmds) +OK cdrafts-split/WotsChainSplit.ec (cli, 10 cmds) +OK cdrafts-split/WotsSignatureValue.ec (cli, 25 cmds) +OK cdrafts-split/RawWotsFill.ec (cli, 18 cmds) +OK cdrafts-split/PreparationHistory.ec (cli, 16 cmds) +OK cdrafts-split/ChainHistory.ec (cli, 16 cmds) +OK cdrafts-split/RawChainReplay.ec (cli, 8 cmds) +OK cdrafts-split/FixedChainReplay.ec (cli, 17 cmds) +OK cdrafts-split/FixedWotsChains.ec (cli, 23 cmds) +OK cdrafts-split/WotsFillCorrect.ec (cli, 14 cmds) +OK cdrafts-split/WotsCountWitness.ec (cli, 8 cmds) +OK cdrafts-split/WotsSignWitness.ec (cli, 22 cmds) +OK cdrafts-split/LayerPath.ec (cli, 26 cmds) +OK cdrafts-split/LayerWitness.ec (cli, 18 cmds) +OK cdrafts-split/LayerWotsSign.ec (cli, 10 cmds) +OK cdrafts-split/RawWotsRecovery.ec (cli, 26 cmds) +OK cdrafts-split/WotsOpeningRecovery.ec (cli, 12 cmds) +OK cdrafts-split/RawPathComparison.ec (cli, 12 cmds) +OK cdrafts-split/LayerRecoveryCorrect.ec (cli, 16 cmds) +OK cdrafts-split/CatalogForest.ec (cli, 39 cmds) +OK cdrafts-split/AuthSlots.ec (cli, 37 cmds) +OK cdrafts-split/AuthCaptureSchedule.ec (cli, 37 cmds) +OK cdrafts-split/StackProjection.ec (cli, 16 cmds) +OK cdrafts-split/CatalogStack.ec (cli, 37 cmds) +OK cdrafts-split/AuthPhase.ec (cli, 58 cmds) +OK cdrafts-split/MerkleBuildWitness.ec (cli, 30 cmds) +OK cdrafts-split/MerkleCatalogObserver.ec (cli, 35 cmds) +OK cdrafts-split/ForsBuildWitness.ec (cli, 33 cmds) +OK cdrafts-split/ForsCatalogObserver.ec (cli, 38 cmds) +OK cdrafts-split/CatalogWidths.ec (cli, 53 cmds) +OK cdrafts-split/CatalogPath.ec (cli, 21 cmds) +OK cdrafts-split/BuilderPath.ec (cli, 14 cmds) +OK cdrafts-split/CatalogMerge.ec (cli, 28 cmds) +OK cdrafts-split/CatalogOracle.ec (cli, 27 cmds) +OK cdrafts-split/MerkleCatalogSound.ec (cli, 43 cmds) +OK cdrafts-split/CatalogForestMerge.ec (cli, 16 cmds) +OK cdrafts-split/AuthCaptureIndex.ec (cli, 43 cmds) +OK cdrafts-split/AuthCaptureValue.ec (cli, 19 cmds) +OK cdrafts-split/AuthSteps.ec (cli, 32 cmds) +OK cdrafts-split/AuthStepInvariant.ec (cli, 37 cmds) +OK cdrafts-split/AuthAdvance.ec (cli, 37 cmds) +OK cdrafts-split/MerkleCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/MerkleBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawWotsReference.ec (cli, 15 cmds) +OK cdrafts-split/WotsCatalogOracle.ec (cli, 31 cmds) +OK cdrafts-split/MerkleWotsLeaves.ec (cli, 16 cmds) +OK cdrafts-split/MerkleBuilderWots.ec (cli, 44 cmds) +OK cdrafts-split/LayerSignWitness.ec (cli, 15 cmds) +OK cdrafts-split/LayerRecoveryHistory.ec (cli, 18 cmds) +OK cdrafts-split/LayerSignOpening.ec (cli, 29 cmds) +OK cdrafts-split/SignerCoordinates.ec (cli, 27 cmds) +OK cdrafts-split/LayerOpeningReplay.ec (cli, 17 cmds) +OK cdrafts-split/SignerLayerTrace.ec (cli, 23 cmds) +OK cdrafts-split/SignerFinishState.ec (cli, 28 cmds) +OK cdrafts-split/SignerComponentHistory.ec (cli, 29 cmds) +OK cdrafts-split/SignerRecoveryStep.ec (cli, 12 cmds) +OK cdrafts-split/SignerVerifierReplay.ec (cli, 25 cmds) +OK cdrafts-split/IndependentWidths.ec (cli, 33 cmds) +OK cdrafts-split/BuildRootProjection.ec (cli, 15 cmds) +OK cdrafts-split/RawMerkleRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/SignerAccepted.ec (cli, 41 cmds) +OK cdrafts-split/SignerReturned.ec (cli, 41 cmds) +OK cdrafts-split/SignerGrindRoot.ec (cli, 16 cmds) +OK cdrafts-split/SignerForestStep.ec (cli, 13 cmds) +OK cdrafts-split/MerkleRootPersistence.ec (cli, 21 cmds) +OK cdrafts-split/LayerSignCorrect.ec (cli, 34 cmds) +OK cdrafts-split/LayerPriorRoot.ec (cli, 26 cmds) +OK cdrafts-split/SignerLayerStep.ec (cli, 18 cmds) +OK cdrafts-split/SignerFinishWitness.ec (cli, 14 cmds) +OK cdrafts-split/SignerFinishRecorded.ec (cli, 21 cmds) +OK cdrafts-split/SignerReturnedOpening.ec (cli, 25 cmds) +OK cdrafts-split/RawCompositeWidths.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerWidths.ec (cli, 33 cmds) +OK cdrafts-split/IndependentSignerWidth.ec (cli, 19 cmds) +OK cdrafts-split/RawByteValues.ec (cli, 42 cmds) +OK cdrafts-split/RawWotsBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawTreeBytes.ec (cli, 50 cmds) +OK cdrafts-split/RawCompositeBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerBytes.ec (cli, 51 cmds) +OK cdrafts-split/EncodedSlices.ec (cli, 35 cmds) +OK cdrafts-split/EncodedLayer.ec (cli, 32 cmds) +OK cdrafts-split/EncodedSignatureSlices.ec (cli, 47 cmds) +OK cdrafts-split/EncodedSignature.ec (cli, 39 cmds) +OK cdrafts-split/SignerEncodingCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualByteSignerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualForestCorrect.ec (cli, 24 cmds) +OK cdrafts-split/ActualLayerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualSignerCorrect.ec (cli, 31 cmds) +OK cdrafts-split/WotsSignCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualWotsCorrect.ec (cli, 28 cmds) +OK cdrafts-split/PrefixAudit.ec (cli, 60 cmds) +OK cdrafts-split/AuditPrefix.ec (cli, 54 cmds) +OK cdrafts-split/AuditComplete.ec (cli, 35 cmds) +OK cdrafts-split/BadEncCountermodel.ec (cli, 164 cmds) +OK cdrafts-split/TCollResEnum.ec (cli, 135 cmds) +OK cdrafts-split/BadEncSplit.ec (cli, 52 cmds) +OK cdrafts-split/BadEncToTColl.ec (cli, 91 cmds) +OK cdrafts-split/BadEncStep4.ec (cli, 196 cmds) +OK cdrafts-split/RawForsCost.ec (cli, 69 cmds) +OK cdrafts-split/RawForestCost.ec (cli, 62 cmds) +OK cdrafts-split/RawWotsCost.ec (cli, 76 cmds) +OK cdrafts-split/RawMerkleCost.ec (cli, 40 cmds) +OK cdrafts-split/RawLayerCost.ec (cli, 38 cmds) +OK cdrafts-split/RawSignerCost.ec (cli, 68 cmds) +OK cdrafts-split/FullSessionCost.ec (cli, 45 cmds) +OK cdrafts-split/PrefixState.ec (cli, 29 cmds) +OK cdrafts-split/FullPrefix.ec (cli, 21 cmds) +OK cdrafts-split/ByteBound.ec (cli, 21 cmds) +OK cdrafts-split/ByteAudit.ec (cli, 50 cmds) +OK cdrafts-split/NodeDistribution.ec (cli, 33 cmds) +OK cdrafts-split/ProjectedBirthday.ec (cli, 22 cmds) +OK cdrafts-split/MemoNodeCollision.ec (cli, 18 cmds) +OK cdrafts-split/ProjectedMemoOracle.ec (cli, 42 cmds) +OK cdrafts-split/PublicCollisionGame.ec (cli, 22 cmds) +OK cdrafts-split/PublicNodeZero.ec (cli, 40 cmds) +OK cdrafts-split/PublicCollisionState.ec (cli, 24 cmds) +OK cdrafts-split/BytePublicCollision.ec (cli, 32 cmds) +OK cdrafts-split/BytePublicNodeBad.ec (cli, 30 cmds) +OK cdrafts-split/GrindTrace.ec (cli, 42 cmds) +OK cdrafts-split/GrindTraceRecorded.ec (cli, 35 cmds) +OK cdrafts-split/GrindTraceReplay.ec (cli, 50 cmds) +OK cdrafts-split/SignerTrace.ec (cli, 42 cmds) +OK cdrafts-split/MessageHistory.ec (cli, 69 cmds) +OK cdrafts-split/VerifierHistory.ec (cli, 22 cmds) +OK cdrafts-split/RootSessionHistory.ec (cli, 40 cmds) +OK cdrafts-split/ForestRecoveryRecord.ec (cli, 49 cmds) +OK cdrafts-split/LinearCollision.ec (cli, 25 cmds) +OK cdrafts-split/WotsRecoveryTrace.ec (cli, 42 cmds) +OK cdrafts-split/RecoveryTraceOracle.ec (cli, 23 cmds) +OK cdrafts-split/RawRecoveryTrace.ec (cli, 21 cmds) +OK cdrafts-split/WotsRecoveryHistory.ec (cli, 43 cmds) +OK cdrafts-split/LayerRecoveryRecord.ec (cli, 27 cmds) +OK cdrafts-split/VerifierForestRecords.ec (cli, 35 cmds) +OK cdrafts-split/RecoveryCompression.ec (cli, 37 cmds) +OK cdrafts-split/WotsZeroSentinel.ec (cli, 19 cmds) +OK cdrafts-split/VerifierWotsOpening.ec (cli, 21 cmds) +OK cdrafts-split/RootCoverage.ec (cli, 53 cmds) +OK cdrafts-split/NodeCollisionEvents.ec (cli, 22 cmds) +OK cdrafts-split/LayerRecordExtraction.ec (cli, 23 cmds) +OK cdrafts-split/VerifierLayerRecords.ec (cli, 29 cmds) +OK cdrafts-split/SubtreeOpeningCases.ec (cli, 27 cmds) +OK cdrafts-split/SecretLeafOrigins.ec (cli, 41 cmds) +OK cdrafts-split/SecretLeafOracle.ec (cli, 20 cmds) +OK cdrafts-split/ForsPrivateLeaves.ec (cli, 21 cmds) +OK cdrafts-split/ForsRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/ForestRootWitness.ec (cli, 27 cmds) +OK cdrafts-split/ForestCoordinates.ec (cli, 13 cmds) +OK cdrafts-split/ForsRecordExtraction.ec (cli, 20 cmds) +OK cdrafts-split/ForestRecordExtraction.ec (cli, 66 cmds) +OK cdrafts-split/ForestOpeningCases.ec (cli, 33 cmds) +OK cdrafts-split/SessionForestExtraction.ec (cli, 19 cmds) +OK cdrafts-split/TopVerifierOpening.ec (cli, 6 cmds) +OK cdrafts-split/RawWotsExtraction.ec (cli, 13 cmds) +OK cdrafts-split/LayerExtractionHistory.ec (cli, 12 cmds) +OK cdrafts-split/ForsCatalogSound.ec (cli, 45 cmds) +OK cdrafts-split/ForsCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/ForsBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawBuilderReference.ec (cli, 35 cmds) +OK cdrafts-split/MerkleBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/LayerWotsExtraction.ec (cli, 19 cmds) +OK cdrafts-split/RootLayerExtraction.ec (cli, 16 cmds) +OK cdrafts-split/RootExtractionHistory.ec (cli, 9 cmds) +OK cdrafts-split/VerifierTopExtraction.ec (cli, 24 cmds) +OK cdrafts-split/SessionTopExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameTopExtraction.ec (cli, 27 cmds) +OK cdrafts-split/ByteGameForestExtraction.ec (cli, 23 cmds) +OK cdrafts-split/ByteForestOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/SessionSubtreeExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameSubtreeExtraction.ec (cli, 23 cmds) +OK cdrafts-split/RHistoryOps.ec (cli, 53 cmds) +OK cdrafts-split/PreparedFinish.ec (cli, 29 cmds) +OK cdrafts-split/SignerMessages.ec (cli, 30 cmds) +OK cdrafts-split/FullMessageHistory.ec (cli, 29 cmds) +OK cdrafts-split/RSession.ec (cli, 28 cmds) +OK cdrafts-split/RSessionHistory.ec (cli, 43 cmds) +OK cdrafts-split/SignerRecorded.ec (cli, 30 cmds) +OK cdrafts-split/FullHistory.ec (cli, 47 cmds) +OK cdrafts-split/ByteHistory.ec (cli, 32 cmds) +OK cdrafts-split/DigestCoordinates.ec (cli, 46 cmds) +OK cdrafts-split/ByteReplay.ec (cli, 31 cmds) +OK cdrafts-split/ByteSubtreeOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/ByteTopOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/C10BoundedGrind.ec (cli, 36 cmds) +OK cdrafts-split/C10BoundedSigning.ec (cli, 87 cmds) +OK cdrafts-split/C10WOTSCorrect.ec (cli, 65 cmds) +OK cdrafts-split/C10BoundedHypertree.ec (cli, 111 cmds) +OK cdrafts-split/C10HypertreeCoverage.ec (cli, 53 cmds) +OK cdrafts-split/C10HypertreeCorrect.ec (cli, 180 cmds) +OK cdrafts-split/C10BoundedGame.ec (cli, 66 cmds) +OK cdrafts-split/GFailCharged.ec (cli, 103 cmds) +OK cdrafts-split/C10BoundedMA.ec (cli, 87 cmds) +OK cdrafts-split/C10CubeCorrect.ec (cli, 111 cmds) +OK cdrafts-split/C10CubeConstruction.ec (cli, 247 cmds) +OK cdrafts-split/C10ReductionChoose.ec (cli, 65 cmds) +OK cdrafts-split/C10ReductionForge.ec (cli, 64 cmds) +OK cdrafts-split/C10AcceptedReduction.ec (cli, 45 cmds) +OK cdrafts-split/VecDP.ec (cli, 5 cmds) +OK cdrafts-split/CountDS.ec (cli, 132 cmds) +OK cdrafts-split/C10DigitUniform.ec (cli, 71 cmds) +OK cdrafts-split/C10SurfaceKernel.ec (cli, 23 cmds) +OK cdrafts-split/C10Surface.ec (cli, 67 cmds) +OK cdrafts-split/C10Encoding.ec (cli, 77 cmds) +OK cdrafts-split/C10BoundedIID.ec (cli, 39 cmds) +OK cdrafts-split/C10BoundedLeaf.ec (cli, 55 cmds) +OK cdrafts-split/C10BoundedReduction.ec (cli, 12 cmds) +OK cdrafts-split/C10DeployedCapstone.ec (cli, 64 cmds) +OK cdrafts-split/C10DeployedGeometry.ec (cli, 121 cmds) +OK cdrafts-split/C10DeployedScope.ec (cli, 91 cmds) +OK cdrafts-split/C10HypertreeAccepted.ec (cli, 59 cmds) +OK cdrafts-split/XmssmtCCCharged.ec (cli, 66 cmds) +OK cdrafts-split/C10HypertreeCharged.ec (cli, 12 cmds) +OK cdrafts-split/SharedROBounded.ec (cli, 52 cmds) +OK cdrafts-split/C10SharedSearch.ec (cli, 31 cmds) +OK cdrafts-split/C10SearchBounds.ec (cli, 53 cmds) +OK cdrafts-split/C10SpecControls.ec (cli, 11 cmds) +OK cdrafts-split/C10StatefulSearch.ec (cli, 19 cmds) +OK cdrafts-split/SessionDigest.ec (cli, 37 cmds) +OK cdrafts-split/ClassifiedHistory.ec (cli, 59 cmds) +OK cdrafts-split/ClassifiedGrind.ec (cli, 32 cmds) +OK cdrafts-split/ClassifiedSigner.ec (cli, 42 cmds) +OK cdrafts-split/ClassifiedSession.ec (cli, 73 cmds) +OK cdrafts-split/ClassifiedBound.ec (cli, 54 cmds) +OK cdrafts-split/DarkSide.ec (cli, 153 cmds) +OK cdrafts-split/DarkSideC10.ec (cli, 14 cmds) +OK cdrafts-split/DigestPair.ec (cli, 28 cmds) +OK cdrafts-split/ExposureLog.ec (cli, 21 cmds) +OK cdrafts-split/ExposureAccounting.ec (cli, 31 cmds) +OK cdrafts-split/ForestReferenceHistory.ec (cli, 36 cmds) +OK cdrafts-split/ForsBuilderPrivate.ec (cli, 42 cmds) +OK cdrafts-split/ForsRootRecording.ec (cli, 29 cmds) +OK cdrafts-split/ForsPrivateEntry.ec (cli, 22 cmds) +OK cdrafts-split/ForsKnownSecret.ec (cli, 12 cmds) +OK cdrafts-split/ForsSignWitness.ec (cli, 24 cmds) +OK cdrafts-split/ForsReturnedRoot.ec (cli, 30 cmds) +OK cdrafts-split/ForestRootPrefix.ec (cli, 32 cmds) +OK cdrafts-split/ForestRootRecording.ec (cli, 40 cmds) +OK cdrafts-split/SignerForestReference.ec (cli, 46 cmds) +OK cdrafts-split/HonestForestMessages.ec (cli, 32 cmds) +OK cdrafts-split/LayerReturnedRoot.ec (cli, 45 cmds) +OK cdrafts-split/SignerSubtreeReference.ec (cli, 31 cmds) +OK cdrafts-split/HonestSubtreeMessages.ec (cli, 32 cmds) +OK cdrafts-split/ExposureSupport.ec (cli, 36 cmds) +OK cdrafts-split/ExposureReferences.ec (cli, 37 cmds) +OK cdrafts-split/ExposureComponents.ec (cli, 29 cmds) +OK cdrafts-split/ExposureDriver.ec (cli, 35 cmds) +OK cdrafts-split/ExposureWidths.ec (cli, 58 cmds) +OK cdrafts-split/ExposurePrivate.ec (cli, 29 cmds) +OK cdrafts-split/ForsRootDeterminism.ec (cli, 19 cmds) +OK cdrafts-split/ExposureCoverage.ec (cli, 67 cmds) +OK cdrafts-split/ExposureHistory.ec (cli, 27 cmds) +OK cdrafts-split/ExposureSessionHistory.ec (cli, 16 cmds) +OK cdrafts-split/ExposureGameHistory.ec (cli, 21 cmds) +OK cdrafts-split/ExposureForge.ec (cli, 20 cmds) +OK cdrafts-split/ExposurePartition.ec (cli, 33 cmds) +OK cdrafts-split/ExposurePartitionGame.ec (cli, 35 cmds) +OK cdrafts-split/ExposurePartitionHop.ec (cli, 20 cmds) +OK cdrafts-split/FORS_C.ec (cli, 95 cmds) +OK cdrafts-split/FORS_C_TreePort.ec (cli, 289 cmds) +OK cdrafts-split/LeafOrigins.ec (cli, 36 cmds) +OK cdrafts-split/LeafOriginOracle.ec (cli, 16 cmds) +OK cdrafts-split/ForsLeafOrigins.ec (cli, 20 cmds) +OK cdrafts-split/ForsBuilderSecret.ec (cli, 42 cmds) +OK cdrafts-split/ForsBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignCorrect.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignRecord.ec (cli, 19 cmds) +OK cdrafts-split/FullFailure.ec (cli, 18 cmds) +OK cdrafts-split/GprocVI.ec (cli, 190 cmds) +OK cdrafts-split/SphincsC10CapstoneCharged.ec (cli, 48 cmds) +OK cdrafts-split/GprocT1Opre.ec (cli, 880 cmds) +OK cdrafts-split/GprocT2Trh.ec (cli, 1184 cmds) +OK cdrafts-split/GprocT3Trco.ec (cli, 385 cmds) +OK cdrafts-split/GprocQBound.ec (cli, 12 cmds) +OK cdrafts-split/GprocQWired.ec (cli, 46 cmds) +OK cdrafts-split/GprocChargedQWired.ec (cli, 53 cmds) +OK cdrafts-split/WotsLegCharged.ec (cli, 145 cmds) +OK cdrafts-split/GprocWotsNamed.ec (cli, 27 cmds) +OK cdrafts-split/GprocTCollNamed.ec (cli, 29 cmds) +OK cdrafts-split/GrindHypertree.ec (cli, 12 cmds) +OK cdrafts-split/GrindJointCoverage.ec (cli, 49 cmds) +OK cdrafts-split/HonestByteContext.ec (cli, 37 cmds) +OK cdrafts-split/HonestByteCost.ec (cli, 20 cmds) +OK cdrafts-split/HonestBytePhysical.ec (cli, 18 cmds) +OK cdrafts-split/LayerBuildExtraction.ec (cli, 23 cmds) +OK cdrafts-split/PublicCollisionBound.ec (cli, 14 cmds) +OK cdrafts-split/RSessionCost.ec (cli, 19 cmds) +OK cdrafts-split/RSessionBound.ec (cli, 43 cmds) +OK cdrafts-split/SessionKeygen.ec (cli, 43 cmds) +OK cdrafts-split/RawSession.ec (cli, 30 cmds) +OK cdrafts-split/SessionPhysical.ec (cli, 30 cmds) +OK cdrafts-split/RawSessionBound.ec (cli, 11 cmds) +OK cdrafts-split/RawSessionCost.ec (cli, 25 cmds) +OK cdrafts-split/SessionClosedForm.ec (cli, 22 cmds) +OK cdrafts-split/TotalBuilderReference.ec (cli, 13 cmds) +OK cdrafts-split/VerifierWotsReplay.ec (cli, 12 cmds) +OK cdrafts-split/WOTS_C_Multi.ec (cli, 172 cmds) +OK cdrafts-split/WotsKeyExtraction.ec (cli, 22 cmds) +### CLI_FILES_RUN=438 CLI_DISAGREEMENTS=0 +### PHASE 1f — WATCHED FILES (T1/T2/T3 branch proofs; NOT certified) +### WATCHED_FILES_RUN=0 WATCHED_FAILURES=0 +### PHASE 1b — NAMED RESULTS EXIST AS LEMMAS (not axioms) +OK EUFCMA_SPHINCS_PLUS_C10_GROUNDED is a lemma in cdrafts-split/SphincsC10CapstoneWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CONTENTFUL_AT_DEPLOYED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED is a lemma in cdrafts-split/SphincsC10CapstoneCharged.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED_QWIRED is a lemma in cdrafts-split/GprocChargedQWired.ec +### PHASE 1c — STATEMENT DIGESTS (names are not enough) +OK unique statement pins: 3000 +### PHASE 1h — STATEMENT COVERAGE (files -> manifest; the other direction) +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +### PHASE 1g — POLICY-CAP QUARANTINE (cdrafts-split/C10DeployedScope.ec) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +### PHASE 2 — CONE CENSUS vs cert-baseline-split.tsv (ADDITIONS FATAL) +cone: keys now=2075 baseline=2075 | ROWS now=2155 baseline=2155 | added=0 removed=0 + ledger=248 parameters=217 bindings=371 meaning=555 definitions=764 total=2155 +### PHASE 2b — CENSUS REGRESSION CANARY (admitted.) +OK census detects 'admitted.' (canary caught) +### PHASE 2c — DIGEST DISCRIMINATION CANARY +OK module-type digest discriminates (module-type:1ed74e3a5614 vs module-type:f9d6086d602e) +OK admit statement digest discriminates (admit:7c56af2d53b1 vs admit:4eeb8521bd94) +OK no live row carries a degenerate digest +OK no live admit row degraded to 'nostmt' +### PHASE 3 — CONTROLS (polarity AND declared reason) +OK control scratch/vac_probe_full.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/probe_len46.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/c10_spec_vacuity_canary.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control cdrafts-split/C10SpecControls.ec (MUST-PASS) +OK control scratch/tier0_degenerate_encoder_excluded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/encode_compat_derivable.ec (MUST-PASS) +OK control scratch/badenc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlZ.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocTCollNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_lemma.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_pos_op.ec (MUST-PASS) +OK control scratch/_scope_pos_lemma.ec (MUST-PASS) +OK control scratch/_scope_env_n_m.ec (MUST-PASS) +OK control scratch/_scope_neg_op_GprocChargedQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SphincsC10CapstoneWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocWotsNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CounterWrongCardinality.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BytesWrongPadding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10GrindSkip.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/KctlC.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlE.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlSum204.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlLen42.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlVal.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderPositive.ec (MUST-PASS) +OK control scratch/C10IIDPositive.ec (MUST-PASS) +OK control scratch/C10EncoderWrongOrder.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderWrongTarget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDErasedFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDMissingSuccessFactor.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGamePositive.ec (MUST-PASS) +OK control scratch/C10BoundedGameNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGameResetFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAPositive.ec (MUST-PASS) +OK control scratch/C10BoundedMAEraseHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAAppendFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePositive.ec (MUST-PASS) +OK control scratch/C10BoundedHypertreeNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePartialRelease.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedLeafPositive.ec (MUST-PASS) +OK control scratch/C10BoundedLeafNoPKSeparation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HypertreeCoveragePositive.ec (MUST-PASS) +OK control scratch/SharedROBoundedPositive.ec (MUST-PASS) +OK control scratch/C10RandomizerPositive.ec (MUST-PASS) +OK control scratch/C10HashDomainsPositive.ec (MUST-PASS) +OK control scratch/C10SharedSearchPositive.ec (MUST-PASS) +OK control scratch/C10SearchBoundsPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeChargedPositive.ec (MUST-PASS) +OK control scratch/SharedROKnownNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/SharedRODuplicateNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HashWrongLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CoverageSinglePath.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedPositive.ec (MUST-PASS) +OK control scratch/C10FORSNoExhaustion.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RandomizerWrongHalf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedSMT.ec (MUST-PASS) +OK control scratch/C10HypertreeAcceptedPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeObserverPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10AcceptedCubeNoHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawOraclePositive.ec (MUST-PASS) +OK control scratch/C10RawCachedAcceptance.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawReplayDraw.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10StatefulLostSuccess.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_C10HypertreeAccepted.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSessionPositive.ec (MUST-PASS) +OK control scratch/C10SessionAvailabilityPositive.ec (MUST-PASS) +OK control scratch/C10ByteNoLengthGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteNoValueGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullPublicIsPhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSecretPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SessionClosedForm.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSessionCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawDecode.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullFailurePositive.ec (MUST-PASS) +OK control scratch/C10FullFailureResume.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10QWithoutFreshness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QWithoutRevisits.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QAdaptiveOpeningsPositive.ec (MUST-PASS) +OK control scratch/C10QAdaptiveOpeningsFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindJointCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturned.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindHypertree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2FreshRepeatFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2HistoryPositive.ec (MUST-PASS) +OK control scratch/C10Q2NovelPositive.ec (MUST-PASS) +OK control scratch/C10Q2PrivateStateExposed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2RepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q2UnaccountedRepeat.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2WithoutFailStop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedSession.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3ForsRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3MerkleRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3PrivateRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WidthPositive.ec (MUST-PASS) +OK control scratch/C10Q3WithoutFORSLeaf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q4ForsWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q4MerkleWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WithoutCatalogWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WrongRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BuildRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_TotalBuilderReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q5ForsWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q5MerkleWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5WithoutLeafOrigins.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderSecret.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q6LastPositive.ec (MUST-PASS) +OK control scratch/C10Q6WithoutPrivateEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WrongSignatureProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderPrivate.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q7ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q7WithoutAcceptedCount.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutPrivateHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongLeafProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualWotsCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawShufflePermutation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q8ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q8WithoutCompressionEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutSpecialEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutTreeOpenings.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WrongSpecialTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualForestCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestSignRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q9ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9LastPositive.ec (MUST-PASS) +OK control scratch/C10Q9WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutSecondWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualLayerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderWots.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawMerkleRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q10ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q10WithoutAcceptedDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutDigestEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongTopLayer.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerFinishRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturnedOpening.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerVerifierReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11CountBoundaryPositive.ec (MUST-PASS) +OK control scratch/C10Q11ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q11ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q11WithoutCountRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongFormatLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualByteSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_EncodedSignature.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerBytes.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerEncodingCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q12DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12UnderchargedCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteContext.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestBytePhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q13ClientsPositive.ec (MUST-PASS) +OK control scratch/C10Q13UnderchargedClient.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13ZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeCollisionEvents.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeDistribution.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ProjectedBirthday.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q14DropsCapBinding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14Undercharged.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BytePublicCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionState.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q15DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15DropsZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15SentinelWithoutEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15ZeroWitnessPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_BytePublicNodeBad.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicNodeZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsZeroSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WotsPositive.ec (MUST-PASS) +OK control scratch/C10Q16DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRows.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WrongCounterDomain.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutTargetBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutLayerWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRootMatch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16TracePositive.ec (MUST-PASS) +OK control scratch/C10Q16ReplayPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DomainAndCollisionPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RawWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsKeyExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerBuildExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierWotsReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LinearCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RecoveryCompression.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawRecoveryTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutIndexRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q17VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutVerifierRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q17WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17HopPositive.ec (MUST-PASS) +OK control scratch/C10Q17DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17IndexEdgesPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RootCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RootSessionHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteTopOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutRecordedRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutZeroGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q18ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsUnrecordedCase.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q18WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18HopPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18RecordedRootPersists.ec (MUST-PASS) +OK control scratch/_scope_neg_op_LayerRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierLayerRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestSubtreeMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SubtreeOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameSubtreeExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteSubtreeOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19RecoveryPositive.ec (MUST-PASS) +OK control scratch/C10Q19ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutIndexBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19LeafPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutLeafWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutForestReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19BuilderPositive.ec (MUST-PASS) +OK control scratch/C10Q19VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q19ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19PersistencePositive.ec (MUST-PASS) +OK control scratch/C10Q19CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsMissingReferences.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q19WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19HopPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SpecialRootPositive.ec (MUST-PASS) +OK control scratch/C10Q19SpecialWrongTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRootRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierForestRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestForestMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestReferenceHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameForestExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteForestOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestWidthAlias.ec (MUST-PASS) +OK control scratch/C10Q20RecordsPositive.ec (MUST-PASS) +OK control scratch/C10Q20DropsFailureBranch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10Q20ClaimsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20EntryPositive.ec (MUST-PASS) +OK control scratch/C10Q20AdaptivePositive.ec (MUST-PASS) +OK control scratch/C10Q20AccountingPositive.ec (MUST-PASS) +OK control scratch/C10Q20SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q20NegativeCap.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ReferencesPositive.ec (MUST-PASS) +OK control scratch/C10Q20UnloggedReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20WrongDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +Traceback (most recent call last): + File "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/scripts/run_easycrypt_split.py", line 33, in + subprocess.run(['docker', 'run', '--rm', '--init', '--network', 'none', + File "/usr/lib/python3.12/subprocess.py", line 571, in run + raise CalledProcessError(retcode, process.args, +subprocess.CalledProcessError: Command '['docker', 'run', '--rm', '--init', '--network', 'none', '--env', 'PQ_EASYCRYPT_IMAGE=ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', '--volume', '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port:/source:ro', 'ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3', 'bash', '-lc', 'set -e; eval "$(opam env)"; cp -R /source /tmp/proofs; cd /tmp/proofs; bash cert_gate_split.sh']' returned non-zero exit status 143. +make: *** [Makefile:2226: verify-easycrypt-split] Error 1 +make: Leaving directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-wall-limit-stop.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-wall-limit-stop.json new file mode 100644 index 000000000..c1a112f82 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/paused-q21-wall-limit-stop.json @@ -0,0 +1,16 @@ +{ + "utc": "2026-09-28T19:16:43.401557+00:00", + "reason": "Recorded 18000-second wall bound exceeded after large clock gap; incomplete run cannot authorize landing", + "status": { + "elapsed_minutes": 300.8, + "direct_pass": 438, + "cli_pass": 438, + "controls_pass": 371, + "failures": [], + "latest_phase": "### PHASE 3 \u2014 CONTROLS (polarity AND declared reason)", + "gate_finished": false, + "closure_finished": false + }, + "source_unchanged": true, + "docker_container": "12fa4055f962" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery-inspect.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery-inspect.json new file mode 100644 index 000000000..b5163c754 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery-inspect.json @@ -0,0 +1,57 @@ +{ + "Id": "17af4055e821b15a80ab5529f830d3f2bdfe459ef689ac3a3ad81229fccf1456", + "Created": "2026-09-29T10:11:56.446596056Z", + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 606008, + "ExitCode": 0, + "Error": "", + "StartedAt": "2026-09-29T10:11:56.589005662Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Path": "bash", + "Args": [ + "-lc", + "set -e; eval \"$(opam env)\"; cp -R /source /tmp/proofs; cd /tmp/proofs; bash cert_gate_split.sh" + ], + "Mounts": [ + { + "Type": "bind", + "Source": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port", + "Destination": "/source", + "Mode": "ro", + "RW": false, + "Propagation": "rprivate" + } + ], + "Image": "sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3", + "Config": { + "Image": "ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3", + "Cmd": [ + "bash", + "-lc", + "set -e; eval \"$(opam env)\"; cp -R /source /tmp/proofs; cd /tmp/proofs; bash cert_gate_split.sh" + ], + "Env": [ + "PQ_EASYCRYPT_IMAGE=ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3", + "PATH=/home/charlie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "DEBIAN_FRONTEND=noninteractive", + "OPAMYES=true", + "OPAMVERBOSE=0", + "OPAMJOBS=4" + ] + }, + "HostConfig": { + "NetworkMode": "none", + "AutoRemove": true, + "LogConfig": { + "Type": "json-file", + "Config": {} + } + } +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery.json new file mode 100644 index 000000000..0db54e139 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-daemon-recovery.json @@ -0,0 +1,29 @@ +{ + "utc": "2026-09-29T10:44:40.111923+00:00", + "cause": "Codex server restarted; outer Python result recorder PID605433 disappeared, while original timeout/make/launcher/container and closure worker survived.", + "original_start": { + "started_utc": "2026-09-29T10:11:38.126162+00:00", + "epoch": 1790676698.1261854, + "clock_start": { + "utc": "2026-09-29T10:11:38.126162+00:00", + "epoch": 1790676698.1261854, + "monotonic": 55688.754883375, + "boottime": 166118.295440911, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "timing_basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "pid": 605433, + "commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "tree": "c5c2f0977ded379d29bcd24f9ead80bd13d27bcb" + }, + "timeout_pid": 605455, + "make_pid": 605456, + "launcher_pid": 605462, + "container": "17af4055e821b15a80ab5529f830d3f2bdfe459ef689ac3a3ad81229fccf1456", + "proof_restarted": false, + "exit_capture": "Recover actual container exit with docker wait; host make exit is not directly observed. Source launcher performs only the checked docker run after already successful host preflights. Require full GREEN log, complete 438/438/411 counts, unchanged inputs and active elapsed bound before landing.", + "inspection": "q21-daemon-recovery-inspect.json", + "recovery_script_sha256": "e739891e53a9d7a35e24c14d53e279caf597d7d43149c4de8f9cc29d629b2e62", + "prepare_script_sha256": "13dd6a86c3546ba19cba20ed8240d210b40c6c68ac0dc045baee8a565f353d5f" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate-result.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate-result.json new file mode 100644 index 000000000..e637a81e0 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate-result.json @@ -0,0 +1,33 @@ +{ + "started_utc": "2026-09-29T10:11:38.126162+00:00", + "epoch": 1790676698.1261854, + "clock_start": { + "utc": "2026-09-29T10:11:38.126162+00:00", + "epoch": 1790676698.1261854, + "monotonic": 55688.754883375, + "boottime": 166118.295440911, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "timing_basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "pid": 605433, + "commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "tree": "c5c2f0977ded379d29bcd24f9ead80bd13d27bcb", + "exit_code": 0, + "exit_scope": "original proof container, observed by docker wait", + "host_make_exit_directly_observed": false, + "proof_restarted": false, + "recovery": "q21-daemon-recovery.json", + "finished_utc": "2026-09-29T13:29:24.294334+00:00", + "clock_end": { + "utc": "2026-09-29T13:29:24.294334+00:00", + "epoch": 1790688564.2943602, + "monotonic": 67556.546702391, + "boottime": 177986.087260258, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "active_elapsed_seconds": 11867.791819016005, + "wall_elapsed_seconds": 11866.168174743652, + "boottime_elapsed_seconds": 11867.79181934701, + "suspended_seconds": 3.310051397420466e-07 +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate.log new file mode 100644 index 000000000..2f8e87f78 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-full-gate.log @@ -0,0 +1,2747 @@ +make: Entering directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' +/usr/bin/python3 -E -S -B scripts/run_easycrypt_split.py +OK EasyCrypt manual source binding: 402 inputs (not extraction) + Finished `test` profile [optimized + debuginfo] target(s) in 0.11s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +{"exit_code": 0, "seconds": 18.02, "keygen_cases": 5, "signature_cases": 20, "negative_cases": 160, "receipt": "/tmp/pq-easycrypt-fullsign-199o6h8t/evidence/result.json"} +FULLSIGN_MODEL_RECEIPT={ + "exit_code": 0, + "seconds": 18.02, + "rust_commit": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "rust_sources": { + "address.rs": "84f5708f1dee711f9cf0dd11c14b8770618e3353f839329b24da6cca6e34ce00", + "fors.rs": "3b64e07bc9c3a6c0e1db1d63da90c32ad34b26857dfe5767997df360b7713ed2", + "hash.rs": "049a689c96ef9e14ce34030e71269292f3f6951b522cad88d56daa4466ade2c4", + "hypertree.rs": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", + "lib.rs": "235b5db237d6133860fb7a9d36c2a89195700d8602806688aceb45b52fa0719f", + "merkle.rs": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "near_miss.rs": "6fed92e4bbf9d13a43f0040335f3e7a4f3b3fd84fb49eba3db410f46a42512a3", + "params.rs": "827bc33e6665125484d354f57f2aea1fbf4f1e7a64aa330801cdb72f311eb911", + "shuffle.rs": "2f3e0b12351084599294c9ccdfa01d18d7e2130a2fa84bae177ef26cfdb470ad", + "wots.rs": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b" + }, + "model_sources": { + "RawKeygen.ec": "9f983fbb237129b0600ee1462429a722c53f86a5a74e25a0e508f16c1238174e", + "RawFors.ec": "cea927f567b23443a0c0846493089f3651f1eb57a86daae508527b612741833e", + "RawShuffle.ec": "2d8c14b922f4e85c7c2a1a8a4852a7622dbff8a87a3e6faf43ff6b13d5e3e639", + "RawWots.ec": "b0510301eba5d387e3199d216bae2772f5e27480bdb3a23f037881c59138a558", + "RawForest.ec": "76b40a69989b36c88ecc4d9e9fae197da65fee865ea2572be94f50f297fb2f10", + "RawMerkle.ec": "c39af26b991ef2929dea669be1152fcb84dbcbf0f25dfb60c2d1290c183d1f6e", + "RawLayer.ec": "3ebf8be154f55b07d3d8f10a3dd5e541b7d47714fa2997703c93201dce30dc96", + "RawSigner.ec": "8b40da75596beb4a824890c8d5e3d58383f7f049c682815b476850a26c7b1650", + "RawSignerCost.ec": "f6afec786f09e10a694fad65e8e0c36bdc8fa0e2f87a8d299617bf056dffeedd", + "RawSignature.ec": "de0e9b611ea88e6aaa39e5b9d3931ff2cf611c20159eb69b42f53ae9b5bae03d", + "RawDecode.ec": "bc0102dd6f42c3d6b2187439e961507bda5372a4a7c5c9a4887ee518a1fe09b4", + "ByteSession.ec": "dc8e67b78f27c4412b34e636649de5cc162822ca9adc54f0a214a1229fa8e49b" + }, + "harness_sources": { + "src/main.rs": "5a9ba5d9985c68dd60751f2543f3ced31df6afe94096b539373a95e2d6d4faa9", + "check.py": "fbc7bac09f2d7dd0026dde7741b8be70bd2966f59a875f1d51bec7507298b2b6", + "Cargo.toml": "4a7ab9c9e96b752b88a40c77507fce791818733ac059dc0cb6a2af1051826617", + "Cargo.lock": "841066878fb7673836172817b5b7d756fc98505adf976fdde7465eea4e8b2ea8" + }, + "keygen_cases": 5, + "signatures": [ + { + "case": 0, + "run": 0, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 0, + "total_calls": 504865, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 0, + "total_calls": 494414, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "signature_sha256": "2602ecec7c5a549e503aea9f79f255bbfc482a8c064d22d90e9604796332833d", + "hook_calls": 504865, + "software_shuffle_calls": 15, + "total_calls": 504880, + "r_calls": 37, + "hmsg_calls": 37, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "signature_sha256": "4910ada38e9c69241e083156e239fbc4c9b460f51fb2fe66a312b9def1d6ccda", + "hook_calls": 494414, + "software_shuffle_calls": 15, + "total_calls": 494429, + "r_calls": 3761, + "hmsg_calls": 3761, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 0, + "total_calls": 502175, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 0, + "total_calls": 491482, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "signature_sha256": "b73dafc935bfb9cf6eacf605eec0f9b34e9765732b3186933df29a4eec7c3b4a", + "hook_calls": 502175, + "software_shuffle_calls": 15, + "total_calls": 502190, + "r_calls": 4324, + "hmsg_calls": 4324, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "signature_sha256": "2795a6500d01285cef1925df26ce61a78c7f91648d995a83b4df01fbae958d77", + "hook_calls": 491482, + "software_shuffle_calls": 15, + "total_calls": 491497, + "r_calls": 3821, + "hmsg_calls": 3821, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 0, + "total_calls": 453988, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 0, + "total_calls": 498094, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "signature_sha256": "3c05ae14f1f3f0607dca264cbc86c61cdfccaaf08657a25afa7d7baa22126424", + "hook_calls": 453988, + "software_shuffle_calls": 15, + "total_calls": 454003, + "r_calls": 605, + "hmsg_calls": 605, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "signature_sha256": "464933309528ac24e6bfa623d9e6d8836e09684c2d071276f6d4e99b56a00c67", + "hook_calls": 498094, + "software_shuffle_calls": 15, + "total_calls": 498109, + "r_calls": 649, + "hmsg_calls": 649, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 0, + "total_calls": 538014, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 0, + "total_calls": 476853, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "signature_sha256": "2daa2fbb3fe840a1d468ee7f3c770e537a51a4adf59047114c71bdfe77aa89c3", + "hook_calls": 538014, + "software_shuffle_calls": 15, + "total_calls": 538029, + "r_calls": 3492, + "hmsg_calls": 3492, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "signature_sha256": "6b85806aff4468fa97be33d7fb6834695f9841b4e6ba2c405e6bce088c89063f", + "hook_calls": 476853, + "software_shuffle_calls": 15, + "total_calls": 476868, + "r_calls": 3564, + "hmsg_calls": 3564, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 0, + "total_calls": 479192, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 0, + "total_calls": 480852, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "signature_sha256": "cffc4e2b9ff7be0014c0a8d7b1ae1cd74d49e3de03cd46571dc8f2864cb113ea", + "hook_calls": 479192, + "software_shuffle_calls": 15, + "total_calls": 479207, + "r_calls": 2162, + "hmsg_calls": 2162, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "signature_sha256": "2f424f2ba20b7b5b2bbeaa0d0fa719ec5a2f0416348c42818035c5f545c61a10", + "hook_calls": 480852, + "software_shuffle_calls": 15, + "total_calls": 480867, + "r_calls": 359, + "hmsg_calls": 359, + "verify_calls": 361 + } + ], + "negative_verifications": [ + { + "case": 0, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 0, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 0, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 0, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 0, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 1, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 1, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 1, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 1, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 2, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 2, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 2, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 2, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 3, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 3, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 3, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 3, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 0, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 0, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 0, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 0, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 1, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 1, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 1, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 1, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 2, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 2, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 2, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 2, + "position": 4007, + "accepted": false, + "verify_calls": 361 + }, + { + "case": 4, + "run": 3, + "position": -1, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 0, + "accepted": false, + "verify_calls": 1 + }, + { + "case": 4, + "run": 3, + "position": 16, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 224, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 2336, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 3024, + "accepted": false, + "verify_calls": 167 + }, + { + "case": 4, + "run": 3, + "position": 3028, + "accepted": false, + "verify_calls": 264 + }, + { + "case": 4, + "run": 3, + "position": 4007, + "accepted": false, + "verify_calls": 361 + } + ], + "scope": "Manual byte/call correspondence for public fixtures; software shuffle SHA calls counted separately from Rust hooks. No extraction or probability/security theorem." +} + +### INPUTS_SHA256 116f7fa68bf756dd0602c916d3eb3959 +OK INPUTS_SHA256 matches the committed identity +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed +OK toolchain: r2026.02, 25 pinned prover configurations +### IMAGE ghcr.io/easycrypt/ec-test-box@sha256:bf1a13e73d7fe18fccdcc91d1532c1a5a17cfc3a6a2a34619248c4f2710d0bb3 +OK proof controls: direct dependency failure / import acceptance / open-proof rejection / abstract require and EOF +OK no dual-extension theory names on the include path +### ECO_PURGED=0 +### ECO_REMAINING=0 +### PHASE 1 — TARGETS +OK target base-c10-split/BinaryTrees.ec +OK target base-c10-split/MerkleTrees.ec +OK target base-c10-split/KeyedHashFunctions.eca +OK target base-c10-split/TweakableHashFunctions.eca +OK target base-c10-split/HashAddresses.eca +OK target base-c10-split/RadixEncoding.ec +OK target base-c10-split/WOTS_TW_ES.ec +OK target base-c10-split/FL_SL_XMSS_MT_ES.ec +OK target base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca +OK target base-c10-split/FORS_ES.ec +OK target base-c10-split/SPHINCS_PLUS.ec +OK target cdrafts-split/C10Counter.ec +OK target cdrafts-split/C10Randomizer.ec +OK target cdrafts-split/C10RawOracle.ec +OK target cdrafts-split/C10Bytes.ec +OK target cdrafts-split/Grind.ec +OK target cdrafts-split/STCR_C.ec +OK target cdrafts-split/WOTS_C_Real.ec +OK target cdrafts-split/WOTS_C_Scheme.ec +OK target cdrafts-split/WOTS_C_Reduction.ec +OK target cdrafts-split/WOTS_C_Interactive.ec +OK target cdrafts-split/XMSSMT_C_Scheme.ec +OK target cdrafts-split/XmssmtCC_All.ec +OK target cdrafts-split/RtopCSoundness.ec +OK target cdrafts-split/FxChain.ec +OK target cdrafts-split/BoundedIID.ec +OK target cdrafts-split/FORS_C10.ec +OK target cdrafts-split/FORS_C10_Multi.ec +OK target cdrafts-split/GprocFORSC10.ec +OK target cdrafts-split/SphincsC10CapstoneWired.ec +OK target cdrafts-split/SphincsC10Content.ec +OK target cdrafts-split/C10DeployedInstance.ec +OK target cdrafts-split/C10HashDomains.ec +OK target cdrafts-split/C10RawGrind.ec +OK target cdrafts-split/SecretPrefix.ec +OK target cdrafts-split/PrefixGuess.ec +OK target cdrafts-split/PrefixHybrid.ec +OK target cdrafts-split/RoleGrind.ec +OK target cdrafts-split/GrindReplay.ec +OK target cdrafts-split/GrindWitness.ec +OK target cdrafts-split/PersistentGrind.ec +OK target cdrafts-split/RTailFresh.ec +OK target cdrafts-split/IdealWitness.ec +OK target cdrafts-split/RawRHistory.ec +OK target cdrafts-split/RawTrial.ec +OK target cdrafts-split/RTailMessages.ec +OK target cdrafts-split/RTailContexts.ec +OK target cdrafts-split/FORSC10Digest.ec +OK target cdrafts-split/GrindTail.ec +OK target cdrafts-split/StreamBound.ec +OK target cdrafts-split/TrialExpectation.ec +OK target cdrafts-split/StreamExpectation.ec +OK target cdrafts-split/GrindExhaustion.ec +OK target cdrafts-split/ExhaustionCharges.ec +OK target cdrafts-split/ContextExhaustion.ec +OK target cdrafts-split/AcceptedContexts.ec +OK target cdrafts-split/DigestPrefix.ec +OK target cdrafts-split/FreshCoverage.ec +OK target cdrafts-split/AcceptedSampling.ec +OK target cdrafts-split/TrialAccepted.ec +OK target cdrafts-split/StreamAccepted.ec +OK target cdrafts-split/AcceptedCoverage.ec +OK target cdrafts-split/DigestWindow.ec +OK target cdrafts-split/AcceptedHypertree.ec +OK target cdrafts-split/KeygenPrefixes.ec +OK target cdrafts-split/RoleGrindCost.ec +OK target cdrafts-split/RawKeygen.ec +OK target cdrafts-split/RawKeygenCost.ec +OK target cdrafts-split/PreparedGrind.ec +OK target cdrafts-split/RawFors.ec +OK target cdrafts-split/PrefixGames.ec +OK target cdrafts-split/PrefixBound.ec +OK target cdrafts-split/PrefixIdeal.ec +OK target cdrafts-split/PreparedHistory.ec +OK target cdrafts-split/PreparedExhaustion.ec +OK target cdrafts-split/PreparedRaw.ec +OK target cdrafts-split/KeygenExhaustion.ec +OK target cdrafts-split/PhysicalKeygenCost.ec +OK target cdrafts-split/RawShuffle.ec +OK target cdrafts-split/RawForest.ec +OK target cdrafts-split/RawWots.ec +OK target cdrafts-split/RawMerkle.ec +OK target cdrafts-split/RawLayer.ec +OK target cdrafts-split/RawSigner.ec +OK target cdrafts-split/RawSignature.ec +OK target cdrafts-split/RawCodec.ec +OK target cdrafts-split/RawSlices.ec +OK target cdrafts-split/RawDecode.ec +OK target cdrafts-split/FullSession.ec +OK target cdrafts-split/ByteSession.ec +OK target cdrafts-split/BuilderTotality.ec +OK target cdrafts-split/PathReplay.ec +OK target cdrafts-split/PathOracle.ec +OK target cdrafts-split/RawPathReplay.ec +OK target cdrafts-split/DyadicStack.ec +OK target cdrafts-split/NodeGridIndex.ec +OK target cdrafts-split/NodeGridPath.ec +OK target cdrafts-split/NodeCatalog.ec +OK target cdrafts-split/StackAlignment.ec +OK target cdrafts-split/NodeCatalogDomain.ec +OK target cdrafts-split/StackPowers.ec +OK target cdrafts-split/LinearChain.ec +OK target cdrafts-split/LinearOracle.ec +OK target cdrafts-split/RawChainTrace.ec +OK target cdrafts-split/WotsReference.ec +OK target cdrafts-split/RawLeafChains.ec +OK target cdrafts-split/WotsReferenceOracle.ec +OK target cdrafts-split/WotsReferenceStep.ec +OK target cdrafts-split/WotsChainReference.ec +OK target cdrafts-split/WotsLeafReference.ec +OK target cdrafts-split/MonotoneHistory.ec +OK target cdrafts-split/RawCountRecorded.ec +OK target cdrafts-split/WotsReferenceRoot.ec +OK target cdrafts-split/WotsCatalog.ec +OK target cdrafts-split/CatalogDeterminism.ec +OK target cdrafts-split/WotsRootDeterminism.ec +OK target cdrafts-split/MerkleRootWitness.ec +OK target cdrafts-split/RawHistoryPreservation.ec +OK target cdrafts-split/GrindReturned.ec +OK target cdrafts-split/RawForsPathReplay.ec +OK target cdrafts-split/ForsOpening.ec +OK target cdrafts-split/ForestOpenings.ec +OK target cdrafts-split/ForestWitness.ec +OK target cdrafts-split/RecoveryHistory.ec +OK target cdrafts-split/ForsComponentHistory.ec +OK target cdrafts-split/ForestOracle.ec +OK target cdrafts-split/RawWidths.ec +OK target cdrafts-split/RawTreeWidths.ec +OK target cdrafts-split/ForsOneRecorded.ec +OK target cdrafts-split/ForestOneStep.ec +OK target cdrafts-split/ShuffleBytes.ec +OK target cdrafts-split/ShuffleSwap.ec +OK target cdrafts-split/RawShufflePermutation.ec +OK target cdrafts-split/ForestSignRecorded.ec +OK target cdrafts-split/PathCollision.ec +OK target cdrafts-split/PathInputs.ec +OK target cdrafts-split/ForsLeafInputs.ec +OK target cdrafts-split/RawForsComparison.ec +OK target cdrafts-split/ForsOpeningReplay.ec +OK target cdrafts-split/FixedHashReplay.ec +OK target cdrafts-split/ForestRecoveryReplay.ec +OK target cdrafts-split/ForestOpening.ec +OK target cdrafts-split/LinearSplit.ec +OK target cdrafts-split/WotsChainSplit.ec +OK target cdrafts-split/WotsSignatureValue.ec +OK target cdrafts-split/RawWotsFill.ec +OK target cdrafts-split/PreparationHistory.ec +OK target cdrafts-split/ChainHistory.ec +OK target cdrafts-split/RawChainReplay.ec +OK target cdrafts-split/FixedChainReplay.ec +OK target cdrafts-split/FixedWotsChains.ec +OK target cdrafts-split/WotsFillCorrect.ec +OK target cdrafts-split/WotsCountWitness.ec +OK target cdrafts-split/WotsSignWitness.ec +OK target cdrafts-split/LayerPath.ec +OK target cdrafts-split/LayerWitness.ec +OK target cdrafts-split/LayerWotsSign.ec +OK target cdrafts-split/RawWotsRecovery.ec +OK target cdrafts-split/WotsOpeningRecovery.ec +OK target cdrafts-split/RawPathComparison.ec +OK target cdrafts-split/LayerRecoveryCorrect.ec +OK target cdrafts-split/CatalogForest.ec +OK target cdrafts-split/AuthSlots.ec +OK target cdrafts-split/AuthCaptureSchedule.ec +OK target cdrafts-split/StackProjection.ec +OK target cdrafts-split/CatalogStack.ec +OK target cdrafts-split/AuthPhase.ec +OK target cdrafts-split/MerkleBuildWitness.ec +OK target cdrafts-split/MerkleCatalogObserver.ec +OK target cdrafts-split/ForsBuildWitness.ec +OK target cdrafts-split/ForsCatalogObserver.ec +OK target cdrafts-split/CatalogWidths.ec +OK target cdrafts-split/CatalogPath.ec +OK target cdrafts-split/BuilderPath.ec +OK target cdrafts-split/CatalogMerge.ec +OK target cdrafts-split/CatalogOracle.ec +OK target cdrafts-split/MerkleCatalogSound.ec +OK target cdrafts-split/CatalogForestMerge.ec +OK target cdrafts-split/AuthCaptureIndex.ec +OK target cdrafts-split/AuthCaptureValue.ec +OK target cdrafts-split/AuthSteps.ec +OK target cdrafts-split/AuthStepInvariant.ec +OK target cdrafts-split/AuthAdvance.ec +OK target cdrafts-split/MerkleCatalogAuth.ec +OK target cdrafts-split/MerkleBuilderPath.ec +OK target cdrafts-split/RawWotsReference.ec +OK target cdrafts-split/WotsCatalogOracle.ec +OK target cdrafts-split/MerkleWotsLeaves.ec +OK target cdrafts-split/MerkleBuilderWots.ec +OK target cdrafts-split/LayerSignWitness.ec +OK target cdrafts-split/LayerRecoveryHistory.ec +OK target cdrafts-split/LayerSignOpening.ec +OK target cdrafts-split/SignerCoordinates.ec +OK target cdrafts-split/LayerOpeningReplay.ec +OK target cdrafts-split/SignerLayerTrace.ec +OK target cdrafts-split/SignerFinishState.ec +OK target cdrafts-split/SignerComponentHistory.ec +OK target cdrafts-split/SignerRecoveryStep.ec +OK target cdrafts-split/SignerVerifierReplay.ec +OK target cdrafts-split/IndependentWidths.ec +OK target cdrafts-split/BuildRootProjection.ec +OK target cdrafts-split/RawMerkleRootWitness.ec +OK target cdrafts-split/SignerAccepted.ec +OK target cdrafts-split/SignerReturned.ec +OK target cdrafts-split/SignerGrindRoot.ec +OK target cdrafts-split/SignerForestStep.ec +OK target cdrafts-split/MerkleRootPersistence.ec +OK target cdrafts-split/LayerSignCorrect.ec +OK target cdrafts-split/LayerPriorRoot.ec +OK target cdrafts-split/SignerLayerStep.ec +OK target cdrafts-split/SignerFinishWitness.ec +OK target cdrafts-split/SignerFinishRecorded.ec +OK target cdrafts-split/SignerReturnedOpening.ec +OK target cdrafts-split/RawCompositeWidths.ec +OK target cdrafts-split/RawSignerWidths.ec +OK target cdrafts-split/IndependentSignerWidth.ec +OK target cdrafts-split/RawByteValues.ec +OK target cdrafts-split/RawWotsBytes.ec +OK target cdrafts-split/RawTreeBytes.ec +OK target cdrafts-split/RawCompositeBytes.ec +OK target cdrafts-split/RawSignerBytes.ec +OK target cdrafts-split/EncodedSlices.ec +OK target cdrafts-split/EncodedLayer.ec +OK target cdrafts-split/EncodedSignatureSlices.ec +OK target cdrafts-split/EncodedSignature.ec +OK target cdrafts-split/SignerEncodingCorrect.ec +OK target cdrafts-split/ActualByteSignerCorrect.ec +OK target cdrafts-split/ActualForestCorrect.ec +OK target cdrafts-split/ActualLayerCorrect.ec +OK target cdrafts-split/ActualSignerCorrect.ec +OK target cdrafts-split/WotsSignCorrect.ec +OK target cdrafts-split/ActualWotsCorrect.ec +OK target cdrafts-split/PrefixAudit.ec +OK target cdrafts-split/AuditPrefix.ec +OK target cdrafts-split/AuditComplete.ec +OK target cdrafts-split/BadEncCountermodel.ec +OK target cdrafts-split/TCollResEnum.ec +OK target cdrafts-split/BadEncSplit.ec +OK target cdrafts-split/BadEncToTColl.ec +OK target cdrafts-split/BadEncStep4.ec +OK target cdrafts-split/RawForsCost.ec +OK target cdrafts-split/RawForestCost.ec +OK target cdrafts-split/RawWotsCost.ec +OK target cdrafts-split/RawMerkleCost.ec +OK target cdrafts-split/RawLayerCost.ec +OK target cdrafts-split/RawSignerCost.ec +OK target cdrafts-split/FullSessionCost.ec +OK target cdrafts-split/PrefixState.ec +OK target cdrafts-split/FullPrefix.ec +OK target cdrafts-split/ByteBound.ec +OK target cdrafts-split/ByteAudit.ec +OK target cdrafts-split/NodeDistribution.ec +OK target cdrafts-split/ProjectedBirthday.ec +OK target cdrafts-split/MemoNodeCollision.ec +OK target cdrafts-split/ProjectedMemoOracle.ec +OK target cdrafts-split/PublicCollisionGame.ec +OK target cdrafts-split/PublicNodeZero.ec +OK target cdrafts-split/PublicCollisionState.ec +OK target cdrafts-split/BytePublicCollision.ec +OK target cdrafts-split/BytePublicNodeBad.ec +OK target cdrafts-split/GrindTrace.ec +OK target cdrafts-split/GrindTraceRecorded.ec +OK target cdrafts-split/GrindTraceReplay.ec +OK target cdrafts-split/SignerTrace.ec +OK target cdrafts-split/MessageHistory.ec +OK target cdrafts-split/VerifierHistory.ec +OK target cdrafts-split/RootSessionHistory.ec +OK target cdrafts-split/ForestRecoveryRecord.ec +OK target cdrafts-split/LinearCollision.ec +OK target cdrafts-split/WotsRecoveryTrace.ec +OK target cdrafts-split/RecoveryTraceOracle.ec +OK target cdrafts-split/RawRecoveryTrace.ec +OK target cdrafts-split/WotsRecoveryHistory.ec +OK target cdrafts-split/LayerRecoveryRecord.ec +OK target cdrafts-split/VerifierForestRecords.ec +OK target cdrafts-split/RecoveryCompression.ec +OK target cdrafts-split/WotsZeroSentinel.ec +OK target cdrafts-split/VerifierWotsOpening.ec +OK target cdrafts-split/RootCoverage.ec +OK target cdrafts-split/NodeCollisionEvents.ec +OK target cdrafts-split/LayerRecordExtraction.ec +OK target cdrafts-split/VerifierLayerRecords.ec +OK target cdrafts-split/SubtreeOpeningCases.ec +OK target cdrafts-split/SecretLeafOrigins.ec +OK target cdrafts-split/SecretLeafOracle.ec +OK target cdrafts-split/ForsPrivateLeaves.ec +OK target cdrafts-split/ForsRootWitness.ec +OK target cdrafts-split/ForestRootWitness.ec +OK target cdrafts-split/ForestCoordinates.ec +OK target cdrafts-split/ForsRecordExtraction.ec +OK target cdrafts-split/ForestRecordExtraction.ec +OK target cdrafts-split/ForestOpeningCases.ec +OK target cdrafts-split/SessionForestExtraction.ec +OK target cdrafts-split/TopVerifierOpening.ec +OK target cdrafts-split/RawWotsExtraction.ec +OK target cdrafts-split/LayerExtractionHistory.ec +OK target cdrafts-split/ForsCatalogSound.ec +OK target cdrafts-split/ForsCatalogAuth.ec +OK target cdrafts-split/ForsBuilderPath.ec +OK target cdrafts-split/RawBuilderReference.ec +OK target cdrafts-split/MerkleBuilderComparison.ec +OK target cdrafts-split/LayerWotsExtraction.ec +OK target cdrafts-split/RootLayerExtraction.ec +OK target cdrafts-split/RootExtractionHistory.ec +OK target cdrafts-split/VerifierTopExtraction.ec +OK target cdrafts-split/SessionTopExtraction.ec +OK target cdrafts-split/ByteGameTopExtraction.ec +OK target cdrafts-split/ByteGameForestExtraction.ec +OK target cdrafts-split/ByteForestOpeningHop.ec +OK target cdrafts-split/SessionSubtreeExtraction.ec +OK target cdrafts-split/ByteGameSubtreeExtraction.ec +OK target cdrafts-split/RHistoryOps.ec +OK target cdrafts-split/PreparedFinish.ec +OK target cdrafts-split/SignerMessages.ec +OK target cdrafts-split/FullMessageHistory.ec +OK target cdrafts-split/RSession.ec +OK target cdrafts-split/RSessionHistory.ec +OK target cdrafts-split/SignerRecorded.ec +OK target cdrafts-split/FullHistory.ec +OK target cdrafts-split/ByteHistory.ec +OK target cdrafts-split/DigestCoordinates.ec +OK target cdrafts-split/ByteReplay.ec +OK target cdrafts-split/ByteSubtreeOpeningHop.ec +OK target cdrafts-split/ByteTopOpeningHop.ec +OK target cdrafts-split/C10BoundedGrind.ec +OK target cdrafts-split/C10BoundedSigning.ec +OK target cdrafts-split/C10WOTSCorrect.ec +OK target cdrafts-split/C10BoundedHypertree.ec +OK target cdrafts-split/C10HypertreeCoverage.ec +OK target cdrafts-split/C10HypertreeCorrect.ec +OK target cdrafts-split/C10BoundedGame.ec +OK target cdrafts-split/GFailCharged.ec +OK target cdrafts-split/C10BoundedMA.ec +OK target cdrafts-split/C10CubeCorrect.ec +OK target cdrafts-split/C10CubeConstruction.ec +OK target cdrafts-split/C10ReductionChoose.ec +OK target cdrafts-split/C10ReductionForge.ec +OK target cdrafts-split/C10AcceptedReduction.ec +OK target cdrafts-split/VecDP.ec +OK target cdrafts-split/CountDS.ec +OK target cdrafts-split/C10DigitUniform.ec +OK target cdrafts-split/C10SurfaceKernel.ec +OK target cdrafts-split/C10Surface.ec +OK target cdrafts-split/C10Encoding.ec +OK target cdrafts-split/C10BoundedIID.ec +OK target cdrafts-split/C10BoundedLeaf.ec +OK target cdrafts-split/C10BoundedReduction.ec +OK target cdrafts-split/C10DeployedCapstone.ec +OK target cdrafts-split/C10DeployedGeometry.ec +OK target cdrafts-split/C10DeployedScope.ec +OK target cdrafts-split/C10HypertreeAccepted.ec +OK target cdrafts-split/XmssmtCCCharged.ec +OK target cdrafts-split/C10HypertreeCharged.ec +OK target cdrafts-split/SharedROBounded.ec +OK target cdrafts-split/C10SharedSearch.ec +OK target cdrafts-split/C10SearchBounds.ec +OK target cdrafts-split/C10SpecControls.ec +OK target cdrafts-split/C10StatefulSearch.ec +OK target cdrafts-split/SessionDigest.ec +OK target cdrafts-split/ClassifiedHistory.ec +OK target cdrafts-split/ClassifiedGrind.ec +OK target cdrafts-split/ClassifiedSigner.ec +OK target cdrafts-split/ClassifiedSession.ec +OK target cdrafts-split/ClassifiedBound.ec +OK target cdrafts-split/DarkSide.ec +OK target cdrafts-split/DarkSideC10.ec +OK target cdrafts-split/DigestPair.ec +OK target cdrafts-split/ExposureLog.ec +OK target cdrafts-split/ExposureAccounting.ec +OK target cdrafts-split/ForestReferenceHistory.ec +OK target cdrafts-split/ForsBuilderPrivate.ec +OK target cdrafts-split/ForsRootRecording.ec +OK target cdrafts-split/ForsPrivateEntry.ec +OK target cdrafts-split/ForsKnownSecret.ec +OK target cdrafts-split/ForsSignWitness.ec +OK target cdrafts-split/ForsReturnedRoot.ec +OK target cdrafts-split/ForestRootPrefix.ec +OK target cdrafts-split/ForestRootRecording.ec +OK target cdrafts-split/SignerForestReference.ec +OK target cdrafts-split/HonestForestMessages.ec +OK target cdrafts-split/LayerReturnedRoot.ec +OK target cdrafts-split/SignerSubtreeReference.ec +OK target cdrafts-split/HonestSubtreeMessages.ec +OK target cdrafts-split/ExposureSupport.ec +OK target cdrafts-split/ExposureReferences.ec +OK target cdrafts-split/ExposureComponents.ec +OK target cdrafts-split/ExposureDriver.ec +OK target cdrafts-split/ExposureWidths.ec +OK target cdrafts-split/ExposurePrivate.ec +OK target cdrafts-split/ForsRootDeterminism.ec +OK target cdrafts-split/ExposureCoverage.ec +OK target cdrafts-split/ExposureHistory.ec +OK target cdrafts-split/ExposureSessionHistory.ec +OK target cdrafts-split/ExposureGameHistory.ec +OK target cdrafts-split/ExposureForge.ec +OK target cdrafts-split/ExposurePartition.ec +OK target cdrafts-split/ExposurePartitionGame.ec +OK target cdrafts-split/ExposurePartitionHop.ec +OK target cdrafts-split/FORS_C.ec +OK target cdrafts-split/FORS_C_TreePort.ec +OK target cdrafts-split/LeafOrigins.ec +OK target cdrafts-split/LeafOriginOracle.ec +OK target cdrafts-split/ForsLeafOrigins.ec +OK target cdrafts-split/ForsBuilderSecret.ec +OK target cdrafts-split/ForsBuilderComparison.ec +OK target cdrafts-split/ForsSignCorrect.ec +OK target cdrafts-split/ForsSignRecord.ec +OK target cdrafts-split/FullFailure.ec +OK target cdrafts-split/GprocVI.ec +OK target cdrafts-split/SphincsC10CapstoneCharged.ec +OK target cdrafts-split/GprocT1Opre.ec +OK target cdrafts-split/GprocT2Trh.ec +OK target cdrafts-split/GprocT3Trco.ec +OK target cdrafts-split/GprocQBound.ec +OK target cdrafts-split/GprocQWired.ec +OK target cdrafts-split/GprocChargedQWired.ec +OK target cdrafts-split/WotsLegCharged.ec +OK target cdrafts-split/GprocWotsNamed.ec +OK target cdrafts-split/GprocTCollNamed.ec +OK target cdrafts-split/GrindHypertree.ec +OK target cdrafts-split/GrindJointCoverage.ec +OK target cdrafts-split/HonestByteContext.ec +OK target cdrafts-split/HonestByteCost.ec +OK target cdrafts-split/HonestBytePhysical.ec +OK target cdrafts-split/LayerBuildExtraction.ec +OK target cdrafts-split/PublicCollisionBound.ec +OK target cdrafts-split/RSessionCost.ec +OK target cdrafts-split/RSessionBound.ec +OK target cdrafts-split/SessionKeygen.ec +OK target cdrafts-split/RawSession.ec +OK target cdrafts-split/SessionPhysical.ec +OK target cdrafts-split/RawSessionBound.ec +OK target cdrafts-split/RawSessionCost.ec +OK target cdrafts-split/SessionClosedForm.ec +OK target cdrafts-split/TotalBuilderReference.ec +OK target cdrafts-split/VerifierWotsReplay.ec +OK target cdrafts-split/WOTS_C_Multi.ec +OK target cdrafts-split/WotsKeyExtraction.ec +### CONE_COMPILED=438 EXPECTED=438 +### PHASE 1d — EVERY CLOSURE FILE MUST BE REQUIRABLE (not merely compilable) +OK all closure files are requirable +### PHASE 1e — BOTH DRIVERS (compile AND cli) +OK base-c10-split/BinaryTrees.ec (cli, 303 cmds) +OK base-c10-split/MerkleTrees.ec (cli, 105 cmds) +OK base-c10-split/KeyedHashFunctions.eca (cli, 156 cmds) +OK base-c10-split/TweakableHashFunctions.eca (cli, 84 cmds) +OK base-c10-split/HashAddresses.eca (cli, 63 cmds) +OK base-c10-split/RadixEncoding.ec (cli, 42 cmds) +OK base-c10-split/WOTS_TW_ES.ec (cli, 2193 cmds) +OK base-c10-split/FL_SL_XMSS_MT_ES.ec (cli, 679 cmds) +OK base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca (cli, 703 cmds) +OK base-c10-split/FORS_ES.ec (cli, 2191 cmds) +OK base-c10-split/SPHINCS_PLUS.ec (cli, 456 cmds) +OK cdrafts-split/C10Counter.ec (cli, 57 cmds) +OK cdrafts-split/C10Randomizer.ec (cli, 51 cmds) +OK cdrafts-split/C10RawOracle.ec (cli, 65 cmds) +OK cdrafts-split/C10Bytes.ec (cli, 67 cmds) +OK cdrafts-split/Grind.ec (cli, 59 cmds) +OK cdrafts-split/STCR_C.ec (cli, 37 cmds) +OK cdrafts-split/WOTS_C_Real.ec (cli, 120 cmds) +OK cdrafts-split/WOTS_C_Scheme.ec (cli, 41 cmds) +OK cdrafts-split/WOTS_C_Reduction.ec (cli, 204 cmds) +OK cdrafts-split/WOTS_C_Interactive.ec (cli, 744 cmds) +OK cdrafts-split/XMSSMT_C_Scheme.ec (cli, 58 cmds) +OK cdrafts-split/XmssmtCC_All.ec (cli, 2646 cmds) +OK cdrafts-split/RtopCSoundness.ec (cli, 673 cmds) +OK cdrafts-split/FxChain.ec (cli, 1219 cmds) +OK cdrafts-split/BoundedIID.ec (cli, 47 cmds) +OK cdrafts-split/FORS_C10.ec (cli, 81 cmds) +OK cdrafts-split/FORS_C10_Multi.ec (cli, 69 cmds) +OK cdrafts-split/GprocFORSC10.ec (cli, 400 cmds) +OK cdrafts-split/SphincsC10CapstoneWired.ec (cli, 102 cmds) +OK cdrafts-split/SphincsC10Content.ec (cli, 198 cmds) +OK cdrafts-split/C10DeployedInstance.ec (cli, 285 cmds) +OK cdrafts-split/C10HashDomains.ec (cli, 51 cmds) +OK cdrafts-split/C10RawGrind.ec (cli, 43 cmds) +OK cdrafts-split/SecretPrefix.ec (cli, 30 cmds) +OK cdrafts-split/PrefixGuess.ec (cli, 25 cmds) +OK cdrafts-split/PrefixHybrid.ec (cli, 78 cmds) +OK cdrafts-split/RoleGrind.ec (cli, 20 cmds) +OK cdrafts-split/GrindReplay.ec (cli, 19 cmds) +OK cdrafts-split/GrindWitness.ec (cli, 23 cmds) +OK cdrafts-split/PersistentGrind.ec (cli, 21 cmds) +OK cdrafts-split/RTailFresh.ec (cli, 47 cmds) +OK cdrafts-split/IdealWitness.ec (cli, 51 cmds) +OK cdrafts-split/RawRHistory.ec (cli, 29 cmds) +OK cdrafts-split/RawTrial.ec (cli, 27 cmds) +OK cdrafts-split/RTailMessages.ec (cli, 33 cmds) +OK cdrafts-split/RTailContexts.ec (cli, 41 cmds) +OK cdrafts-split/FORSC10Digest.ec (cli, 30 cmds) +OK cdrafts-split/GrindTail.ec (cli, 33 cmds) +OK cdrafts-split/StreamBound.ec (cli, 54 cmds) +OK cdrafts-split/TrialExpectation.ec (cli, 25 cmds) +OK cdrafts-split/StreamExpectation.ec (cli, 35 cmds) +OK cdrafts-split/GrindExhaustion.ec (cli, 24 cmds) +OK cdrafts-split/ExhaustionCharges.ec (cli, 11 cmds) +OK cdrafts-split/ContextExhaustion.ec (cli, 31 cmds) +OK cdrafts-split/AcceptedContexts.ec (cli, 39 cmds) +OK cdrafts-split/DigestPrefix.ec (cli, 27 cmds) +OK cdrafts-split/FreshCoverage.ec (cli, 100 cmds) +OK cdrafts-split/AcceptedSampling.ec (cli, 57 cmds) +OK cdrafts-split/TrialAccepted.ec (cli, 25 cmds) +OK cdrafts-split/StreamAccepted.ec (cli, 51 cmds) +OK cdrafts-split/AcceptedCoverage.ec (cli, 29 cmds) +OK cdrafts-split/DigestWindow.ec (cli, 24 cmds) +OK cdrafts-split/AcceptedHypertree.ec (cli, 35 cmds) +OK cdrafts-split/KeygenPrefixes.ec (cli, 39 cmds) +OK cdrafts-split/RoleGrindCost.ec (cli, 24 cmds) +OK cdrafts-split/RawKeygen.ec (cli, 34 cmds) +OK cdrafts-split/RawKeygenCost.ec (cli, 41 cmds) +OK cdrafts-split/PreparedGrind.ec (cli, 22 cmds) +OK cdrafts-split/RawFors.ec (cli, 21 cmds) +OK cdrafts-split/PrefixGames.ec (cli, 31 cmds) +OK cdrafts-split/PrefixBound.ec (cli, 16 cmds) +OK cdrafts-split/PrefixIdeal.ec (cli, 19 cmds) +OK cdrafts-split/PreparedHistory.ec (cli, 23 cmds) +OK cdrafts-split/PreparedExhaustion.ec (cli, 38 cmds) +OK cdrafts-split/PreparedRaw.ec (cli, 21 cmds) +OK cdrafts-split/KeygenExhaustion.ec (cli, 21 cmds) +OK cdrafts-split/PhysicalKeygenCost.ec (cli, 47 cmds) +OK cdrafts-split/RawShuffle.ec (cli, 47 cmds) +OK cdrafts-split/RawForest.ec (cli, 27 cmds) +OK cdrafts-split/RawWots.ec (cli, 42 cmds) +OK cdrafts-split/RawMerkle.ec (cli, 18 cmds) +OK cdrafts-split/RawLayer.ec (cli, 18 cmds) +OK cdrafts-split/RawSigner.ec (cli, 28 cmds) +OK cdrafts-split/RawSignature.ec (cli, 43 cmds) +OK cdrafts-split/RawCodec.ec (cli, 30 cmds) +OK cdrafts-split/RawSlices.ec (cli, 23 cmds) +OK cdrafts-split/RawDecode.ec (cli, 55 cmds) +OK cdrafts-split/FullSession.ec (cli, 31 cmds) +OK cdrafts-split/ByteSession.ec (cli, 38 cmds) +OK cdrafts-split/BuilderTotality.ec (cli, 27 cmds) +OK cdrafts-split/PathReplay.ec (cli, 42 cmds) +OK cdrafts-split/PathOracle.ec (cli, 20 cmds) +OK cdrafts-split/RawPathReplay.ec (cli, 13 cmds) +OK cdrafts-split/DyadicStack.ec (cli, 91 cmds) +OK cdrafts-split/NodeGridIndex.ec (cli, 47 cmds) +OK cdrafts-split/NodeGridPath.ec (cli, 43 cmds) +OK cdrafts-split/NodeCatalog.ec (cli, 47 cmds) +OK cdrafts-split/StackAlignment.ec (cli, 38 cmds) +OK cdrafts-split/NodeCatalogDomain.ec (cli, 89 cmds) +OK cdrafts-split/StackPowers.ec (cli, 10 cmds) +OK cdrafts-split/LinearChain.ec (cli, 50 cmds) +OK cdrafts-split/LinearOracle.ec (cli, 12 cmds) +OK cdrafts-split/RawChainTrace.ec (cli, 25 cmds) +OK cdrafts-split/WotsReference.ec (cli, 32 cmds) +OK cdrafts-split/RawLeafChains.ec (cli, 16 cmds) +OK cdrafts-split/WotsReferenceOracle.ec (cli, 17 cmds) +OK cdrafts-split/WotsReferenceStep.ec (cli, 13 cmds) +OK cdrafts-split/WotsChainReference.ec (cli, 16 cmds) +OK cdrafts-split/WotsLeafReference.ec (cli, 25 cmds) +OK cdrafts-split/MonotoneHistory.ec (cli, 21 cmds) +OK cdrafts-split/RawCountRecorded.ec (cli, 23 cmds) +OK cdrafts-split/WotsReferenceRoot.ec (cli, 22 cmds) +OK cdrafts-split/WotsCatalog.ec (cli, 24 cmds) +OK cdrafts-split/CatalogDeterminism.ec (cli, 18 cmds) +OK cdrafts-split/WotsRootDeterminism.ec (cli, 17 cmds) +OK cdrafts-split/MerkleRootWitness.ec (cli, 20 cmds) +OK cdrafts-split/RawHistoryPreservation.ec (cli, 17 cmds) +OK cdrafts-split/GrindReturned.ec (cli, 32 cmds) +OK cdrafts-split/RawForsPathReplay.ec (cli, 18 cmds) +OK cdrafts-split/ForsOpening.ec (cli, 11 cmds) +OK cdrafts-split/ForestOpenings.ec (cli, 27 cmds) +OK cdrafts-split/ForestWitness.ec (cli, 21 cmds) +OK cdrafts-split/RecoveryHistory.ec (cli, 16 cmds) +OK cdrafts-split/ForsComponentHistory.ec (cli, 34 cmds) +OK cdrafts-split/ForestOracle.ec (cli, 22 cmds) +OK cdrafts-split/RawWidths.ec (cli, 54 cmds) +OK cdrafts-split/RawTreeWidths.ec (cli, 54 cmds) +OK cdrafts-split/ForsOneRecorded.ec (cli, 17 cmds) +OK cdrafts-split/ForestOneStep.ec (cli, 8 cmds) +OK cdrafts-split/ShuffleBytes.ec (cli, 22 cmds) +OK cdrafts-split/ShuffleSwap.ec (cli, 18 cmds) +OK cdrafts-split/RawShufflePermutation.ec (cli, 19 cmds) +OK cdrafts-split/ForestSignRecorded.ec (cli, 25 cmds) +OK cdrafts-split/PathCollision.ec (cli, 31 cmds) +OK cdrafts-split/PathInputs.ec (cli, 41 cmds) +OK cdrafts-split/ForsLeafInputs.ec (cli, 17 cmds) +OK cdrafts-split/RawForsComparison.ec (cli, 12 cmds) +OK cdrafts-split/ForsOpeningReplay.ec (cli, 16 cmds) +OK cdrafts-split/FixedHashReplay.ec (cli, 7 cmds) +OK cdrafts-split/ForestRecoveryReplay.ec (cli, 21 cmds) +OK cdrafts-split/ForestOpening.ec (cli, 23 cmds) +OK cdrafts-split/LinearSplit.ec (cli, 8 cmds) +OK cdrafts-split/WotsChainSplit.ec (cli, 10 cmds) +OK cdrafts-split/WotsSignatureValue.ec (cli, 25 cmds) +OK cdrafts-split/RawWotsFill.ec (cli, 18 cmds) +OK cdrafts-split/PreparationHistory.ec (cli, 16 cmds) +OK cdrafts-split/ChainHistory.ec (cli, 16 cmds) +OK cdrafts-split/RawChainReplay.ec (cli, 8 cmds) +OK cdrafts-split/FixedChainReplay.ec (cli, 17 cmds) +OK cdrafts-split/FixedWotsChains.ec (cli, 23 cmds) +OK cdrafts-split/WotsFillCorrect.ec (cli, 14 cmds) +OK cdrafts-split/WotsCountWitness.ec (cli, 8 cmds) +OK cdrafts-split/WotsSignWitness.ec (cli, 22 cmds) +OK cdrafts-split/LayerPath.ec (cli, 26 cmds) +OK cdrafts-split/LayerWitness.ec (cli, 18 cmds) +OK cdrafts-split/LayerWotsSign.ec (cli, 10 cmds) +OK cdrafts-split/RawWotsRecovery.ec (cli, 26 cmds) +OK cdrafts-split/WotsOpeningRecovery.ec (cli, 12 cmds) +OK cdrafts-split/RawPathComparison.ec (cli, 12 cmds) +OK cdrafts-split/LayerRecoveryCorrect.ec (cli, 16 cmds) +OK cdrafts-split/CatalogForest.ec (cli, 39 cmds) +OK cdrafts-split/AuthSlots.ec (cli, 37 cmds) +OK cdrafts-split/AuthCaptureSchedule.ec (cli, 37 cmds) +OK cdrafts-split/StackProjection.ec (cli, 16 cmds) +OK cdrafts-split/CatalogStack.ec (cli, 37 cmds) +OK cdrafts-split/AuthPhase.ec (cli, 58 cmds) +OK cdrafts-split/MerkleBuildWitness.ec (cli, 30 cmds) +OK cdrafts-split/MerkleCatalogObserver.ec (cli, 35 cmds) +OK cdrafts-split/ForsBuildWitness.ec (cli, 33 cmds) +OK cdrafts-split/ForsCatalogObserver.ec (cli, 38 cmds) +OK cdrafts-split/CatalogWidths.ec (cli, 53 cmds) +OK cdrafts-split/CatalogPath.ec (cli, 21 cmds) +OK cdrafts-split/BuilderPath.ec (cli, 14 cmds) +OK cdrafts-split/CatalogMerge.ec (cli, 28 cmds) +OK cdrafts-split/CatalogOracle.ec (cli, 27 cmds) +OK cdrafts-split/MerkleCatalogSound.ec (cli, 43 cmds) +OK cdrafts-split/CatalogForestMerge.ec (cli, 16 cmds) +OK cdrafts-split/AuthCaptureIndex.ec (cli, 43 cmds) +OK cdrafts-split/AuthCaptureValue.ec (cli, 19 cmds) +OK cdrafts-split/AuthSteps.ec (cli, 32 cmds) +OK cdrafts-split/AuthStepInvariant.ec (cli, 37 cmds) +OK cdrafts-split/AuthAdvance.ec (cli, 37 cmds) +OK cdrafts-split/MerkleCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/MerkleBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawWotsReference.ec (cli, 15 cmds) +OK cdrafts-split/WotsCatalogOracle.ec (cli, 31 cmds) +OK cdrafts-split/MerkleWotsLeaves.ec (cli, 16 cmds) +OK cdrafts-split/MerkleBuilderWots.ec (cli, 44 cmds) +OK cdrafts-split/LayerSignWitness.ec (cli, 15 cmds) +OK cdrafts-split/LayerRecoveryHistory.ec (cli, 18 cmds) +OK cdrafts-split/LayerSignOpening.ec (cli, 29 cmds) +OK cdrafts-split/SignerCoordinates.ec (cli, 27 cmds) +OK cdrafts-split/LayerOpeningReplay.ec (cli, 17 cmds) +OK cdrafts-split/SignerLayerTrace.ec (cli, 23 cmds) +OK cdrafts-split/SignerFinishState.ec (cli, 28 cmds) +OK cdrafts-split/SignerComponentHistory.ec (cli, 29 cmds) +OK cdrafts-split/SignerRecoveryStep.ec (cli, 12 cmds) +OK cdrafts-split/SignerVerifierReplay.ec (cli, 25 cmds) +OK cdrafts-split/IndependentWidths.ec (cli, 33 cmds) +OK cdrafts-split/BuildRootProjection.ec (cli, 15 cmds) +OK cdrafts-split/RawMerkleRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/SignerAccepted.ec (cli, 41 cmds) +OK cdrafts-split/SignerReturned.ec (cli, 41 cmds) +OK cdrafts-split/SignerGrindRoot.ec (cli, 16 cmds) +OK cdrafts-split/SignerForestStep.ec (cli, 13 cmds) +OK cdrafts-split/MerkleRootPersistence.ec (cli, 21 cmds) +OK cdrafts-split/LayerSignCorrect.ec (cli, 34 cmds) +OK cdrafts-split/LayerPriorRoot.ec (cli, 26 cmds) +OK cdrafts-split/SignerLayerStep.ec (cli, 18 cmds) +OK cdrafts-split/SignerFinishWitness.ec (cli, 14 cmds) +OK cdrafts-split/SignerFinishRecorded.ec (cli, 21 cmds) +OK cdrafts-split/SignerReturnedOpening.ec (cli, 25 cmds) +OK cdrafts-split/RawCompositeWidths.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerWidths.ec (cli, 33 cmds) +OK cdrafts-split/IndependentSignerWidth.ec (cli, 19 cmds) +OK cdrafts-split/RawByteValues.ec (cli, 42 cmds) +OK cdrafts-split/RawWotsBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawTreeBytes.ec (cli, 50 cmds) +OK cdrafts-split/RawCompositeBytes.ec (cli, 35 cmds) +OK cdrafts-split/RawSignerBytes.ec (cli, 51 cmds) +OK cdrafts-split/EncodedSlices.ec (cli, 35 cmds) +OK cdrafts-split/EncodedLayer.ec (cli, 32 cmds) +OK cdrafts-split/EncodedSignatureSlices.ec (cli, 47 cmds) +OK cdrafts-split/EncodedSignature.ec (cli, 39 cmds) +OK cdrafts-split/SignerEncodingCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualByteSignerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualForestCorrect.ec (cli, 24 cmds) +OK cdrafts-split/ActualLayerCorrect.ec (cli, 33 cmds) +OK cdrafts-split/ActualSignerCorrect.ec (cli, 31 cmds) +OK cdrafts-split/WotsSignCorrect.ec (cli, 17 cmds) +OK cdrafts-split/ActualWotsCorrect.ec (cli, 28 cmds) +OK cdrafts-split/PrefixAudit.ec (cli, 60 cmds) +OK cdrafts-split/AuditPrefix.ec (cli, 54 cmds) +OK cdrafts-split/AuditComplete.ec (cli, 35 cmds) +OK cdrafts-split/BadEncCountermodel.ec (cli, 164 cmds) +OK cdrafts-split/TCollResEnum.ec (cli, 135 cmds) +OK cdrafts-split/BadEncSplit.ec (cli, 52 cmds) +OK cdrafts-split/BadEncToTColl.ec (cli, 91 cmds) +OK cdrafts-split/BadEncStep4.ec (cli, 196 cmds) +OK cdrafts-split/RawForsCost.ec (cli, 69 cmds) +OK cdrafts-split/RawForestCost.ec (cli, 62 cmds) +OK cdrafts-split/RawWotsCost.ec (cli, 76 cmds) +OK cdrafts-split/RawMerkleCost.ec (cli, 40 cmds) +OK cdrafts-split/RawLayerCost.ec (cli, 38 cmds) +OK cdrafts-split/RawSignerCost.ec (cli, 68 cmds) +OK cdrafts-split/FullSessionCost.ec (cli, 45 cmds) +OK cdrafts-split/PrefixState.ec (cli, 29 cmds) +OK cdrafts-split/FullPrefix.ec (cli, 21 cmds) +OK cdrafts-split/ByteBound.ec (cli, 21 cmds) +OK cdrafts-split/ByteAudit.ec (cli, 50 cmds) +OK cdrafts-split/NodeDistribution.ec (cli, 33 cmds) +OK cdrafts-split/ProjectedBirthday.ec (cli, 22 cmds) +OK cdrafts-split/MemoNodeCollision.ec (cli, 18 cmds) +OK cdrafts-split/ProjectedMemoOracle.ec (cli, 42 cmds) +OK cdrafts-split/PublicCollisionGame.ec (cli, 22 cmds) +OK cdrafts-split/PublicNodeZero.ec (cli, 40 cmds) +OK cdrafts-split/PublicCollisionState.ec (cli, 24 cmds) +OK cdrafts-split/BytePublicCollision.ec (cli, 32 cmds) +OK cdrafts-split/BytePublicNodeBad.ec (cli, 30 cmds) +OK cdrafts-split/GrindTrace.ec (cli, 42 cmds) +OK cdrafts-split/GrindTraceRecorded.ec (cli, 35 cmds) +OK cdrafts-split/GrindTraceReplay.ec (cli, 50 cmds) +OK cdrafts-split/SignerTrace.ec (cli, 42 cmds) +OK cdrafts-split/MessageHistory.ec (cli, 69 cmds) +OK cdrafts-split/VerifierHistory.ec (cli, 22 cmds) +OK cdrafts-split/RootSessionHistory.ec (cli, 40 cmds) +OK cdrafts-split/ForestRecoveryRecord.ec (cli, 49 cmds) +OK cdrafts-split/LinearCollision.ec (cli, 25 cmds) +OK cdrafts-split/WotsRecoveryTrace.ec (cli, 42 cmds) +OK cdrafts-split/RecoveryTraceOracle.ec (cli, 23 cmds) +OK cdrafts-split/RawRecoveryTrace.ec (cli, 21 cmds) +OK cdrafts-split/WotsRecoveryHistory.ec (cli, 43 cmds) +OK cdrafts-split/LayerRecoveryRecord.ec (cli, 27 cmds) +OK cdrafts-split/VerifierForestRecords.ec (cli, 35 cmds) +OK cdrafts-split/RecoveryCompression.ec (cli, 37 cmds) +OK cdrafts-split/WotsZeroSentinel.ec (cli, 19 cmds) +OK cdrafts-split/VerifierWotsOpening.ec (cli, 21 cmds) +OK cdrafts-split/RootCoverage.ec (cli, 53 cmds) +OK cdrafts-split/NodeCollisionEvents.ec (cli, 22 cmds) +OK cdrafts-split/LayerRecordExtraction.ec (cli, 23 cmds) +OK cdrafts-split/VerifierLayerRecords.ec (cli, 29 cmds) +OK cdrafts-split/SubtreeOpeningCases.ec (cli, 27 cmds) +OK cdrafts-split/SecretLeafOrigins.ec (cli, 41 cmds) +OK cdrafts-split/SecretLeafOracle.ec (cli, 20 cmds) +OK cdrafts-split/ForsPrivateLeaves.ec (cli, 21 cmds) +OK cdrafts-split/ForsRootWitness.ec (cli, 35 cmds) +OK cdrafts-split/ForestRootWitness.ec (cli, 27 cmds) +OK cdrafts-split/ForestCoordinates.ec (cli, 13 cmds) +OK cdrafts-split/ForsRecordExtraction.ec (cli, 20 cmds) +OK cdrafts-split/ForestRecordExtraction.ec (cli, 66 cmds) +OK cdrafts-split/ForestOpeningCases.ec (cli, 33 cmds) +OK cdrafts-split/SessionForestExtraction.ec (cli, 19 cmds) +OK cdrafts-split/TopVerifierOpening.ec (cli, 6 cmds) +OK cdrafts-split/RawWotsExtraction.ec (cli, 13 cmds) +OK cdrafts-split/LayerExtractionHistory.ec (cli, 12 cmds) +OK cdrafts-split/ForsCatalogSound.ec (cli, 45 cmds) +OK cdrafts-split/ForsCatalogAuth.ec (cli, 57 cmds) +OK cdrafts-split/ForsBuilderPath.ec (cli, 39 cmds) +OK cdrafts-split/RawBuilderReference.ec (cli, 35 cmds) +OK cdrafts-split/MerkleBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/LayerWotsExtraction.ec (cli, 19 cmds) +OK cdrafts-split/RootLayerExtraction.ec (cli, 16 cmds) +OK cdrafts-split/RootExtractionHistory.ec (cli, 9 cmds) +OK cdrafts-split/VerifierTopExtraction.ec (cli, 24 cmds) +OK cdrafts-split/SessionTopExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameTopExtraction.ec (cli, 27 cmds) +OK cdrafts-split/ByteGameForestExtraction.ec (cli, 23 cmds) +OK cdrafts-split/ByteForestOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/SessionSubtreeExtraction.ec (cli, 19 cmds) +OK cdrafts-split/ByteGameSubtreeExtraction.ec (cli, 23 cmds) +OK cdrafts-split/RHistoryOps.ec (cli, 53 cmds) +OK cdrafts-split/PreparedFinish.ec (cli, 29 cmds) +OK cdrafts-split/SignerMessages.ec (cli, 30 cmds) +OK cdrafts-split/FullMessageHistory.ec (cli, 29 cmds) +OK cdrafts-split/RSession.ec (cli, 28 cmds) +OK cdrafts-split/RSessionHistory.ec (cli, 43 cmds) +OK cdrafts-split/SignerRecorded.ec (cli, 30 cmds) +OK cdrafts-split/FullHistory.ec (cli, 47 cmds) +OK cdrafts-split/ByteHistory.ec (cli, 32 cmds) +OK cdrafts-split/DigestCoordinates.ec (cli, 46 cmds) +OK cdrafts-split/ByteReplay.ec (cli, 31 cmds) +OK cdrafts-split/ByteSubtreeOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/ByteTopOpeningHop.ec (cli, 18 cmds) +OK cdrafts-split/C10BoundedGrind.ec (cli, 36 cmds) +OK cdrafts-split/C10BoundedSigning.ec (cli, 87 cmds) +OK cdrafts-split/C10WOTSCorrect.ec (cli, 65 cmds) +OK cdrafts-split/C10BoundedHypertree.ec (cli, 111 cmds) +OK cdrafts-split/C10HypertreeCoverage.ec (cli, 53 cmds) +OK cdrafts-split/C10HypertreeCorrect.ec (cli, 180 cmds) +OK cdrafts-split/C10BoundedGame.ec (cli, 66 cmds) +OK cdrafts-split/GFailCharged.ec (cli, 103 cmds) +OK cdrafts-split/C10BoundedMA.ec (cli, 87 cmds) +OK cdrafts-split/C10CubeCorrect.ec (cli, 111 cmds) +OK cdrafts-split/C10CubeConstruction.ec (cli, 247 cmds) +OK cdrafts-split/C10ReductionChoose.ec (cli, 65 cmds) +OK cdrafts-split/C10ReductionForge.ec (cli, 64 cmds) +OK cdrafts-split/C10AcceptedReduction.ec (cli, 45 cmds) +OK cdrafts-split/VecDP.ec (cli, 5 cmds) +OK cdrafts-split/CountDS.ec (cli, 132 cmds) +OK cdrafts-split/C10DigitUniform.ec (cli, 71 cmds) +OK cdrafts-split/C10SurfaceKernel.ec (cli, 23 cmds) +OK cdrafts-split/C10Surface.ec (cli, 67 cmds) +OK cdrafts-split/C10Encoding.ec (cli, 77 cmds) +OK cdrafts-split/C10BoundedIID.ec (cli, 39 cmds) +OK cdrafts-split/C10BoundedLeaf.ec (cli, 55 cmds) +OK cdrafts-split/C10BoundedReduction.ec (cli, 12 cmds) +OK cdrafts-split/C10DeployedCapstone.ec (cli, 64 cmds) +OK cdrafts-split/C10DeployedGeometry.ec (cli, 121 cmds) +OK cdrafts-split/C10DeployedScope.ec (cli, 91 cmds) +OK cdrafts-split/C10HypertreeAccepted.ec (cli, 59 cmds) +OK cdrafts-split/XmssmtCCCharged.ec (cli, 66 cmds) +OK cdrafts-split/C10HypertreeCharged.ec (cli, 12 cmds) +OK cdrafts-split/SharedROBounded.ec (cli, 52 cmds) +OK cdrafts-split/C10SharedSearch.ec (cli, 31 cmds) +OK cdrafts-split/C10SearchBounds.ec (cli, 53 cmds) +OK cdrafts-split/C10SpecControls.ec (cli, 11 cmds) +OK cdrafts-split/C10StatefulSearch.ec (cli, 19 cmds) +OK cdrafts-split/SessionDigest.ec (cli, 37 cmds) +OK cdrafts-split/ClassifiedHistory.ec (cli, 59 cmds) +OK cdrafts-split/ClassifiedGrind.ec (cli, 32 cmds) +OK cdrafts-split/ClassifiedSigner.ec (cli, 42 cmds) +OK cdrafts-split/ClassifiedSession.ec (cli, 73 cmds) +OK cdrafts-split/ClassifiedBound.ec (cli, 54 cmds) +OK cdrafts-split/DarkSide.ec (cli, 153 cmds) +OK cdrafts-split/DarkSideC10.ec (cli, 14 cmds) +OK cdrafts-split/DigestPair.ec (cli, 28 cmds) +OK cdrafts-split/ExposureLog.ec (cli, 21 cmds) +OK cdrafts-split/ExposureAccounting.ec (cli, 31 cmds) +OK cdrafts-split/ForestReferenceHistory.ec (cli, 36 cmds) +OK cdrafts-split/ForsBuilderPrivate.ec (cli, 42 cmds) +OK cdrafts-split/ForsRootRecording.ec (cli, 29 cmds) +OK cdrafts-split/ForsPrivateEntry.ec (cli, 22 cmds) +OK cdrafts-split/ForsKnownSecret.ec (cli, 12 cmds) +OK cdrafts-split/ForsSignWitness.ec (cli, 24 cmds) +OK cdrafts-split/ForsReturnedRoot.ec (cli, 30 cmds) +OK cdrafts-split/ForestRootPrefix.ec (cli, 32 cmds) +OK cdrafts-split/ForestRootRecording.ec (cli, 40 cmds) +OK cdrafts-split/SignerForestReference.ec (cli, 46 cmds) +OK cdrafts-split/HonestForestMessages.ec (cli, 32 cmds) +OK cdrafts-split/LayerReturnedRoot.ec (cli, 45 cmds) +OK cdrafts-split/SignerSubtreeReference.ec (cli, 31 cmds) +OK cdrafts-split/HonestSubtreeMessages.ec (cli, 32 cmds) +OK cdrafts-split/ExposureSupport.ec (cli, 36 cmds) +OK cdrafts-split/ExposureReferences.ec (cli, 37 cmds) +OK cdrafts-split/ExposureComponents.ec (cli, 29 cmds) +OK cdrafts-split/ExposureDriver.ec (cli, 35 cmds) +OK cdrafts-split/ExposureWidths.ec (cli, 58 cmds) +OK cdrafts-split/ExposurePrivate.ec (cli, 29 cmds) +OK cdrafts-split/ForsRootDeterminism.ec (cli, 19 cmds) +OK cdrafts-split/ExposureCoverage.ec (cli, 67 cmds) +OK cdrafts-split/ExposureHistory.ec (cli, 27 cmds) +OK cdrafts-split/ExposureSessionHistory.ec (cli, 16 cmds) +OK cdrafts-split/ExposureGameHistory.ec (cli, 21 cmds) +OK cdrafts-split/ExposureForge.ec (cli, 20 cmds) +OK cdrafts-split/ExposurePartition.ec (cli, 33 cmds) +OK cdrafts-split/ExposurePartitionGame.ec (cli, 35 cmds) +OK cdrafts-split/ExposurePartitionHop.ec (cli, 20 cmds) +OK cdrafts-split/FORS_C.ec (cli, 95 cmds) +OK cdrafts-split/FORS_C_TreePort.ec (cli, 289 cmds) +OK cdrafts-split/LeafOrigins.ec (cli, 36 cmds) +OK cdrafts-split/LeafOriginOracle.ec (cli, 16 cmds) +OK cdrafts-split/ForsLeafOrigins.ec (cli, 20 cmds) +OK cdrafts-split/ForsBuilderSecret.ec (cli, 42 cmds) +OK cdrafts-split/ForsBuilderComparison.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignCorrect.ec (cli, 27 cmds) +OK cdrafts-split/ForsSignRecord.ec (cli, 19 cmds) +OK cdrafts-split/FullFailure.ec (cli, 18 cmds) +OK cdrafts-split/GprocVI.ec (cli, 190 cmds) +OK cdrafts-split/SphincsC10CapstoneCharged.ec (cli, 48 cmds) +OK cdrafts-split/GprocT1Opre.ec (cli, 880 cmds) +OK cdrafts-split/GprocT2Trh.ec (cli, 1184 cmds) +OK cdrafts-split/GprocT3Trco.ec (cli, 385 cmds) +OK cdrafts-split/GprocQBound.ec (cli, 12 cmds) +OK cdrafts-split/GprocQWired.ec (cli, 46 cmds) +OK cdrafts-split/GprocChargedQWired.ec (cli, 53 cmds) +OK cdrafts-split/WotsLegCharged.ec (cli, 145 cmds) +OK cdrafts-split/GprocWotsNamed.ec (cli, 27 cmds) +OK cdrafts-split/GprocTCollNamed.ec (cli, 29 cmds) +OK cdrafts-split/GrindHypertree.ec (cli, 12 cmds) +OK cdrafts-split/GrindJointCoverage.ec (cli, 49 cmds) +OK cdrafts-split/HonestByteContext.ec (cli, 37 cmds) +OK cdrafts-split/HonestByteCost.ec (cli, 20 cmds) +OK cdrafts-split/HonestBytePhysical.ec (cli, 18 cmds) +OK cdrafts-split/LayerBuildExtraction.ec (cli, 23 cmds) +OK cdrafts-split/PublicCollisionBound.ec (cli, 14 cmds) +OK cdrafts-split/RSessionCost.ec (cli, 19 cmds) +OK cdrafts-split/RSessionBound.ec (cli, 43 cmds) +OK cdrafts-split/SessionKeygen.ec (cli, 43 cmds) +OK cdrafts-split/RawSession.ec (cli, 30 cmds) +OK cdrafts-split/SessionPhysical.ec (cli, 30 cmds) +OK cdrafts-split/RawSessionBound.ec (cli, 11 cmds) +OK cdrafts-split/RawSessionCost.ec (cli, 25 cmds) +OK cdrafts-split/SessionClosedForm.ec (cli, 22 cmds) +OK cdrafts-split/TotalBuilderReference.ec (cli, 13 cmds) +OK cdrafts-split/VerifierWotsReplay.ec (cli, 12 cmds) +OK cdrafts-split/WOTS_C_Multi.ec (cli, 172 cmds) +OK cdrafts-split/WotsKeyExtraction.ec (cli, 22 cmds) +### CLI_FILES_RUN=438 CLI_DISAGREEMENTS=0 +### PHASE 1f — WATCHED FILES (T1/T2/T3 branch proofs; NOT certified) +### WATCHED_FILES_RUN=0 WATCHED_FAILURES=0 +### PHASE 1b — NAMED RESULTS EXIST AS LEMMAS (not axioms) +OK EUFCMA_SPHINCS_PLUS_C10_GROUNDED is a lemma in cdrafts-split/SphincsC10CapstoneWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CONTENTFUL_AT_DEPLOYED_ENCODER is a lemma in cdrafts-split/C10DeployedCapstone.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED is a lemma in cdrafts-split/SphincsC10CapstoneCharged.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_AT_DEPLOYED_PARAMS_PINNED_ENCODER_QWIRED is a lemma in cdrafts-split/GprocQWired.ec +OK EUFCMA_SPHINCS_PLUS_C10_CHARGED_QWIRED is a lemma in cdrafts-split/GprocChargedQWired.ec +### PHASE 1c — STATEMENT DIGESTS (names are not enough) +OK unique statement pins: 3000 +### PHASE 1h — STATEMENT COVERAGE (files -> manifest; the other direction) +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +### PHASE 1g — POLICY-CAP QUARANTINE (cdrafts-split/C10DeployedScope.ec) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +### PHASE 2 — CONE CENSUS vs cert-baseline-split.tsv (ADDITIONS FATAL) +cone: keys now=2075 baseline=2075 | ROWS now=2155 baseline=2155 | added=0 removed=0 + ledger=248 parameters=217 bindings=371 meaning=555 definitions=764 total=2155 +### PHASE 2b — CENSUS REGRESSION CANARY (admitted.) +OK census detects 'admitted.' (canary caught) +### PHASE 2c — DIGEST DISCRIMINATION CANARY +OK module-type digest discriminates (module-type:1ed74e3a5614 vs module-type:f9d6086d602e) +OK admit statement digest discriminates (admit:7c56af2d53b1 vs admit:4eeb8521bd94) +OK no live row carries a degenerate digest +OK no live admit row degraded to 'nostmt' +### PHASE 3 — CONTROLS (polarity AND declared reason) +OK control scratch/vac_probe_full.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/probe_len46.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/c10_spec_vacuity_canary.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control cdrafts-split/C10SpecControls.ec (MUST-PASS) +OK control scratch/tier0_degenerate_encoder_excluded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/encode_compat_derivable.ec (MUST-PASS) +OK control scratch/badenc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/badenc_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/wlc_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gwn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/tcoll_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bered_ctlZ.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlE.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlF.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/bes4_ctlG.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlA.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlB.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/gtn_ctlC.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocTCollNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_lemma.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_pos_op.ec (MUST-PASS) +OK control scratch/_scope_pos_lemma.ec (MUST-PASS) +OK control scratch/_scope_env_n_m.ec (MUST-PASS) +OK control scratch/_scope_neg_op_GprocChargedQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SphincsC10CapstoneWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQWired.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocQBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GprocWotsNamed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CounterWrongCardinality.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BytesWrongPadding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10GrindSkip.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/KctlC.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlE.ec (MUST-PASS) +OK control experiments/wots-badenc/count/controls/KctlD.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlSum204.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlLen42.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control experiments/wots-badenc/count/controls/CtlVal.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderPositive.ec (MUST-PASS) +OK control scratch/C10IIDPositive.ec (MUST-PASS) +OK control scratch/C10EncoderWrongOrder.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10EncoderWrongTarget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDErasedFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10IIDMissingSuccessFactor.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGamePositive.ec (MUST-PASS) +OK control scratch/C10BoundedGameNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedGameResetFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAPositive.ec (MUST-PASS) +OK control scratch/C10BoundedMAEraseHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedMAAppendFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePositive.ec (MUST-PASS) +OK control scratch/C10BoundedHypertreeNoGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedHypertreePartialRelease.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10BoundedLeafPositive.ec (MUST-PASS) +OK control scratch/C10BoundedLeafNoPKSeparation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HypertreeCoveragePositive.ec (MUST-PASS) +OK control scratch/SharedROBoundedPositive.ec (MUST-PASS) +OK control scratch/C10RandomizerPositive.ec (MUST-PASS) +OK control scratch/C10HashDomainsPositive.ec (MUST-PASS) +OK control scratch/C10SharedSearchPositive.ec (MUST-PASS) +OK control scratch/C10SearchBoundsPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeChargedPositive.ec (MUST-PASS) +OK control scratch/SharedROKnownNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/SharedRODuplicateNotFresh.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10HashWrongLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10CoverageSinglePath.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedPositive.ec (MUST-PASS) +OK control scratch/C10FORSNoExhaustion.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RandomizerWrongHalf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FORSBoundedSMT.ec (MUST-PASS) +OK control scratch/C10HypertreeAcceptedPositive.ec (MUST-PASS) +OK control scratch/C10HypertreeObserverPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10AcceptedCubeNoHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawOraclePositive.ec (MUST-PASS) +OK control scratch/C10RawCachedAcceptance.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10RawReplayDraw.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10StatefulLostSuccess.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_C10HypertreeAccepted.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSessionPositive.ec (MUST-PASS) +OK control scratch/C10SessionAvailabilityPositive.ec (MUST-PASS) +OK control scratch/C10ByteNoLengthGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteNoValueGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullPublicIsPhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10ByteSecretPrivacy.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SessionClosedForm.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSessionCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawDecode.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10FullFailurePositive.ec (MUST-PASS) +OK control scratch/C10FullFailureResume.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_FullFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10QWithoutFreshness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QWithoutRevisits.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10QAdaptiveOpeningsPositive.ec (MUST-PASS) +OK control scratch/C10QAdaptiveOpeningsFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindJointCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturned.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_GrindHypertree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2FreshRepeatFalse.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2HistoryPositive.ec (MUST-PASS) +OK control scratch/C10Q2NovelPositive.ec (MUST-PASS) +OK control scratch/C10Q2PrivateStateExposed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2RepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q2UnaccountedRepeat.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q2WithoutFailStop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ClassifiedSession.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3ForsRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3MerkleRepeatPositive.ec (MUST-PASS) +OK control scratch/C10Q3PrivateRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WidthPositive.ec (MUST-PASS) +OK control scratch/C10Q3WithoutFORSLeaf.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q3WithoutWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawForsPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawPathReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q4ForsWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q4MerkleWithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WithoutCatalogWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q4WrongRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BuildRootProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_TotalBuilderReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5ForsPositive.ec (MUST-PASS) +OK control scratch/C10Q5ForsWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5MerklePositive.ec (MUST-PASS) +OK control scratch/C10Q5MerkleWithoutCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q5WithoutLeafOrigins.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderSecret.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderComparison.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q6LastPositive.ec (MUST-PASS) +OK control scratch/C10Q6WithoutPrivateEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q6WrongSignatureProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsBuilderPrivate.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsSignRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q7ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q7WithoutAcceptedCount.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutPrivateHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongLeafProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q7WrongSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualWotsCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawShufflePermutation.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsRecovery.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawWotsReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q8ShuffledPositive.ec (MUST-PASS) +OK control scratch/C10Q8WithoutCompressionEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutSpecialEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WithoutTreeOpenings.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q8WrongSpecialTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualForestCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestSignRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9FirstPositive.ec (MUST-PASS) +OK control scratch/C10Q9ForgetsCountFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9LastPositive.ec (MUST-PASS) +OK control scratch/C10Q9WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WithoutSecondWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q9WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualLayerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerSignCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_MerkleBuilderWots.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawMerkleRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q10ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q10WithoutAcceptedDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutDigestEntry.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WithoutPriorRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q10WrongTopLayer.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerFinishRecorded.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerReturnedOpening.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerVerifierReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11CountBoundaryPositive.ec (MUST-PASS) +OK control scratch/C10Q11ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11IdentityPositive.ec (MUST-PASS) +OK control scratch/C10Q11ShufflePositive.ec (MUST-PASS) +OK control scratch/C10Q11WithoutCountRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WithoutWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongFormatLength.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q11WrongRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ActualByteSignerCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_EncodedSignature.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawSignerBytes.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SignerEncodingCorrect.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q12DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12UnderchargedCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q12WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteContext.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestByteCost.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestBytePhysical.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q13ClientsPositive.ec (MUST-PASS) +OK control scratch/C10Q13UnderchargedClient.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WithoutRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q13ZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeCollisionEvents.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_NodeDistribution.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ProjectedBirthday.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q14DropsCapBinding.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsPrefix.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14Undercharged.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q14WrongEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_BytePublicCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicCollisionState.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15BoundPositive.ec (MUST-PASS) +OK control scratch/C10Q15DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15DropsZeroCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15SentinelWithoutEvent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WithoutBudget.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15WrongProjection.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q15ZeroWitnessPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_BytePublicNodeBad.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_PublicNodeZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsZeroSentinel.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WotsPositive.ec (MUST-PASS) +OK control scratch/C10Q16DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRows.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WrongCounterDomain.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutTargetBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutLayerWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16WithoutRootMatch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16TracePositive.ec (MUST-PASS) +OK control scratch/C10Q16ReplayPositive.ec (MUST-PASS) +OK control scratch/C10Q16WithoutHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q16DomainAndCollisionPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RawWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_WotsKeyExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerBuildExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierWotsReplay.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LinearCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RecoveryCompression.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RawRecoveryTrace.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_LayerWotsExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutIndexRange.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q17VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q17WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17WithoutVerifierRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17DropsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q17WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17HopPositive.ec (MUST-PASS) +OK control scratch/C10Q17DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q17IndexEdgesPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_RootCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_RootSessionHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameTopExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteTopOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18LayerPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutRecordedRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18WithoutZeroGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q18WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q18ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsUnrecordedCase.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q18WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18HopPositive.ec (MUST-PASS) +OK control scratch/C10Q18DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q18RecordedRootPersists.ec (MUST-PASS) +OK control scratch/_scope_neg_op_LayerRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierLayerRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestSubtreeMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_SubtreeOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameSubtreeExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteSubtreeOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19RecoveryPositive.ec (MUST-PASS) +OK control scratch/C10Q19ReferencePositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutIndexBound.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19LeafPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutLeafWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutForestReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19WithoutCollisionGuard.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19BuilderPositive.ec (MUST-PASS) +OK control scratch/C10Q19VerifierPositive.ec (MUST-PASS) +OK control scratch/C10Q19WithoutSignatureWidth.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SignerPositive.ec (MUST-PASS) +OK control scratch/C10Q19ForgetsFailure.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19PersistencePositive.ec (MUST-PASS) +OK control scratch/C10Q19CasesPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsMissingReferences.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ByteGamePositive.ec (MUST-PASS) +OK control scratch/C10Q19WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19HopPositive.ec (MUST-PASS) +OK control scratch/C10Q19DropsPrefixCharge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19SpecialRootPositive.ec (MUST-PASS) +OK control scratch/C10Q19SpecialWrongTree.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecoveryRecord.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRootWitness.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRecordExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestRootRecording.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_VerifierForestRecords.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_HonestForestMessages.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestReferenceHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForestOpeningCases.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteGameForestExtraction.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ByteForestOpeningHop.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q19ForestWidthAlias.ec (MUST-PASS) +OK control scratch/C10Q20RecordsPositive.ec (MUST-PASS) +OK control scratch/C10Q20DropsFailureBranch.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ProbabilityPositive.ec (MUST-PASS) +OK control scratch/C10Q20ClaimsZero.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20EntryPositive.ec (MUST-PASS) +OK control scratch/C10Q20AdaptivePositive.ec (MUST-PASS) +OK control scratch/C10Q20AccountingPositive.ec (MUST-PASS) +OK control scratch/C10Q20SessionPositive.ec (MUST-PASS) +OK control scratch/C10Q20NegativeCap.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ReferencesPositive.ec (MUST-PASS) +OK control scratch/C10Q20UnloggedReference.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20WrongDigest.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ByteCountPositive.ec (MUST-PASS) +OK control scratch/C10Q20CountsAllAttempts.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20ForgePositive.ec (MUST-PASS) +OK control scratch/C10Q20WrongInitialSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q20RepeatAndSpecialPositive.ec (MUST-PASS) +OK control scratch/C10Q20RefusalsPositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_ExposureLog.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureDriver.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureSupport.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureAccounting.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureSessionHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureReferences.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureGameHistory.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureForge.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21WidthsPositive.ec (MUST-PASS) +OK control scratch/C10Q21RootPositive.ec (MUST-PASS) +OK control scratch/C10Q21WrongRoot.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21PrivatePositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsCollision.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21DropsWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21CoveragePositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsPrivateCase.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21ComponentsPositive.ec (MUST-PASS) +OK control scratch/C10Q21UnloggedComponent.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21PartitionPositive.ec (MUST-PASS) +OK control scratch/C10Q21GamePositive.ec (MUST-PASS) +OK control scratch/C10Q21WrongSeed.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21HopPositive.ec (MUST-PASS) +OK control scratch/C10Q21DropsResidual.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/C10Q21CoverageEdgesPositive.ec (MUST-PASS) +OK control scratch/C10Q21MixedCoveragePositive.ec (MUST-PASS) +OK control scratch/_scope_neg_op_ExposureWidths.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ForsRootDeterminism.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePrivate.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureCoverage.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposureComponents.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartition.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartitionGame.ec (MUST-FAIL, rejected for the DECLARED reason) +OK control scratch/_scope_neg_op_ExposurePartitionHop.ec (MUST-FAIL, rejected for the DECLARED reason) +controls executed (unique)=411 expected=411 +### PHASE 4 — FORS+C GRINDING MARGIN (heuristic figures, NOT a theorem) +OK margin guardrails 4/4 (happy path) +OK margin negative controls 3/3 (--self-test: the model inverts; guard blocks 1-3 NOT exercised) +OK margin figures match the committed manifest (7/7) +### PHASE 5 — TAINT CONTAINMENT (named-application drift; NOT a soundness proof) + OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) + OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK taint controls: pass=15 unique=15 fail=0 expected=15 +OK taint count controls: pass=4 fail=0 expected=4 +OK inputs unchanged across the run (116f7fa68bf756dd0602c916d3eb3959) +### RESULT: GREEN +make: Leaving directory '/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification' diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-recovered-container-wait.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-recovered-container-wait.json new file mode 100644 index 000000000..0a0dccb95 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/pre-integration-q21-recovered-container-wait.json @@ -0,0 +1,6 @@ +{ + "returncode": 0, + "stdout": "0\n", + "stderr": "", + "container": "17af4055e821b15a80ab5529f830d3f2bdfe459ef689ac3a3ad81229fccf1456" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/preflight-gates.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/preflight-gates.log new file mode 100644 index 000000000..7dd37aa01 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/preflight-gates.log @@ -0,0 +1,6 @@ +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/prototype-receipts.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/prototype-receipts.json new file mode 100644 index 000000000..d72e5e102 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/prototype-receipts.json @@ -0,0 +1,178 @@ +[ + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureComponents.ec", + "source_sha256": "02253d7e750f559e47f18e151719db400dc15ad9db1124dad3cb7f149f8bfeb1", + "mode": "compile", + "exit": 0, + "seconds": 7.73, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureComponents-compile-1790591498651511684.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec", + "log_sha256": "6883a27045980ecaf3952f4f156e67a6b7e1aa286c67e73c3b822ac7cd4ab0fe" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureComponents.ec", + "source_sha256": "02253d7e750f559e47f18e151719db400dc15ad9db1124dad3cb7f149f8bfeb1", + "mode": "cli", + "exit": 0, + "seconds": 7.73, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureComponents-cli-1790591506409240355.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureComponents.ec", + "log_sha256": "bf5e5323bf8f45d4bedd74268fd171bd17391198359de8a47b6274e8b7c5a2bc" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureCoverage.ec", + "source_sha256": "da243bae71e0488bd832269da8e6037265af43a5f4951336c4b9bb346e76c393", + "mode": "compile", + "exit": 0, + "seconds": 8.83, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureCoverage-compile-1790591514164452189.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec", + "log_sha256": "8d77736eb610525f4b609c76f600ab6ef6209bbe661b913339852f36ebb31e0d" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureCoverage.ec", + "source_sha256": "da243bae71e0488bd832269da8e6037265af43a5f4951336c4b9bb346e76c393", + "mode": "cli", + "exit": 0, + "seconds": 8.98, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureCoverage-cli-1790591523020941391.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureCoverage.ec", + "log_sha256": "4e6a2200d98fd380e05131c7bfa2768b99de4ebb2af42107f080861f6688cf8f" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartition.ec", + "source_sha256": "32e91e8e1dab3c348f5baf38d03e03570e4b6b8e726cb524804cf1850e30e38e", + "mode": "compile", + "exit": 0, + "seconds": 9.58, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartition-compile-1790591532035410745.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec", + "log_sha256": "3e26ac56edaa990375b3d211d883be254c890aa982e3270c8c59d6accbff7168" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartition.ec", + "source_sha256": "32e91e8e1dab3c348f5baf38d03e03570e4b6b8e726cb524804cf1850e30e38e", + "mode": "cli", + "exit": 0, + "seconds": 9.63, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartition-cli-1790591541655685478.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartition.ec", + "log_sha256": "6ea02b0dc8936e9f4bfe808e49aea273db36ed712929cbe1dee825d061953c4b" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartitionGame.ec", + "source_sha256": "125a3fd3a5c5434cc3b827edac32f2c9343818481cc70cafa98e4cc59cce849e", + "mode": "compile", + "exit": 0, + "seconds": 10.92, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartitionGame-compile-1790591551324247543.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec", + "log_sha256": "9df4edd98fa369c23e3638f3a1a7c83e9353d192bfb2161d0954444d7e03ea87" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartitionGame.ec", + "source_sha256": "125a3fd3a5c5434cc3b827edac32f2c9343818481cc70cafa98e4cc59cce849e", + "mode": "cli", + "exit": 0, + "seconds": 12.29, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartitionGame-cli-1790591562276994689.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionGame.ec", + "log_sha256": "b4b5b41338023fce67f1f2ccf786053b953a60a1627f90d6c69398b536f20d1a" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartitionHop.ec", + "source_sha256": "59f8f70527e0290e7ee46ae86c5d187a4e953b5973d7978d453e515a61be9647", + "mode": "compile", + "exit": 0, + "seconds": 12.39, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartitionHop-compile-1790591574596953737.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec", + "log_sha256": "1da02b5c143bf1057fef457b039fb489423a0924fc2e7a79597cd4c451f126ef" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePartitionHop.ec", + "source_sha256": "59f8f70527e0290e7ee46ae86c5d187a4e953b5973d7978d453e515a61be9647", + "mode": "cli", + "exit": 0, + "seconds": 12.77, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePartitionHop-cli-1790591587021310498.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePartitionHop.ec", + "log_sha256": "9dac7b541678e294f8329e1b2c2987ee2ab2656c26c275f71842cbde0478d6ef" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePrivate.ec", + "source_sha256": "f0648d6d58f70943d49b9ef044eb68e2f809bb13c50abfeb139e6deef91d8e14", + "mode": "compile", + "exit": 0, + "seconds": 10.04, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePrivate-compile-1790591599819187341.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec", + "log_sha256": "ea9a9c295183f7df3263214f146e91472fd370a3dcf67c2e312628cd1704c828" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposurePrivate.ec", + "source_sha256": "f0648d6d58f70943d49b9ef044eb68e2f809bb13c50abfeb139e6deef91d8e14", + "mode": "cli", + "exit": 0, + "seconds": 10.11, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposurePrivate-cli-1790591609887665624.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposurePrivate.ec", + "log_sha256": "67cc2c6bb65054fb2d06cea450d8fc4340412e1a0c2ca673eb3f2b31e8fee0e2" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureWidths.ec", + "source_sha256": "fef93fdaa83c7e37104dfdbfb67aedfd1d3ec68903ade5639c75f1764ffa3180", + "mode": "compile", + "exit": 0, + "seconds": 4.72, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureWidths-compile-1790591620032260840.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec", + "log_sha256": "501669de1ceedfef9ebe82082f65c1432c8e5b7398d92902974a8523a2630b04" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ExposureWidths.ec", + "source_sha256": "fef93fdaa83c7e37104dfdbfb67aedfd1d3ec68903ade5639c75f1764ffa3180", + "mode": "cli", + "exit": 0, + "seconds": 4.82, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ExposureWidths-cli-1790591624788266643.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ExposureWidths.ec", + "log_sha256": "b5c9f6bc24bad350d4a5ac9b867b3d3d6071669034335408564f67d10f11532b" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ForsRootDeterminism.ec", + "source_sha256": "f5c5bac05403caf0194171080a90d72d95a4fbdc98dc28824fe4447011c225e7", + "mode": "compile", + "exit": 0, + "seconds": 4.92, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ForsRootDeterminism-compile-1790591629645288552.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec", + "log_sha256": "f6515a7406a37bf6eebc0768471672e0183889eeb5f3197179f09df21d221e6e" + }, + { + "file": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/experiments-q21/ForsRootDeterminism.ec", + "source_sha256": "f5c5bac05403caf0194171080a90d72d95a4fbdc98dc28824fe4447011c225e7", + "mode": "cli", + "exit": 0, + "seconds": 5.04, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/ForsRootDeterminism-cli-1790591634605396352.log", + "diagnostics": [], + "enrolled_file": "contracts/verification/easycrypt/c10-port/cdrafts-split/ForsRootDeterminism.ec", + "log_sha256": "6791e6a0a256581ea2131c2226dc669054b82036d7eb11968c4a5185175470c6" + } +] diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checker-regressions.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checker-regressions.log new file mode 100644 index 000000000..e98c33e4c --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checker-regressions.log @@ -0,0 +1,1332 @@ +./home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/stmt_digest.py:50: ResourceWarning: unclosed file <_io.TextIOWrapper name='A.ec' mode='r' encoding='utf-8'> + body = strip_comments(io.open(path, encoding='utf-8', errors='replace').read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +......../home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/stmt_coverage.py:51: ResourceWarning: unclosed file <_io.TextIOWrapper name='closure-c10-split.txt' mode='r' encoding='UTF-8'> + rs = [os.path.join(D, n.strip() + '.ec') for n in open('closure-c10-split.txt') +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/SPHINCS_PLUS.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/FL_SL_XMSS_MT_ES.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/WOTS_TW_ES.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/RadixEncoding.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/TweakableHashFunctions.eca' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/KeyedHashFunctions.eca' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/HashAddresses.eca' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/MerkleTrees.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/BinaryTrees.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/FORS_ES.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/OpenPRE_From_TCR_DSPR_THF.eca' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposurePartitionHop.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposurePartitionGame.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PublicNodeZero.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PublicCollisionGame.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ProjectedMemoOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MemoNodeCollision.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawKeygen.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/KeygenPrefixes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RTailFresh.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixGuess.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SecretPrefix.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10RawOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10Randomizer.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10Counter.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10Bytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RoleGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixHybrid.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10RawGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10HashDomains.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10DeployedInstance.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SphincsC10Content.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SphincsC10CapstoneWired.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FORS_C10_Multi.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FORS_C10.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BoundedIID.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocFORSC10.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FxChain.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RtopCSoundness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/XmssmtCC_All.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WOTS_C_Interactive.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WOTS_C_Reduction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WOTS_C_Scheme.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WOTS_C_Real.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/STCR_C.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/Grind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/XMSSMT_C_Scheme.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawTrial.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawRHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RoleGrindCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ProjectedBirthday.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeDistribution.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionForestExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestOpeningCases.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRecordExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LinearCollision.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawChainTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LinearOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LinearChain.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AcceptedContexts.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ContextExhaustion.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/IdealWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExhaustionCharges.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindExhaustion.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StreamExpectation.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/TrialExpectation.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindTail.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FORSC10Digest.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StreamBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RTailContexts.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RTailMessages.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PersistentGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWots.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawShuffle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PhysicalKeygenCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparedRaw.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparedExhaustion.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparedGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparedHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixIdeal.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixGames.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/KeygenExhaustion.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawKeygenCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsRecordExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeCollisionEvents.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsLeafInputs.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawForsPathReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindReturned.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawHistoryPreservation.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSigner.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawLayer.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawMerkle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawFors.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawForest.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PathOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PathReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PathCollision.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PathInputs.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawPathReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsPrivateLeaves.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SecretLeafOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SecretLeafOrigins.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeCatalogDomain.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeCatalog.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeGridPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/NodeGridIndex.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DyadicStack.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StackAlignment.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsCatalogObserver.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StackPowers.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogStack.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StackProjection.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsBuildWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsRootWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RootCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleRootWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsRootDeterminism.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogDeterminism.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsLeafReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsChainReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsReferenceOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsReferenceStep.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawLeafChains.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsCatalog.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsReferenceRoot.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawCountRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MonotoneHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthCaptureSchedule.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthCaptureIndex.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthPhase.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthSlots.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSignature.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleCatalogObserver.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleBuildWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRootWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestOpenings.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRecoveryReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FixedHashReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsOpeningReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsComponentHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RecoveryHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawForsComparison.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestSignRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawShufflePermutation.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ShuffleSwap.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ShuffleBytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestOneStep.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsOneRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BuilderTotality.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawTreeWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestCoordinates.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SubtreeOpeningCases.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierLayerRecords.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerRecoveryRecord.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerComponentHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerRecoveryHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerRecoveryCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawPathComparison.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsOpeningRecovery.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsRecovery.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FixedWotsChains.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsChainSplit.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LinearSplit.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ChainHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawChainReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsSignatureValue.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsSignWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsCountWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsFillCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FixedChainReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparationHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsFill.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsCatalogOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsRecoveryHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawRecoveryTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RecoveryTraceOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsRecoveryTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerCoordinates.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerRecordExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierWotsOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsZeroSentinel.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RecoveryCompression.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierForestRecords.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRecoveryRecord.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RootSessionHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullSession.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MessageHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindTraceReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindTraceRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerReturned.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AcceptedSampling.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerAccepted.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/StreamAccepted.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/TrialAccepted.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposurePartition.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DigestCoordinates.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuditComplete.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuditPrefix.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixAudit.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DigestPrefix.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteAudit.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteSession.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawDecode.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSlices.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawCodec.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullPrefix.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullSessionCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSignerCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawLayerCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawMerkleCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawForestCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawForsCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PrefixState.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureAccounting.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureLog.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureComponents.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerSignOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerSignWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleBuilderWots.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleWotsLeaves.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleBuilderPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BuilderPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogForest.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleCatalogAuth.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthAdvance.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthStepInvariant.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthSteps.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AuthCaptureValue.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogForestMerge.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleCatalogSound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CatalogMerge.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerWotsSign.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureReferences.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerSubtreeReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerReturnedRoot.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerSignCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawMerkleRootWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BuildRootProjection.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerLayerStep.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerPriorRoot.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleRootPersistence.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerOpeningReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerForestReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRootRecording.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestRootPrefix.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsReturnedRoot.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsRootRecording.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsBuilderPrivate.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsBuilderPath.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsCatalogAuth.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsCatalogSound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsSignWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsKnownSecret.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsPrivateEntry.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/HonestSubtreeMessages.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/HonestForestMessages.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureSupport.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForestReferenceHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsRootDeterminism.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposurePrivate.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/IndependentSignerWidth.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/IndependentWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSignerWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawCompositeWidths.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureDriver.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureSessionHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerEncodingCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/EncodedSignature.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/EncodedSignatureSlices.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/EncodedSlices.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/EncodedLayer.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSignerBytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawCompositeBytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawTreeBytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsBytes.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawByteValues.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerReturnedOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerFinishRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerFinishWitness.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerFinishState.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerLayerTrace.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerForestStep.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerGrindRoot.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BytePublicNodeBad.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BytePublicCollision.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PublicCollisionState.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureForge.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteGameForestExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteGameTopExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionTopExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierTopExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/TopVerifierOpening.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RootExtractionHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RootLayerExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerWotsExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/MerkleBuilderComparison.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawBuilderReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerExtractionHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawWotsExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ExposureGameHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteForestOpeningHop.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteSubtreeOpeningHop.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteGameSubtreeExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionSubtreeExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteTopOpeningHop.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VerifierWotsReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LayerBuildExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsKeyExtraction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PublicCollisionBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/HonestBytePhysical.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/HonestByteCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/HonestByteContext.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ActualByteSignerCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerVerifierReplay.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerRecoveryStep.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ActualSignerCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ActualLayerCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ActualForestCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ActualWotsCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsSignCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsSignRecord.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsSignCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsBuilderComparison.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsBuilderSecret.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ForsLeafOrigins.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LeafOriginOracle.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/LeafOrigins.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/TotalBuilderReference.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ByteHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerRecorded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RSessionHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RSession.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RHistoryOps.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/PreparedFinish.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullMessageHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SignerMessages.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ClassifiedSession.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ClassifiedSigner.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ClassifiedGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ClassifiedHistory.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/ClassifiedBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionDigest.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindHypertree.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AcceptedHypertree.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DigestWindow.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GrindJointCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/AcceptedCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FreshCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DigestPair.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FullFailure.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSessionCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSession.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionKeygen.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RSessionBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RSessionCost.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionClosedForm.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/RawSessionBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SessionPhysical.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10StatefulSearch.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SharedROBounded.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10HypertreeAccepted.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GFailCharged.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedMA.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedGame.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedSigning.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedGrind.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedHypertree.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10AcceptedReduction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10ReductionForge.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10HypertreeCoverage.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10CubeCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10HypertreeCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10WOTSCorrect.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10ReductionChoose.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10CubeConstruction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10HypertreeCharged.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/XmssmtCCCharged.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10SearchBounds.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10Surface.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10SurfaceKernel.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/CountDS.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/VecDP.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10Encoding.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10DigitUniform.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedIID.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10SharedSearch.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedLeaf.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10BoundedReduction.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocTCollNamed.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BadEncStep4.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BadEncToTColl.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BadEncSplit.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/TCollResEnum.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocWotsNamed.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WotsLegCharged.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10DeployedCapstone.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocQBound.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocT3Trco.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocVI.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocT2Trh.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocT1Opre.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocChargedQWired.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/GprocQWired.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/SphincsC10CapstoneCharged.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/BadEncCountermodel.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DarkSideC10.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/DarkSide.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10SpecControls.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10DeployedScope.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/C10DeployedGeometry.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FORS_C_TreePort.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/FORS_C.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='cdrafts-split/WOTS_C_Multi.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +./home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/A.ec' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port/tools/cert_cone.py:117: ResourceWarning: unclosed file <_io.TextIOWrapper name='base-c10-split/B.eca' mode='r' encoding='UTF-8'> + text = strip_comments(open(p).read()) +ResourceWarning: Enable tracemalloc to get the object allocation traceback +. +---------------------------------------------------------------------- +Ran 11 tests in 3.590s + +OK +OK EasyCrypt manual source binding: 402 inputs (not extraction) diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checks.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checks.json new file mode 100644 index 000000000..8114eb146 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-checks.json @@ -0,0 +1,94 @@ +[ + { + "name": "source-binding", + "command": [ + "python3", + "tools/check_source_binding.py" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port", + "exit": 0, + "seconds": 0.027927517992793582, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-source-binding.log", + "sha256": "fd3dce2452bf9d4d85e512839702758b15daaa730abc0dead6d53aec047c6e7b" + }, + { + "name": "identity", + "command": [ + "bash", + "cert_gate_split.sh", + "--identity-only" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port", + "exit": 0, + "seconds": 5.523136297008023, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-identity.log", + "sha256": "c3b38fb51a19a9023906e64c2120e3628c6103f25c67be262f4403e73480c74e" + }, + { + "name": "static-contract", + "command": [ + "python3", + "tools/split_contract.py" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port", + "exit": 0, + "seconds": 41.26204337600211, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-static-contract.log", + "sha256": "65a340017cef3848daa07e87bc634032336bae05792b76424be63b252f781e58" + }, + { + "name": "checker-regressions", + "command": [ + "python3", + "tools/test_split_contract.py" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/contracts/verification/easycrypt/c10-port", + "exit": 0, + "seconds": 3.6985352049960056, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-checker-regressions.log", + "sha256": "e10260cf4e9f3b13647de83052601584deddfea72e4c6f3b7956ad369954d08a" + }, + { + "name": "rust-transcript", + "command": [ + "cargo", + "test", + "--locked", + "-p", + "sphincs-c10", + "--target", + "x86_64-unknown-linux-gnu", + "--features", + "sim-internals", + "--test", + "easycrypt_transcript" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition", + "exit": 0, + "seconds": 0.5439600639947457, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-rust-transcript.log", + "sha256": "92e8d9bd6db7286ee726ce6344d1fa8d79f7dccfe2cf1a1fefd7d2ec62e2ac68" + }, + { + "name": "progress-correspondence", + "command": [ + "cargo", + "test", + "--locked", + "-p", + "sphincs-c10", + "--target", + "x86_64-unknown-linux-gnu", + "--features", + "sim-internals", + "--test", + "signing_suite", + "positive_progress" + ], + "cwd": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition", + "exit": 0, + "seconds": 0.5840760050050449, + "log": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-integration-progress-correspondence.log", + "sha256": "77e9f1e557be9e522948abc6000843d78b7d753266143e40e8c4276b3699157c" + } +] diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity-drift.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity-drift.log new file mode 100644 index 000000000..b5cb6eb8b --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity-drift.log @@ -0,0 +1,4 @@ +### INPUTS_SHA256 06793da6caf1b7efe0ff7b7691927981 +FAIL INPUTS_SHA256 DRIFT: committed 116f7fa68bf756dd0602c916d3eb3959, computed 06793da6caf1b7efe0ff7b7691927981 + a certified input or the certification machinery changed; + re-baseline deliberately and update cert-identity.tsv in the same commit diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity.log new file mode 100644 index 000000000..90622ddd4 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-identity.log @@ -0,0 +1,2 @@ +### INPUTS_SHA256 06793da6caf1b7efe0ff7b7691927981 +OK INPUTS_SHA256 matches the committed identity diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-progress-correspondence.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-progress-correspondence.log new file mode 100644 index 000000000..3bd21ae98 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-progress-correspondence.log @@ -0,0 +1,10 @@ + Compiling sphincs-c10 v0.1.0 (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/sphincs-c10) + Finished `test` profile [optimized + debuginfo] target(s) in 0.37s + Running tests/signing_suite.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/signing_suite-76f06d8dc8d8f655) + +running 2 tests +test positive_progress_callback_invoked_monotonically_to_100 ... ok +test positive_progress_reports_inside_each_hypertree_layer ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 41 filtered out; finished in 0.19s + diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-remediation.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-remediation.json new file mode 100644 index 000000000..aed6c19c4 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-remediation.json @@ -0,0 +1,33 @@ +{ + "utc": "2026-09-29T13:32:37.816183+00:00", + "previous_source": "4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6", + "previous_base": "459a749562cc6edec0997b14d145da958492fd63", + "new_base": "75d7bdaaf3840edc8570b685ecd21591ababcff3", + "changed_source_bindings": [ + { + "path": "sphincs-c10/src/wots.rs", + "old": "e7ebe1d71591e68f6045383b041905ff17ad5822def35e77e11244ffdf49c56b", + "new": "c4f756501733a54d30dc4ae1f193032d4f720a350d8c9f511b49b1aab272a019", + "exists": true + }, + { + "path": "sphincs-c10/src/hypertree.rs", + "old": "0541fe8f4b6f284d060c620e9aa38f02a9384e551f47577e85cd7f648ab14b7b", + "new": "8e34ace4dad4c9171564f2293513de3c357fcb70ca6124db0415160bce205500", + "exists": true + }, + { + "path": "sphincs-c10/src/merkle.rs", + "old": "f787428b15cea6fb353eb3e1830f9f737067ce70a74e4d6b79113b83a1f3aed0", + "new": "9fe60480789238abbb7e680fc532464ff98679d8c66f8cfbc07329bb853afdc6", + "exists": true + } + ], + "completed_previous_replay": "q21-pre-integration-green", + "proof_source_changes": false, + "blocker": "Prospective merge has stale Rust binding hashes after upstream signing-progress changes. Refresh source correspondence with focused host checks, then re-freeze, full replay and bounded review on combined candidate.", + "input_identity": "06793da6caf1b7efe0ff7b7691927981", + "manual_correspondence": "Changes thread the existing ProgressSink into fixed leaf-count and public WOTS-count progress notifications. With progress_none()/returning observational callback, hash inputs, chain construction, counters and returned bytes are unchanged. Callback side effects, panics, reentrancy, timing and production UI are outside the EasyCrypt model. Finite host checks are not extraction/refinement.", + "candidate": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "candidate_tree": "703275ba24d5b610d494df3f9fbad928904d3d05" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-rust-transcript.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-rust-transcript.log new file mode 100644 index 000000000..3d1f23837 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-rust-transcript.log @@ -0,0 +1,12 @@ + Compiling sphincs-c10 v0.1.0 (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/candidate-forgery-partition/sphincs-c10) + Finished `test` profile [optimized + debuginfo] target(s) in 0.51s + Running tests/easycrypt_transcript.rs (/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/host-target/x86_64-unknown-linux-gnu/debug/deps/easycrypt_transcript-dcf76e94d34527c4) + +running 4 tests +test concrete_hash_domains_match_easycrypt_layouts ... ok +test concrete_digits_match_easycrypt_bit_order_and_target ... ok +test concrete_fors_and_hypertree_fields_match_lsb_model ... ok +test concrete_digest_matches_easycrypt_byte_adapter ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-source-binding.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-source-binding.log new file mode 100644 index 000000000..cfa4c4ae2 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-source-binding.log @@ -0,0 +1 @@ +OK EasyCrypt manual source binding: 402 inputs (not extraction) diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-stale-binding.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-stale-binding.log new file mode 100644 index 000000000..880ef4220 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-stale-binding.log @@ -0,0 +1 @@ +FAIL: source binding changed: sphincs-c10/src/wots.rs diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-static-contract.log b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-static-contract.log new file mode 100644 index 000000000..7dd37aa01 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/q21-integration-static-contract.log @@ -0,0 +1,6 @@ +OK coverage: all 2599 top-level statements across 438 CONE files are pinned (roots 181 + transitively required) +OK quarantine intact: 24 declarations, 3 require lines, sealed leaf, no inbound requires, no magnitude leakage +OK taint containment: closure = 2 lemmas, none of the 120 headline results is in it (name-level, NOT a soundness proof -- see the tool header) +OK scope-probe linkage: 112 headline files <-> 112 registered scope probes (exact bijection) +OK unique statement pins: 3000 +OK split static contract: 438 files; proof execution not performed diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-adapter-preflight.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-adapter-preflight.json new file mode 100644 index 000000000..367349435 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-adapter-preflight.json @@ -0,0 +1,15 @@ +{ + "utc": "2026-09-29T13:35:30.451299+00:00", + "reason": "Claude Code advanced to 2.1.284; no-network adapter self-test passed again. Adapter source unchanged; concrete dry-run and read-only preflight required.", + "versions": { + "codex": "codex-cli 0.158.0", + "claude": "2.1.284 (Claude Code)", + "bwrap": "bubblewrap 0.9.0" + }, + "files": { + "native-review-runner/run_review_wave.py": "c416a13ad85e2a2beb3e709313214f4d403c87c6e2f5bad11fe168cfe104934a", + "native-review-runner/self_test.py": "2a2c6499ba35c926d4c2b0a2d25686a552b669fa284f129abad5f4a9a044c625", + "q21-review-runner-self-test-r3.log": "2c92b05f48f0951188444328e016c28becac21505ad0fd8ab9568c0f1f6d6717" + }, + "self_test_exit": 0 +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-prompt.txt b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-prompt.txt new file mode 100644 index 000000000..7686e834b --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-prompt.txt @@ -0,0 +1,26 @@ +Review PQSigner OS for merge of returned-coordinate forgery-partition proofs. Do not launch agents or other models. +Target: /home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3 +Commit: d03db3d99bf1eb34b6e27ed32fa60c43bed66fed +Tree: 703275ba24d5b610d494df3f9fbad928904d3d05 +Compare: 75d7bdaaf3840edc8570b685ecd21591ababcff3..d03db3d99bf1eb34b6e27ed32fa60c43bed66fed + +Focus on formal-verification correctness: +1. Every actual successful response, including repeats, must satisfy the retained width invariant through adaptive calls and final verification. The observer and original signer/client/oracle calls, failure behavior and caps must be unchanged. +2. Fixed-coordinate complete FORS roots must be unique from the actual public/private tables. Literal logged ordinary values must match their exact private coordinates outside the stated collision event; the thirteenth component remains a root-as-secret. +3. Coverage ranges over all logged responses. Different ordinary trees may be covered by different responses; empty logs and repeated entries behave correctly. The uncovered case must identify a private value at a coordinate absent from every returned response, without inferring secrecy. +4. New top/bottom WOTS component messages must be compared at their correct addresses with all retained returned messages. Missing references must not imply absence of public/intermediate/chain exposure. +5. Four-case extraction and the probability hop must retain the same initialized byte client, seed/root, message freshness, cap, res event, collision/zero exclusions and original charges. Different H_msg inputs from prior outputs do not mean freshness against public queries. +6. The explicit nonnegative-product proof in XmssmtCC_All must preserve the original statement and assumptions. Preserve all previous statements and assumptions; add no axiom/admit/clone assumption. Controls and claims must distinguish successful proofs, conditional examples, rejected applications and unresolved probability charges. No closed numerical EUF or full information-exposure claim. +7. Three Rust bindings (wots.rs, hypertree.rs, merkle.rs) are refreshed after upstream progress callbacks. Compare their delta from 4bc963120eabe5e2bc7d2c6fb4b8c123386d27f6: verify unchanged hash/chain/count/byte correspondence for the noninterfering callback path; do not infer callback-side-effect, timing, extraction or production assurance from finite fixtures. + +Evidence already green: all proof and control bytes are unchanged from a completed 438-direct/438-CLI/411-control cold replay. The combined tree passed Rust transcript and progress-correspondence tests, source binding, static contract and eleven checker regression groups. The corrected XmssmtCC_All file also passed both whole-file drivers. Eight selected modules passed 16 source-matched whole-file checks under direct/default-CLI drivers. Enrolled bytes match that checkpoint. All 25 new controls match their declared outcomes (ten positives, eight scope probes, seven exact-statement mismatches). Eleven checker regression groups, static contract and 402-input source binding pass. Inventory: 438 targets, 181 roots, 3000 pins, 2599 statements, 2155 census rows and 411 controls. Full cold two-driver replay is running separately and remains required before landing. +Non-goals: further runtime/API/parameter changes, complete information-exposure analysis, private/chain/encoding numerical charges, closed EUF, Rust extraction, SHA-256/QROM, hardware/shipment, deferred playbook sweep or optional hardening. + +Inspect the exact diff and affected callers source-first. Keep the target immutable. Use read-only commands only; no edits, hardware, external writes, prior reports, status prose, playbook catalogs, other models or follow-up turns. Ignore style and optional hardening. You have 15 minutes and 800 words. Stop exploration in time to return a compact report. +Return exactly: +VERDICT: GO | FIX | GAP +TARGET: d03db3d99bf1eb34b6e27ed32fa60c43bed66fed / 703275ba24d5b610d494df3f9fbad928904d3d05 +FINDINGS: +- — mechanism; evidence; smallest fix +GAPS: none | one line +Use at most three findings; FIX needs falsifiable evidence. If none, write FINDINGS: none. diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-summary.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-summary.json new file mode 100644 index 000000000..1a984b8b9 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-summary.json @@ -0,0 +1,77 @@ +{ + "candidate": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "coordinator_review_complete": true, + "accepted_blockers": [], + "reviewers": { + "codex": { + "verdict": "GAP", + "seconds": 233.953, + "words": 34, + "report": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex/report.txt", + "sha256": "a01477834cd2c1629fcd5766d85f0526855ce0fd699df642ab2eb409bcc7e83a" + }, + "claude": { + "verdict": "GO", + "seconds": 156.249, + "words": 504, + "report": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/claude/report.txt", + "sha256": "1e082c8f6f8bda047eee34a57e5f6d5c3ea98e23ea77ab423439d97006af35fb" + } + }, + "pending_gate_only": true, + "mandatory_gap": { + "description": "Combined-source full cold two-driver replay must complete GREEN before landing", + "resolved": true + }, + "coordinator_verdict": "GO", + "remaining_gate": "none; source-matched full cold replay completed GREEN", + "notes": [ + { + "source": "Opus", + "status": "NOTE; nonblocking; deferred to #100/#295 next reduction work", + "claim": "Game/hop statements omit the accumulated support invariant, making downstream reuse less direct.", + "coordinator_evidence": "ExposurePartitionGame.exposure_driver_partition proves support for seed0/pad root0 before applying new_message_forest_partition. exposure_context_partition applies it to the actual keygen root. new_message_exposure_partition retains the corresponding top root witness. Existing ExposureForge.byte_exposure_forgery_accounted and MerkleRootWitness.merkle_root_witness_unique support later recombination. No incorrect claim or required source correction; keep future invariant-carrying convenience out of Phase D." + } + ], + "remediation": { + "trigger": "Observed mandatory CLI failure at existing XmssmtCC_All.ec:3655", + "correction": "Explicit mulr_ge0 application; unchanged theorem and assumptions", + "focused_evidence": "Both whole-file drivers passed without diagnostics on the corrected source", + "initial_evidence": "q21-initial-failed-replay", + "prior_verdicts_authorize_corrected_source": false + }, + "integration": "q21-integration-remediation.json", + "receipt_summary": "Opus returned GO; Astra reported GAP solely for the then-pending combined-source full cold replay. Both found no source-level blocker across all seven focus areas, including the three refreshed Rust bindings. The coordinator resolved the exact pending-replay gap with the matching completed green replay; raw reviewer verdicts are preserved.", + "utc": "2026-09-29T13:41:45.502973+00:00", + "resolved_gate": { + "started_utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "clock_start": { + "utc": "2026-09-29T13:36:09.331514+00:00", + "epoch": 1790688969.3315377, + "monotonic": 67961.583879087, + "boottime": 178391.124436683, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "timing_basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "pid": 979710, + "commit": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "tree": "703275ba24d5b610d494df3f9fbad928904d3d05", + "exit_code": 0, + "finished_utc": "2026-09-29T16:53:32.916993+00:00", + "clock_end": { + "utc": "2026-09-29T16:53:32.916993+00:00", + "epoch": 1790700812.917018, + "monotonic": 79805.169359823, + "boottime": 190234.709917289, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + }, + "active_elapsed_seconds": 11843.585480736001, + "wall_elapsed_seconds": 11843.585480213165, + "boottime_elapsed_seconds": 11843.585480606009, + "suspended_seconds": 0.0 + }, + "mandatory_gap_resolution": "The same-source cold replay completed GREEN with unchanged proof checks and reviewer bounds. Local watchdog now measures active elapsed time excluding suspension; raw reviewer GAP preserved." +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-wave-manifest.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-wave-manifest.json new file mode 100644 index 000000000..e841b2281 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/review-wave-manifest.json @@ -0,0 +1,193 @@ +{ + "base": "75d7bdaaf3840edc8570b685ecd21591ababcff3", + "created_at": "2026-09-29T13:40:04.020325+00:00", + "executables": { + "claude": { + "path": "/home/nicola/.local/bin/claude", + "sha256": "5cd90aabd83f8a15136c35aa37bb1d92b348993573316643dc3fe4e04afbf88f", + "version": "2.1.284 (Claude Code)" + }, + "codex": { + "path": "/home/nicola/.local/bin/codex", + "sha256": "167c0148a849d2444f1b5a7fb5f8bb2de1de5ae13a2a504b833fc765980f5cd9", + "version": "codex-cli 0.158.0" + } + }, + "interrupted": false, + "isolation": { + "codex_native_readonly": true, + "executable": { + "path": "/usr/bin/bwrap", + "sha256": "e318903862396f96de3df57264e0158682b952fd3fb53ac23d876413e7b30f71", + "version": "bubblewrap 0.9.0" + }, + "kind": "native-codex-read-only-and-outer-bubblewrap-other-legs", + "read_only_paths": [ + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "/home/nicola/repos/PQSigner_OS/.git" + ] + }, + "isolation_boundary": { + "host_write_scope": "paths outside protected mounts remain writable; scratch-only behavior is instructed, not OS-enforced", + "limitation": "mutual blindness, host secrets, symlink escapes, and shared network are outside this local isolation boundary", + "output_separation": "per-reviewer directories under one local UID", + "target_enforcement": "Codex native read-only filesystem/socket isolation, approval never; other legs outer Bubblewrap candidate/Git mounts; Git drift check" + }, + "launch_skew_seconds": 0.000524, + "max_artifact_bytes": 16777216, + "max_report_words": 800, + "mode": "review", + "preflight": { + "claude": { + "api_provider": "firstParty", + "authentication": "logged_in", + "remote_model_identity": "unverified_until_runtime", + "requested_effort": "xhigh", + "requested_model": "opus", + "status": "passed" + }, + "codex": { + "authentication": "logged_in", + "legacy_landlock": false, + "remote_model_identity": "unverified_until_runtime", + "requested_effort": "ultra", + "requested_model": "gpt-6-astra", + "status": "passed" + } + }, + "prompt_source": { + "path": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-prompt.txt", + "sha256": "61daedde4611af087f22556f07eae3f05579d7717d8093d4e7d8ad977832b061" + }, + "reviewers": { + "claude": { + "artifact_bytes": 9326, + "command": [ + "/usr/bin/bwrap", + "--die-with-parent", + "--bind", + "/", + "/", + "--dev", + "/dev", + "--ro-bind", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "--ro-bind", + "/home/nicola/repos/PQSigner_OS/.git", + "/home/nicola/repos/PQSigner_OS/.git", + "--chdir", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "--", + "/home/nicola/.local/bin/claude", + "-p", + "--model", + "opus", + "--effort", + "xhigh", + "--permission-mode", + "plan", + "--no-session-persistence", + "--output-format", + "json" + ], + "duration_seconds": 156.249, + "ended_at": "2026-09-29T13:38:46.092890+00:00", + "environment_overrides": {}, + "exit_code": 0, + "extraction_error": null, + "hashes": { + "prompt_sha256": "61daedde4611af087f22556f07eae3f05579d7717d8093d4e7d8ad977832b061", + "report_sha256": "1e082c8f6f8bda047eee34a57e5f6d5c3ea98e23ea77ab423439d97006af35fb", + "runtime_sha256": "206a9309267b47888c2e09361c3cc9b5beb816a66d0ba0d91e8a8ee4e0bb7b5f", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "paths": { + "directory": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/claude", + "prompt": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/claude/prompt.txt", + "report": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/claude/report.txt", + "stderr": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/claude/stderr.txt" + }, + "report_words": 504, + "started_at": "2026-09-29T13:36:09.844100+00:00", + "status": "completed" + }, + "codex": { + "artifact_bytes": 424205, + "command": [ + "/home/nicola/.local/bin/codex", + "exec", + "-c", + "approval_policy=\"never\"", + "--model", + "gpt-6-astra", + "-c", + "model_reasoning_effort=\"ultra\"", + "--sandbox", + "read-only", + "--ephemeral", + "--color", + "never", + "--json", + "-C", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "-o", + "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex/report.txt", + "-" + ], + "duration_seconds": 233.953, + "ended_at": "2026-09-29T13:40:03.796915+00:00", + "environment_overrides": {}, + "exit_code": 0, + "extraction_error": null, + "hashes": { + "prompt_sha256": "61daedde4611af087f22556f07eae3f05579d7717d8093d4e7d8ad977832b061", + "report_sha256": "a01477834cd2c1629fcd5766d85f0526855ce0fd699df642ab2eb409bcc7e83a", + "runtime_sha256": "767ba85fbb7f0d3baf598751c5c82c9213a74f7f839b337a8a7b474796e84d04", + "stderr_sha256": "7e8e51980726fe8064fdaf752e982ce1985316976e0c24d00567e39c34652358" + }, + "paths": { + "directory": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex", + "prompt": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex/prompt.txt", + "report": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex/report.txt", + "stderr": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/q21-review-wave-r3/codex/stderr.txt" + }, + "report_words": 34, + "started_at": "2026-09-29T13:36:09.843578+00:00", + "status": "completed" + } + }, + "schema_version": 1, + "stage": "merge", + "surface": "EasyCrypt returned-coordinate forgery partition", + "target": { + "commit_after": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "commit_before": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "drift": false, + "path": "/home/nicola/.local/state/pqsigner-research/easycrypt-closure-20260923-o4g9cwcr/review-target-forgery-partition-r3", + "status_after": "", + "status_before": "", + "tree_after": "703275ba24d5b610d494df3f9fbad928904d3d05", + "tree_before": "703275ba24d5b610d494df3f9fbad928904d3d05" + }, + "timeout_seconds": 900, + "version_contract": { + "mismatches": { + "claude": { + "expected": "2.1.220 (Claude Code)", + "observed": "2.1.284 (Claude Code)" + }, + "codex": { + "expected": "codex-cli 0.146.0", + "observed": "codex-cli 0.158.0" + } + }, + "override_used": true, + "tested_versions": { + "bwrap": "bubblewrap 0.9.0", + "claude": "2.1.220 (Claude Code)", + "codex": "codex-cli 0.146.0" + } + }, + "wave_started_at": "2026-09-29T13:36:09.843514+00:00" +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/runtime-models.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/runtime-models.json new file mode 100644 index 000000000..43d6a2cba --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/runtime-models.json @@ -0,0 +1,17 @@ +{ + "candidate": "d03db3d99bf1eb34b6e27ed32fa60c43bed66fed", + "astra": { + "requested": "gpt-6-astra", + "effort": "ultra", + "runtime_model_ids": [], + "limitation": "No separate resolved model field observed in structured runtime JSONL." + }, + "opus": { + "requested": "opus", + "effort": "xhigh", + "observed": [ + "claude-opus-5-5" + ], + "evidence": "q21-review-wave-r3/claude/runtime.json" + } +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/source-transfer.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/source-transfer.json new file mode 100644 index 000000000..e019530b4 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/source-transfer.json @@ -0,0 +1,37 @@ +{ + "all_match": true, + "files": [ + { + "file": "ExposureComponents.ec", + "sha256": "02253d7e750f559e47f18e151719db400dc15ad9db1124dad3cb7f149f8bfeb1" + }, + { + "file": "ExposureCoverage.ec", + "sha256": "da243bae71e0488bd832269da8e6037265af43a5f4951336c4b9bb346e76c393" + }, + { + "file": "ExposurePartition.ec", + "sha256": "32e91e8e1dab3c348f5baf38d03e03570e4b6b8e726cb524804cf1850e30e38e" + }, + { + "file": "ExposurePartitionGame.ec", + "sha256": "125a3fd3a5c5434cc3b827edac32f2c9343818481cc70cafa98e4cc59cce849e" + }, + { + "file": "ExposurePartitionHop.ec", + "sha256": "59f8f70527e0290e7ee46ae86c5d187a4e953b5973d7978d453e515a61be9647" + }, + { + "file": "ExposurePrivate.ec", + "sha256": "f0648d6d58f70943d49b9ef044eb68e2f809bb13c50abfeb139e6deef91d8e14" + }, + { + "file": "ExposureWidths.ec", + "sha256": "fef93fdaa83c7e37104dfdbfb67aedfd1d3ec68903ade5639c75f1764ffa3180" + }, + { + "file": "ForsRootDeterminism.ec", + "sha256": "f5c5bac05403caf0194171080a90d72d95a4fbdc98dc28824fe4447011c225e7" + } + ] +} diff --git a/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/timing-correction.json b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/timing-correction.json new file mode 100644 index 000000000..d57419501 --- /dev/null +++ b/docs/security/adversarial-review/findings/easycrypt-forgery-partition-2026-09-28/timing-correction.json @@ -0,0 +1,38 @@ +{ + "utc": "2026-09-29T10:11:28.156613+00:00", + "basis": "Linux CLOCK_MONOTONIC (excludes host suspension)", + "active_limit_seconds": 18000, + "source_changes": false, + "review_bounds_changed": false, + "command": [ + "timeout", + "-k", + "60", + "18000", + "make", + "-C", + "contracts/verification", + "verify-easycrypt-split" + ], + "reason": "Coordinator incorrectly applied its own proof replay watchdog to suspended wall time. Project workflow section 7 separately bounds reviewer waves, not mandatory proof replay. User confirms laptop hibernation; systemd journal independently records suspension.", + "reference": "Local Linux man-pages 6.7 clock_gettime(2): CLOCK_MONOTONIC excludes suspension; CLOCK_BOOTTIME includes suspension.", + "preserved_incomplete_attempts": [ + "q21-paused-replay", + "q21-overnight-replay" + ], + "validation": "Deterministic 12-hour suspension excluded, reboot rejected, failed/inconsistent/over-budget result rejected; all helper scripts compile.", + "helper_sha256": { + "q21_clock.py": "aa1180d91f9b46a04e096c2d14962889d2677c8b238559a163212fabcfca96b0", + "run_q21_full_gate.py": "20ed3cd148e2b826fee111c3391e540531d5e03865a7e446e9470d322aa710fb", + "await_q21_closure.py": "73dd329bf8d5ac7bda625eda7c9960a5be89fa81cebe547289e6a79c3ff15836", + "prepare_q21_landing.py": "b06fc989665fefc98cfc0fcde1fa57e91ae24deea93986c33d242b82818ec451", + "q21_gate_status.py": "b8cb344138ae09615ee0cc5fa3597f316e8a555c37967eb1094f8cb4b48aabac" + }, + "host_clock_observation": { + "utc": "2026-09-29T10:11:28.156748+00:00", + "epoch": 1790676688.1567512, + "monotonic": 55678.785448053, + "boottime": 166108.326005379, + "boot_id": "fe9afb8b-5e95-4660-ae21-f14dfb35ddbd" + } +}