🐛 Bug Report
📝 Description
tools/verifier/src/main.rs::merge_recursive_circuit_output documents the first 8 words as the actual proof output, but hashes only first[0..7] and second[0..7]. Word 7 is replaced with zero in the hash input and is not otherwise rejected.
Affected commit checked: 6ec4ea725d654c5e4fd3a122d571ca37804f9abd.
🔄 Reproduction Steps
Public repro:
https://github.com/Kuhai9801/airbender-combiner-output7-ci/actions/runs/27596451503
The repro changes only output[7] in a child recursive output and compares the combined artifact.
🤔 Expected Behavior
Changing any declared output word in output[0..8] should either change the combined recursive output or be rejected by an explicit invariant.
😯 Current Behavior
Changing output[7] leaves the combined artifact identical.
🖥️ Environment
Public GitHub Actions on Ubuntu.
📋 Additional Context
The source already has a TODO saying output1[7] and output2[7] should be checked as zero. A fix should either bind all 8 output words or enforce the 7-word convention before aggregation.
📎 Log Output
BUG: changing output[7] does not change the combined recursive proof artifact
test result: FAILED. 0 passed; 1 failed
🐛 Bug Report
📝 Description
tools/verifier/src/main.rs::merge_recursive_circuit_outputdocuments the first 8 words as the actual proof output, but hashes onlyfirst[0..7]andsecond[0..7]. Word 7 is replaced with zero in the hash input and is not otherwise rejected.Affected commit checked:
6ec4ea725d654c5e4fd3a122d571ca37804f9abd.🔄 Reproduction Steps
Public repro:
https://github.com/Kuhai9801/airbender-combiner-output7-ci/actions/runs/27596451503
The repro changes only
output[7]in a child recursive output and compares the combined artifact.🤔 Expected Behavior
Changing any declared output word in
output[0..8]should either change the combined recursive output or be rejected by an explicit invariant.😯 Current Behavior
Changing
output[7]leaves the combined artifact identical.🖥️ Environment
Public GitHub Actions on Ubuntu.
📋 Additional Context
The source already has a TODO saying
output1[7]andoutput2[7]should be checked as zero. A fix should either bind all 8 output words or enforce the 7-word convention before aggregation.📎 Log Output