Skip to content

CI: build the XMSS Lean formalization as a required check #14

Description

@alexanderlhicks

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions