DESIGN.md: backfill §19 with homemaker-py-161's in-search A/B verdict

161 (2026-07-22) answered the "remaining open question" §19 left dangling —
threading fit into driver.search so shape_rotate/deslim can fire mid-GA —
but the result only ever landed in bd notes, never here. Also negative:
full-budget harbor-house A/B (seeds 0-3) shows no improvement, confirming
the finish-time finding at in-search scale. Both halves of §19's mechanism
space are now closed negative in the doc, matching bd state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GDZjAATDWW1xFfc7xnJqSt
This commit is contained in:
Bruno Postle 2026-07-23 22:39:08 +01:00
parent d125d2f19c
commit 372bebd0a3

View file

@ -2562,6 +2562,21 @@ with/without) is the remaining open question and would need to be its own measur
before further code changes — this session's finding is that the *finish-time* half of the before further code changes — this session's finding is that the *finish-time* half of the
issue's candidate mechanisms is a dead end, not that geometry repair is impossible in general. issue's candidate mechanisms is a dead end, not that geometry repair is impossible in general.
**In-search follow-up (measured, 2026-07-22, `homemaker-py-161`) — also negative.**
`driver.search`/`search_staged` gained `enable_shape_repair: bool = False`, threading a cached
`Fitness` instance into `operators.mutate()` only when set (mirrors `enable_reassociate`'s clean-
toggle pattern; default off reproduces prior runs byte-for-byte). Full A/B on harbor-house
`init.dom` cold-start, budget=1,000,000, pop=16, child_budget=80, workers=4, seeds 03: fails
`[14,15,12,17]` mean 14.50 (off) vs `[17,14,16,12]` mean 14.75 (on) — no improvement, and the 0.25
delta is far inside the 1217 seed-to-seed spread in both arms. A smaller pilot (budget=20000, 3
seeds) matched: off mean 31.33, on mean 32.00. In-search selection pressure and population
diversity do **not** rescue `shape_rotate`/`deslim` on harbor-house-scale programmes either — the
residual fails look like a genuine floor for this representation on this programme, not an
inefficiency reachable by richer local operators, in either regime. Code kept (not reverted) for
reuse/reproducibility per the `enable_reassociate` precedent; test
`test_enable_shape_repair_threads_fit_into_mutate` in `tests/test_driver.py`. Both halves of §19's
candidate mechanism space (finish-time and in-search) are now closed negative.
## 20. In-search global collapse (`homemaker-py-qpk`) — DONE (positive, size-dependent) ## 20. In-search global collapse (`homemaker-py-qpk`) — DONE (positive, size-dependent)
**Motivation.** §17 (`94g`) landed the FINISH-TIME global cell↔room collapse — a one-shot label **Motivation.** §17 (`94g`) landed the FINISH-TIME global cell↔room collapse — a one-shot label