agent: builder model: sonnet max_turns: 120 budget_usd: 20 —

Brief: E11-4b, statements and blocks of emit in Nikaia (Part of #583)

Score: S=2 (moves about 1500 Rust lines), O=1 M, C=15 M (E11-4a: 1212 lines in one run; check moves 8-15 k tokens per line), self-hosting lane 1 (docs/priorities.md).

Facts

Locations (at a2f40f98; re-grep, lines shift)

To build

  1. rs2nika draft of the range (crates/rs2nika/convert, --profile emit); report rs2nika: kept N of M lines.
  2. tools/emit_stmt.nika: emit_stmt, emit_block_plain, emit_block_opening_with and the helpers only they call; prefix names emit_stmt_. A callee not yet moved goes through a host method.
  3. Switch: Emitter::stmt / block_plain / block_opening_with become thin adapters; delete the moved Rust and the dead locals; add the file to scripts/self_hosting.py.
  4. A lowering defect met: fix in the compiler with a tests/compiler/ test, own commit (or file a ready issue and stop).
  5. cargo build --profile fast -p nikaia, target/fast/nikaia lower-std: output unchanged beyond the slice’s files; run cargo test --profile fast -p nikaia --test it -- emit:: and sysroot. Add the E11-4b switched paragraph to docs/selfhosting-plan.md. Commit says Part of #583, Fixes #<this>.

Rules (CLAUDE.md)

Report (at most 15 lines, <brief path>.report.md)

Result, Files, Commit, Fixes, Pushed, Tests, Deviation, Found, Needs, rs2nika kept N of M, Rust lines removed, GB freed, Owner (form: docs/architect.md, Briefs and reports).

This site is open source. Improve this page.