Current main removed three useful pieces of direct XMSS regression coverage after the base revision used by the initial formal-proof review:
tweak_separates_everything;
multi_block_hash_is_standard_blake2s;
- the same-seed and same-range assertion from
deterministic_keygen, which was replaced rather than retained by key_range_changes_root.
The relevant diff is between 601386d and the PR 10 merge. This change came from later mainline cleanup work, not the formal-proof commits. The implementation is not shown to be wrong, and the remaining XMSS, primitive-hash, and aggregation tests passed. The loss is targeted coverage at exactly the implementation-refinement boundary that the Lean theorem does not prove.
Please restore stronger direct tests:
- Assert the exact 16 tweak bytes for representative tag, position, and epoch values, including little-endian fields and the seven zero bytes.
- Compare a multi-block XMSS tweak hash against an independently assembled
tweak || public_parameter || payload input passed to the standard streaming hash implementation.
- Retain both same-seed and same-range determinism and different-range root separation.
Longer term, shared Lean, Rust, Python, and zkDSL vectors would provide stronger coverage and could supersede locally duplicated expectations.
AI assistance disclosure: this issue was prepared with help from an OpenAI Codex agent during a fresh adversarial review of PR 10. The agent was instructed to reproduce or otherwise evidence each finding, try to falsify it, distinguish PR changes from pre-existing and later mainline changes, and make the proposed resolution pedagogical and actionable. This issue is explicitly attributed to the later mainline delta, not to the formal PR author, and its evidence was rechecked against merged commit f5d6e5040d666981005371742a6f21640ce865a1.
Current main removed three useful pieces of direct XMSS regression coverage after the base revision used by the initial formal-proof review:
tweak_separates_everything;multi_block_hash_is_standard_blake2s;deterministic_keygen, which was replaced rather than retained bykey_range_changes_root.The relevant diff is between
601386dand the PR 10 merge. This change came from later mainline cleanup work, not the formal-proof commits. The implementation is not shown to be wrong, and the remaining XMSS, primitive-hash, and aggregation tests passed. The loss is targeted coverage at exactly the implementation-refinement boundary that the Lean theorem does not prove.Please restore stronger direct tests:
tweak || public_parameter || payloadinput passed to the standard streaming hash implementation.Longer term, shared Lean, Rust, Python, and zkDSL vectors would provide stronger coverage and could supersede locally duplicated expectations.
AI assistance disclosure: this issue was prepared with help from an OpenAI Codex agent during a fresh adversarial review of PR 10. The agent was instructed to reproduce or otherwise evidence each finding, try to falsify it, distinguish PR changes from pre-existing and later mainline changes, and make the proposed resolution pedagogical and actionable. This issue is explicitly attributed to the later mainline delta, not to the formal PR author, and its evidence was rechecked against merged commit
f5d6e5040d666981005371742a6f21640ce865a1.