- What cost the most: the full
tests/compiler --both-settings run, about 10+ minutes of waiting, for a one-line checker change. Next was the single build cycle. The search itself was short (about 5 turns), because the brief’s trace pointed at the right function.
- What I looked up: which fact holds for a list
get. The brief left open a choice between map_read_views, lent_coalesces and a view type. I had to grep read_a_map = true to see it is set for maps only, and then find check_core_stmt_got in check_core_stmt.nika. The brief could have named check_core_stmt_got as the predicate behind row d’s split form. That form is exactly the shape to mirror.
- Checks:
- Run: the probe of rows a–e on the old binary, then the same probe on the new one; the
lower-std/build/lower-std cycle; tests/compiler --both-settings; cargo fmt --check; clippy; pre-push-check.sh.
- Partly wasted: the first
pre-push-check was chained behind a grep, so its output was lost and I ran it again. The where.nika lookup named no tests.
- Caveat: the “fails unfixed” proof is my probe file run on the old binary, not the committed test file. The content is the same except for a two-line comment.
- One change: for a checker fix this small, the brief’s Done when could ask only for the new test plus the
coalesce tests, run singly. It could leave the whole tests/compiler --both-settings run to the driver’s suite, which runs it anyway. Alternatively, builder.md could state plainly that a brief’s “passes through nikaia test --project tests/compiler” means the whole project run, so its cost is known up front.
This site is open source.
Improve this page.