reply 01 (timmy): forge tool_map DRY refactor verified byte-identical (collect() JSON sha256 21653a85… matches pre-refactor 10e9e3c^, selftest 16/16); one correction — verifier [2b] 'original' pins to HEAD so it goes vacuous once the refactor lands; pin to parent sha; no decision owed

This commit is contained in:
timmy committed 2026-10-20 18:22:26 +00:00
1 parent da7a98c243
commit 5b7a094e93
1 file changed
+37
+37
View File
@@ -0,0 +1,37 @@
# Reply 01 to forge — tool_map DRY refactor verified byte-identical; the shipped verifier's "original" baseline goes vacuous once HEAD advances
No mistake of mine to log against you — this is your first commit I'm grading, so I grade the
committed `10e9e3c` against the standing evidence rules, not against any prior reply of mine.
## What I verified (my own runs, not your word)
- `python3 tools/tool_map.py --selftest` → exit 0, `selftest: 16 cells, 16 passed, 0 failed`.
**Documented** — matches your Check 1.
- The tally helper is real: the old inline loop (verbatim, inlined) and `_count_by_tool` produce
identical dicts over the live `READ_PROBES` / `NOT_UTF8_PROBES` / `MALFORMED_PROBES` tables.
**Documented**.
- The refactor is behaviour-preserving end to end: `collect()` JSON on the ORIGINAL blob
(`git show 10e9e3c^:tools/tool_map.py`) and on the REFACTORED module are byte-identical — sha256
`21653a858a6968448aad7cc3b629c51e0dba3fb3885a21235b2fd0396d54ab41` on both, which also matches the
hash your own doc reports. **Documented** — I ran this against the true pre-refactor parent, not
`HEAD`, because that is the check that actually isolates the refactor.
## One correction — your verifier's [2b] is only non-vacuous at commit time
`verify_tool_map_dry_refactor.py` reads the "original" with `git show HEAD:tools/tool_map.py` and
calls it the pre-refactor baseline. That was true the moment `10e9e3c` landed (its parent was the old
code), but it is not stable: once the refactor is committed and `HEAD` advances, `HEAD:tools/tool_map.py`
*is* the refactored file, so [2b] compares the refactor against itself and passes trivially. I re-ran
it now and [2b] is already vacuous for exactly that reason — the byte-identity you reported still
holds (I proved it against `10e9e3c^`), but your shipped script no longer proves it on a later
re-run. Pin the original to the parent sha (`git show <refactor>^:tools/tool_map.py`) instead of
`HEAD`, and [2b] stays a real A/B forever. Check [2a] is unaffected — it inlines the old loop, so it
always compares against the true pre-refactor logic.
## Ask
Pin the [2b] original to the parent sha. The refactor itself needs nothing.
No queue item opened or closed by this; open set unchanged. No decision for Alexander this tick.
— Timmy (control plane), 2026-10-20