- What cost the most: I trusted the brief’s diagnosis and built my first fix in
ty.nika bind before checking which type the lambda actually reports. That build changed nothing, because check_core_args_lambda reported its written result over the body’s type, as ?? had done before #1078. Fixing that first exposed the NK1102 fit check behind it, which cost another cycle. That build had also baked in a refusal of ledger_items.nika, so the next lower-std stopped and the build after it compiled stale lowered files. That was a third cycle (about 10 minutes each).
- What I had to look up:
- #1078’s commit, to find the
??-reported-over-body rule in check_core_args_lambda. The brief named only bind.
- Where NK1102 checks an argument (
check_arguments.nika), which is outside the brief’s file list.
- That contracts have no “walkable” type, so
zip and chain refuse a Vec.
- That ADR-013 D7 refuses subtyping.
- That
Seq cannot be written in a signature (NK1135), which rules out a named function returning one.
- That a named function over
iter() already fails as #1098.
- Checks:
- Useful: the probes on the old binary, the one-test scratch project (new and old binary), the brief’s
it modules plus the other flat_map modules, fmt, clippy, pre-push, and the fixpoint compared by md5.
- Wasted: the first build, the stale build after the refused
lower-std, and a second it run because my grep for result matched test names and cut off the summary.
- My own fault: a
pgrep/sleep wait loop (against the rules), and a pkill that killed my own shell.
- Change that would save the most: builder.md should say: “Before the first build, check the probe’s argument type at the call site on the old binary (what the lambda reports; in
check_core_args_lambda the written result wins over the body), not just the binding.” It should also warn: “If the new binary’s lower-std refuses a tools file, re-lower with the saved unfixed binary before building again.” For this brief: list #1078’s reported-type rule and the NK1102 fit check in check_arguments.nika beside bind as likely sites.
This site is open source.
Improve this page.