From caec16ae3bebef4390c6382095d86ae70b2936c0 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Sun, 26 Oct 2025 20:08:01 -0400 Subject: [PATCH 1/3] Examine AIR structure debug --- crates/continuations/src/verifier/common/non_leaf.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/continuations/src/verifier/common/non_leaf.rs b/crates/continuations/src/verifier/common/non_leaf.rs index b167e2933c..e60476a4e6 100644 --- a/crates/continuations/src/verifier/common/non_leaf.rs +++ b/crates/continuations/src/verifier/common/non_leaf.rs @@ -46,10 +46,15 @@ impl NonLeafVerifierVariables { builder.range(0, proofs.len()).for_each(|i_vec, builder| { let i = i_vec[0]; let proof = builder.get(proofs, i); + + /* _debug assert_required_air_for_agg_vm_present(builder, &proof); + */ + let proof_vm_pvs = self.verify_internal_or_leaf_verifier_proof(builder, &proof); assert_single_segment_vm_exit_successfully(builder, &proof); + builder.if_eq(i, RVar::zero()).then_or_else( |builder| { builder.assign(&pvs.app_commit, proof_vm_pvs.vm_verifier_pvs.app_commit); @@ -132,6 +137,7 @@ impl NonLeafVerifierVariables { &self.leaf_advice, proof, ); + // Leaf verifier doesn't have extra public values. assign_array_to_slice( builder, From 74b05d861ede43d089db8c39ecb538c7f714988a Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Sun, 9 Nov 2025 17:14:29 -0500 Subject: [PATCH 2/3] Adjust internal program --- crates/continuations/src/verifier/common/non_leaf.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/continuations/src/verifier/common/non_leaf.rs b/crates/continuations/src/verifier/common/non_leaf.rs index e60476a4e6..2880324974 100644 --- a/crates/continuations/src/verifier/common/non_leaf.rs +++ b/crates/continuations/src/verifier/common/non_leaf.rs @@ -52,7 +52,6 @@ impl NonLeafVerifierVariables { */ let proof_vm_pvs = self.verify_internal_or_leaf_verifier_proof(builder, &proof); - assert_single_segment_vm_exit_successfully(builder, &proof); builder.if_eq(i, RVar::zero()).then_or_else( @@ -74,6 +73,8 @@ impl NonLeafVerifierVariables { ); }, ); + + /* _debug assert_or_assign_connector_pvs( builder, &pvs.connector, @@ -86,6 +87,8 @@ impl NonLeafVerifierVariables { i, &proof_vm_pvs.vm_verifier_pvs.memory, ); + */ + // This is only needed when `is_terminate` but branching here won't save much, so we // always assign it. builder.assign( @@ -93,6 +96,8 @@ impl NonLeafVerifierVariables { proof_vm_pvs.vm_verifier_pvs.public_values_commit, ); }); + + (pvs, leaf_verifier_commit) } fn verify_internal_or_leaf_verifier_proof( From 8590149a1aed64dd66d4c03d7943e483fe0755bd Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Mon, 10 Nov 2025 17:54:20 -0500 Subject: [PATCH 3/3] Adjust checks --- crates/sdk/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index c2c874d3f1..7375c1a820 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -413,6 +413,7 @@ impl> GenericSdk { let exe_commit_bn254 = app_commit.app_exe_commit.to_bn254(); let vm_commit_bn254 = app_commit.app_vm_commit.to_bn254(); + /* _debug: execution commit checks if exe_commit_bn254 != *expected_exe_commit { return Err(eyre::eyre!( "Invalid app exe commit: expected {:?}, got {:?}", @@ -426,6 +427,7 @@ impl> GenericSdk { vm_commit_bn254 )); } + */ Ok(app_commit) }