agent: builder model: opus max_turns: 120 budget_usd: 30 —

Brief: E12-1, the emit tables and Needs into Nikaia (#125)

Score: self-hosting lane (docs/priorities.md, S 2): ~470 Rust lines replaced, no prerequisite; C ~10 M (C7-r1 moved ~386 lines in one Opus run). The row and its risks are in docs/selfhosting-plan.md, C-7 rest and E12 (read it first; its line ranges are at 62a07a1, the ones below are re-grepped at 464ff6d).

The slice (row E12-1)

Known risks (from the table)

To build (each its own commit, Part of #125)

  1. The tables (with_contracts loop, structs_beside, declared_errors, tethered_types, read_view_slots, described_maps, package_borrowing) into emit_tables.nika.
  2. Needs, foreign_traits, abort_table into emit_needs.nika.
  3. split_lifetimes and inline_written into Nikaia; the two host methods go.

Done when

All three built; lower-std clean (byte-identical lowered output of the rest), generated diff committed; nikaia test tests/compiler --both-settings; it filters lifetime, abort, needs, foreign, views_kept, attributes, sysroot, and the guard set of .claude/agents/builder.md. Report the Rust lines removed (python3 scripts/self_hosting.py) under Tests:. Changelog: none unless a message text changes.

Stop and report if

A design choice the table leaves open (a host method that has to be added), or an error in another agent’s file.

Read docs/builder-facts.md.

Rules (CLAUDE.md; this block is pasted into every brief, also a fix-forward)

Report (at most 15 lines, to exactly /home/user/Nikaia/docs/briefs/e12-1.md.report.md)

Fields of docs/architect.md, Briefs and reports: Result: done|noop|partial|blocked (the bare word first; Owner: is a question for the owner or none, never a role), Files, Commit, Fixes, Pushed, Tests, Gate (green|red), Deviation, Found, Needs, Changelog, Owner, Disk freed. none where nothing, and then the bare word: Deviation: none (a note) cuts the batch (batch.nika compares exactly); a note goes into the commit message. Found: is only for a defect outside your change (it cuts the batch); how you solved your own step goes into the commit message. Deviation: is only a step of the brief built otherwise than written or not built (a choice the brief left to you, such as keep what X needs and say so, is no deviation: it goes into the commit message); how you verified (e.g. a test not run against the unfixed compiler) goes under Tests:. A noop says why under Tests: (what was probed), not under Deviation:. Final answer, one line: done <sha>, report <path> (or BLOCKED: ... / PUSH REJECTED ...).

Attribution: Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01GFeMqxRbtUMiGVyDMxsvEq

This site is open source. Improve this page.