Issue #590: Two mismatches between the documents and the compiler: no nikaia check subcommand, and s.len() against Part I 2.6

Open and answer this issue on GitHub.

ready · opened 2026-10-12 · updated 2026-10-12 · 0 comments

Found

By the nikaia import rust design review (2026-10-11), checked on origin/develop 72363084 with its binary.

Today

  1. CLAUDE.md (the self-hosting section) says lower-std reports every refusal “as nikaia check does”, and builders look for a nikaia check command. There is no check subcommand; nikaia lower is the way to see the checker’s findings.
  2. Part I 2.6 says there is no s.len() on text, and the checker accepts s.len() (a byte length; "äb".len() is 3 in both Nikaia and Rust).

To build

  1. Decide per item whether the document or the compiler moves: for 1, add the check subcommand (the checker without lowering; it is a thin driver and every builder wants it) or correct CLAUDE.md; for 2, state the rule (is it a byte length? what about non-boundary positions?) in Part I 2.6, or refuse s.len(). If it changes what a program means or what the toolchain does, the version rises (python3 scripts/bump.py new); if it only fixes the text of CLAUDE.md, no.
  2. A test for each: nikaia check f.nika prints the checker’s findings and exits non-zero on a refusal; s.len() is accepted or refused as the text now says.
  3. Fixes #<this issue> on the last commit.

Back to Open Issues