cap Today and Later receipts at 4,096 per account and prune receipts after 30 days with in-place SQLite migration
attach Today base revisions so pruned stale replays cannot reorder newer plans
expire 30-day-old browser planning edits visibly while retaining server truth
bump the offline shell and document the retention contract
Verification
RED observed for receipt migration/caps, stale Today replay, browser expiry, API model, docs, and shell cache
python3 -m pytest tests/ -q — 731 passed
deterministic release bundle built, checksummed, and verified locally
Closes #381
## What changed
- cap Today and Later receipts at 4,096 per account and prune receipts after 30 days with in-place SQLite migration
- attach Today base revisions so pruned stale replays cannot reorder newer plans
- expire 30-day-old browser planning edits visibly while retaining server truth
- bump the offline shell and document the retention contract
## Verification
- RED observed for receipt migration/caps, stale Today replay, browser expiry, API model, docs, and shell cache
- `python3 -m pytest tests/ -q` — 731 passed
- deterministic release bundle built, checksummed, and verified locally
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #381
What changed
Verification
python3 -m pytest tests/ -q— 731 passed