homemaker-layout/src
Bruno Postle 3b3eef68a7 kpu: Schedule B in-run leaf-share grain annealing (search_annealed)
Ramp the leaf-share grain down within one continuous run (e.g. 4->3->2->off),
carrying the whole population across each step — graduated non-convexity over
the single hard sharing->off transition of the §15 finish.

- operators.unfold_shared_leaves(above=cap): unfold only leaves whose share
  exceeds the new grain cap, leaving smaller-share leaves collapsed for the
  next step. above=1 (default) keeps the full-unfold §15 behaviour.
- driver: max_share override threaded through _overrides_for/_fitness_for/
  _evaluate so a phase can rebuild the evaluator at a lower leaf_share_max cap;
  search(seed_pop=) evaluates an explicit initial population so a phase hands
  its whole population to the next instead of restarting from a single best.
- driver.search_annealed: one phase per descending grain then a de-share
  polish; unfold-above-cap between steps; cumulative accounting + grain-tagged
  history; honest canonical best (byte-for-byte verified vs homemaker-fitness).
- evolve: --anneal-grain LADDER CLI (self-finishing; §15 finish not applied).

8iv settled the primitive (grid unfold beat the circulation-aware slice), so
the ramp reuses the plain balanced-grid unfold at every step.

Tests: unfold above-cap selectivity, seed_pop seeding, search_annealed phase
stitching / honest finish / degenerate-ladder fallback. 258 pass. DESIGN §16.

Head-to-head A/B on harbor-house still to run; verdict pending (issue open).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M8566xAxTnwtJTkpXjYNZm
2026-07-16 08:38:08 +01:00
..
homemaker_layout kpu: Schedule B in-run leaf-share grain annealing (search_annealed) 2026-07-16 08:38:08 +01:00