leanprover / leanprover/lean-action

nanoda fails on Lean 4.28 export stream with invalid digit

Open
#169 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
45
Forks
22
Avg merge
4d 15h
Merged PRs (30d)
1

Description

Description

On a minimal Lake package pinned to leanprover/lean4:v4.28.0, leanprover/lean-action@v1.5.0 reaches nanoda successfully but nanoda rejects the generated export stream with:

Detected module name: LogicZigOracle
Exporting LogicZigOracle...
Running nanoda type checker...
Error: invalid digit found in string

The same package builds successfully and passes the bundled leanchecker. It contains no sorry, admit, custom axioms, or unsafe declarations.

Reproduction

- uses: leanprover/lean-action@v1.5.0
  with:
    lake-package-directory: lean
    build: true
    test: false
    nanoda: true
    nanoda-allow-sorry: false

with lean/lean-toolchain:

leanprover/lean4:v4.28.0

Notes

The current nanoda_lib debug branch head predates Lean 4.28. The exporter builds against 4.28 and emits the file, so this appears to be an export-format/parser compatibility problem rather than module discovery or a Lean elaboration failure.

A useful short-term outcome would be either a supported-version guard with a clear diagnostic or a compatible nanoda/exporter pin. The current generic parse error makes the gate difficult to diagnose.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with leanprover/lean-action@v1.5.0, Lean 4.28.0, nanoda enabled, and the minimal Lake package described in the issue. Inspect the nanoda_lib debug branch and the generated export stream to determine whether a supported-version guard or compatible exporter/nanoda pin is feasible. Done means a compatible run or a clear diagnostic instead of the generic invalid-digit error.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.