mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-09-28 18:38:24 +00:00
Greptile round-5 P1: "Blank Slots Exhaust Capacity." A partial that shrinks a region blanks the removed records but leaves them in _images; the reusable-slot scan only saw image blocks still present, so a later regrow could not reuse the blanked records and appended past them. Repeated shrink/grow cycles consumed the bounded record capacity until current images fell back to placeholder text. The reusable pool is now every record NOT still referenced by a surviving non-region image block: region_slots (old region's records, document order, replaced in place) plus dead_slots (records a prior shrink blanked, ascending index, reused before any append). Retained records stay excluded and keep their index, so decoded slots / loader entries still resolve; overflow beyond the pool appends as before and hits MAX_IMAGES with a run-text fallback. Regression: grow(3)/shrink(1) x2.5 cycle pins the record count at the retained+region bound and that the final grow renders every current image (no blank fallback). Falsified against the append-past-blanked code (fails), passes with the fix. Co-Authored-By: Claude <noreply@anthropic.com>