agent: builder model: opus max_turns: 80 budget_usd: 15 effort: medium —
Vec[String] element == and a filter after map at contains_key, #1189 and #1190 (bug lane)Score: self-hosting. M18 (m18-describe.md.report.md) left two pieces of describe.rs in Rust on these two lowering defects: adopt’s header parse (#1189) and the unanswered-names filter (#1190). Both issues hold a probe and a To build list. Another builder (#557 step 4b, parser/mod.rs and tools/parse_errors.nika or a new tools/parse_findings.nika) works in the shared checkout at the same time. Leave its files alone, and do not rebuild target/fast/nikaia from the dirty tree. Build your changes on a private git archive HEAD copy (/tmp/claude-0/-home-user-Nikaia/b7e2d91b-1a15-5371-a36e-8c201aeab2d2/scratchpad/b1166/flip3.sh shows how) with the shared target dir, and delete the copy after.
collect() gives the Rust Vec, or the reference depth == gives its operands. For #1190 it is where the lowering adds a & to a lambda parameter that Rust already hands over as a reference. Probe with target/fast/nikaia run (NIKAIA_SYSROOT=/home/user/Nikaia/crates) and read the generated Rust..nika that lowers it (crates/nikaia-std/src/tools/emit_*.nika, check_*.nika), never into the generated lowered/*.rs. If the fix needs new Rust, stop: Result: blocked.check_core_stmt.nika (it holds #1191 and B1183’s kept fix; if your fix must touch it, stop and report), emit_sums.nika, parser/mod.rs, tools/parse_errors.nika, tools/parse_findings.nika, docs/briefs/* but your report, the uncommitted files git status shows at start, sysroot.rs, modules.rs, contracts/keeps.rs, contracts/sync.rs, keeps.nika, tests/compiler/nikaia.*. Stage only your own hunks (git apply --cached).lower-std, only the lowered/*.rs of your own .nika files are yours. If lower-std fails in a file that is not yours, wait a few minutes and run it again; after three tries report it under Found:.tests/compiler/tests/vec_string_from_split_compare.nika with its .stdout (true). Commit Fixes #1189.tests/compiler/tests/filter_after_map_contains_key.nika with its .stdout (c::b). Commit Fixes #1190.Run each test against the unfixed compiler too, and say under Tests: that it failed there.
docs/builder-facts.md first. develop in the main checkout; other agents’ uncommitted files are not yours: never touch or stage them.target/fast/nikaia run scripts/commit.nika -- REPORT (it adds exactly the report’s Files:); the driver pushes.cargo build --profile fast -p nikaia, lower-std and its fixpoint when a tools/*.nika changed, cargo fmt, cargo clippy --all-targets -- -D warnings, scripts/pre-push-check.sh, the tests the brief names and the ones your change touches.CHANGELOG.md, badges and NK codes are the supervisor’s. New tests in Nikaia only.std or the toolchain lacks stops the work, unless an ADR or Part I-III refuses it (name it): Result: blocked, Found: the gap with a probe, Needs: supervisor decision.NIKAIA_CACHE_LIMIT=2G; at the end delete your own clone’s target/ and target/release/nikaia-scratch.Result: partial with what you ruled out, the probe, and the suspected file and function./home/user/Nikaia/docs/briefs/b1189.md.report.md)Fields of docs/supervisor.md, Briefs and reports: Result, Files, Commit, Body (optional), Fixes, Pushed, Tests, Gate, Deviation, Found, Needs, Changelog, Owner (a question for the owner), Disk freed, and last Attribution: with your commit trailer lines below it.
Result:, Gate: (green or red <check>), Deviation:, Found: and the other fields with nothing to say hold the bare word: done, none. Anything after it reads as content.Deviation: only for a step of the brief built otherwise than written, or not built. Found: only for a defect outside your change. Everything else (your choices, how you solved the step, why a test’s expected output changed) goes into Body:; how you verified goes into Tests:.done <sha>, report <path> (or BLOCKED: ... / PUSH REJECTED ...).