Open and answer this issue on GitHub.
ready · opened 2026-11-01 · updated 2026-11-01 · 0 comments
Found in the night run: 39375a17 (#1140) used the CheckFacts.in_place_bindings field, but the commit did not include check_facts.nika or its lowered .rs. The field was only in the working tree, as another agent’s uncommitted change. The builder’s local build passed because it builds the shared tree. CI then failed on arm64 bootstrap_compiler (E0609), and QA had to fix it forward in 92fec4f3. That cost one CI cycle plus a QA agent.
scripts/commit.nika (or the driver before it pushes): after the commit, check that the committed tree builds without the other agents’ uncommitted files. One cheap way: git stash/reset are forbidden, so export git archive HEAD into a scratch directory and run cargo check -p nikaia-std there, reusing a shared target dir to keep it cheap. Alternatively, a text check that every new field or fn the committed lowered .rs uses is declared in a committed file.commit.nika fails, so the driver never pushes it.