homemaker-layout/src
Claude e5eb397b52
Checkpoint long searches; the cold-start runs were lost to a reclaimed box
All four 500k runs died about 10 minutes in when the container was
reclaimed. No SIGTERM fired, so no .dom was written and 0 of 12 runs
completed. My plan committed results per finished run, which protected
nothing because no run reached its commit point. The bad assumption was
reading "reclaimed after inactivity" as CPU inactivity; it is conversation
inactivity, and background compute does not hold the box open.

Progress reached before the loss (from the tracked logs): harbor 24,960
evals / 40 fails, maple 14,880 / 79, health-centre 25,920 / 33,
programme-house 138,800 / 2.

The underlying gap is not environmental: a search's only output lands at
the very end or on SIGTERM, so ANY abrupt loss -- reclaimed container, OOM,
power cut -- takes the whole run with it. On a 3M-eval search that is 2.4
days of compute with no recoverable artefact.

  - driver.search gains checkpoint=/checkpoint_every=: the current best is
    handed to a callback at most every N evals. Rate-limited by evals, not
    improvements, which come in bursts early. A failing checkpoint is logged
    and swallowed -- losing a checkpoint is bad, losing the search because a
    checkpoint failed is worse.
  - homemaker-evolve --checkpoint-every N writes <out>.dom.checkpoint via
    mkstemp + os.replace, so a crash can never catch it half-written. It is
    deliberately NOT the output path: a checkpoint is a leaf-sharing run's
    internal best, dishonest under the canonical scorer until the finish
    stage unfolds it (homemaker-py-3l6), and must not be mistaken for the
    finished article.
  - Verified the written checkpoint re-loads as a valid .dom.

Default off, so behaviour is unchanged without the flag.

Lint at parity (46); tests 372 passed (3 new), same 2 pre-existing failures.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MJ84Feep79Hhm3E4zZJmnB
2026-08-29 05:43:58 +00:00
..
homemaker_layout Checkpoint long searches; the cold-start runs were lost to a reclaimed box 2026-08-29 05:43:58 +00:00