Python: the BackingStore protocol can say absent, so the default soft push_all decides like the real stores (py-protocol-pull-absent) #158

Merged
libby merged 1 commit from store-replace/py-protocol-pull-absent into main 2026-11-13 05:43:50 +00:00
Member

Adds pull_or_absent() to the BackingStore protocol (envelopes the reader reads, None when nothing is at the path, raises when unreadable); the default push_all decides soft by it; the single-file and JSONL stores expose their _pull through it. A store defining only pull_all keeps always-skip (default returns pull_all()). Spec cut-cut-py-protocol-pull-absent.r1, report .h1.

🤖 Generated with Claude Code

Adds pull_or_absent() to the BackingStore protocol (envelopes the reader reads, None when nothing is at the path, raises when unreadable); the default push_all decides soft by it; the single-file and JSONL stores expose their _pull through it. A store defining only pull_all keeps always-skip (default returns pull_all()). Spec cut-cut-py-protocol-pull-absent.r1, report .h1. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cultcache-py: BackingStore.pull_or_absent lets the default push_all decide soft (py-protocol-pull-absent)
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 22m0s
5db4a7111c
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit d7e94648ac into main 2026-11-13 05:43:50 +00:00
libby deleted branch store-replace/py-protocol-pull-absent 2026-11-13 05:43:50 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!158
No description provided.