oMLX hybrid GDN boundary snapshot capture regression
Parent: Mac local LLMs: oMLX, Rapid-MLX and related internals · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
The intermittent CI log line `Rejecting split-GDN placeholder block 3 because its recurrent checkpoint was not committed` came from `BoundarySnapshotSSDStore.take_staged_file` removing the request directory with `file_path.parent.rmdir()` after promoting an earlier boundary.
These notes link each claim to its source. A source may be a research report hosted on this site rather than the primary document. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- The intermittent CI log line `Rejecting split-GDN placeholder block 3 because its recurrent checkpoint was not committed` came from `BoundarySnapshotSSDStore.take_staged_file` removing the request directory with `file_path.parent.rmdir()` after promoting an earlier boundary. [source]
- In the race the writer thread had run `mkdir(parents=True, exist_ok=True)` but not yet written the temp file, the `rmdir` succeeded on the empty directory, and `_write_safetensors_no_mx` failed with ENOENT. [source]
- The failed write was logged at debug level only; the pending marker was released with no file behind it, `take_staged_file` returned None, `commit_gdn_checkpoint` returned False, and the split-GDN store stopped one block short. [source]
- PR 3563 fixed it by no longer removing the request directory in `take_staged_file`, leaving removal to `cleanup_request`; the maintainer reproduced the old behavior, confirmed targeted boundary and split-GDN tests pass, and merged on 2026-09-11. [source]
- PR 3563's regression test is `tests/test_boundary_snapshot_store.py::test_take_staged_file_leaves_request_dir_for_queued_writes`; 25 local runs never hit the flake and CI runners did. [source]
- PR 3288's root cause is that on hybrid models the store path persists a prefix only from a boundary-aligned snapshot, so skipping all decode-time captures left nothing to store. [source]
- PR 3288's test run reported `pytest tests/test_scheduler.py -k boundary` with 22 passed plus two new tests for the on-boundary and off-boundary cases. [source]
- Issue 3317's cached copy lists no linked fix and remains open, so the 0.6.4 skip behavior is not shown fixed on the page. [source]
- Issue 3539 shows an empty `_boundary_snapshots/` with `_gdn_sidecars` at 147 MB for a 9,890-token prompt on 0.6.4, so the skip is not limited to the 2,048-token block grid. [source]
Children
- No children recorded.