mirror of
https://github.com/HeyPuter/puter.git
synced 2026-11-06 05:55:42 +00:00
Three reads still got a flush wrong: - A write re-sent after its reply was lost, found already applied, left the claim without touching a warm cached base, so balance reads stayed short of what the store held. The claim and the base are now dropped together, and the next read seeds a fresh base from the store. - A read with no cached base took the buffer, then the store; a flush that wrote a batch and left its claim in between had it counted twice. - An exact read added another deployment's claim but not the usage that arrived behind it, which that read can't flush, so a charge crossing the allowance went entirely to the allowance. Reads that go to the store now take everything buffered (delta and claim), read the store consistently, and read the buffer again, retrying when it shrank in between. Single and array reads and exact reads all use it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>