# Defects in my own measurement Recorded because the pattern is the point: **four of these, all the same shape — searching by name or scope instead of by the operation itself.** Each was caught by running something, never by reading. ### 1. Scoped the search to one file Reported `test` as an inert keyword by checking only `parser.el`. **codegen** consumes it at 4135 for `--test` mode, and the tree has 408 uses. Removing it would have broken every test in the suite — including the ones used to verify the removal. ### 2. Searched by variable name, not by operation Grepped for `native_list_append(tokens` to find direct token appends. `interp_tokens_append_all` calls its parameters `dst`/`result`, carries its own copy of the stride, and corrupted generation 2 — while generation 1 built fine, because the compiler's own source uses string interpolation. ### 3. Scoped to compiler sources; the stride had escaped into tests `tok_count` in `test_compiler.el` computed `len/2` independently. 21 tests failed after the token layout changed. ### 4. Read the wrong exit code ```bash timeout 10 /tmp/leakrun 2>&1 | head -2; echo "exit=$?" # reports head's exit ``` Reported `exit=0` for a program that was returning **139 (SIGSEGV)**. I nearly recorded a segfault as a clean run. ### And one that was not a measurement defect but a method defect One cycle was run **without committing predictions first** — see `cycles/18-async-half-expressible.md`. The test joined the thread immediately after creating it and printed the word `DEFERRED` itself. A test authored by the party holding the conclusion, with nothing committed beforehand, cannot fail. It had to be discarded and re-run.