1. Most turns: the refused test. The brief suggested assigning n.name to a field of self, but the unfixed binary accepts that, and so does a ref N? field on self. It took three probes (and one parse error from mut self instead of ref mut self) before a push into a parameter list gave a real refusal. The second biggest cost was getting the .stderr in the runner’s path form. nikaia check inside tests/compiler checks the whole project, so I had to copy the file to a scratch tests/ directory and check it there.
  2. Looked up that the brief could have given: the self method syntax (ref mut self), the names of the Rust it test modules for NK2302, and which helpers walk_block, descend and stores are and how they relate (the tail flag). The brief’s line numbers and the rsrc_* pointer were accurate and saved reading time. Neither ADRs nor the converter were needed.
  3. Checks run:
    • A probe matrix of five shapes on the old binary before building. It was useful: one build cycle, no second one.
    • tests/compiler --both-settings, the six it view modules, the yaml package tests, fmt::every_nika_file, clippy 1.97, pre-push-check, and the yaml draft check.
    • Partly wasted: the yaml package gate and fmt::every_nika_file. I changed nothing under packages/, and the yaml run left nikaia.lock and nikaia.proofs dirty. The two failed refused-probe attempts were also wasted.
    • Skipped: clippy 1.99.
  4. One change that would have saved the most: give the refused example as a probe already checked to be refused today, the same way the accepted probe was given. Also add to builder.md how to produce a test’s .stderr without --bless: copy the file to a scratch tests/ directory and run nikaia check tests/NAME.nika there.
This site is open source. Improve this page.