Skip to content

Preserve active search gates across self-play storage pauses - #8

Merged
arhancanli merged 1 commit into
engine/macbook-continuous-20261005from
engine/search-resource-checkpoint-20261005
Oct 5, 2026
Merged

arhancanli merged 1 commit into
engine/macbook-continuous-20261005from
engine/search-resource-checkpoint-20261005

Conversation

@arhancanli

Copy link
Copy Markdown
Owner

When storage pauses self-play, the available match cores change. The controller previously compared an existing gate with this new concurrency, failed to recognise its progress, and could start a ready training round before the gate finished. Storage recovery could similarly replace a full-budget gate or oversubscribe it with a new generator.

Keep the checkpoint's saved concurrency when every test input, setting and execution profile still matches and the allocation fits the current CPU budget. Plan generation around that allocation, and refuse to replace a matching gate when another generator leaves too few cores. New or changed tests retain the normal allocation and identity checks.

Validation: reproduced the bug read-only on the actual 5,056-game, nine-worker cont4 checkpoint: storage-ready was recognised, storage-paused was not. The fixed predicate recognises both states and preserves nine workers on the later 5,120-game checkpoint. All 46 controller tests pass, including four new regressions for storage pause, storage recovery, unchanged-input requirements and an integration test proving ready training stays deferred while the same gate advances. Two of the initial regressions failed before the fix. No playing binary, network, gate limits, completed games or search options change.

@arhancanli
arhancanli merged commit d402fb1 into engine/macbook-continuous-20261005 Oct 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant