The XMSS root theorem has useful axiom-footprint guards, but neither repository workflow builds formal/xmss. A guard in XmssSecurity.lean protects the theorem only when that module is elaborated.
This is currently observable in the workflows at the PR 10 merge: Rust and the two PDFs are checked, but lake build is not run. The formal project itself builds successfully with the pinned Lean 4.31.0 toolchain and VCVio manifest.
Please add a required clean-runner job that installs the toolchain from formal/xmss/lean-toolchain and runs:
cd formal/xmss
lake build
The checked-in manifest should be used as-is rather than updated in CI. A source-wide forbidden-token scan and archived #print axioms output would be useful defense in depth. For new modules, set_option autoImplicit false would also catch misspelled free identifiers becoming unintended theorem parameters; existing modules can be migrated or audited incrementally.
Acceptance criteria:
- A clean CI runner builds the default
XmssSecurity target.
- The two root
#guard_msgs checks execute.
- The job is required before future formalization or XMSS-document changes merge.
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. The evidence in this issue was rechecked against merged commit f5d6e5040d666981005371742a6f21640ce865a1.
The XMSS root theorem has useful axiom-footprint guards, but neither repository workflow builds
formal/xmss. A guard inXmssSecurity.leanprotects the theorem only when that module is elaborated.This is currently observable in the workflows at the PR 10 merge: Rust and the two PDFs are checked, but
lake buildis not run. The formal project itself builds successfully with the pinned Lean 4.31.0 toolchain and VCVio manifest.Please add a required clean-runner job that installs the toolchain from
formal/xmss/lean-toolchainand runs:cd formal/xmss lake buildThe checked-in manifest should be used as-is rather than updated in CI. A source-wide forbidden-token scan and archived
#print axiomsoutput would be useful defense in depth. For new modules,set_option autoImplicit falsewould also catch misspelled free identifiers becoming unintended theorem parameters; existing modules can be migrated or audited incrementally.Acceptance criteria:
XmssSecuritytarget.#guard_msgschecks execute.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. The evidence in this issue was rechecked against merged commit
f5d6e5040d666981005371742a6f21640ce865a1.