Week Ahead promotion now refuses to replace a non-empty Today plan and leaves both encrypted stores unchanged.
The 409 contract returns both preserved snapshots for deterministic review.
Mobile opens the existing Today planner once with actionable recovery copy instead of reporting a false successful rollover.
Verification
pytest tests/ -q — 2240 passed, 11 skipped
packaged mobile Week Ahead journey — 2 passed (320×568 and 390×844)
release bundle checksum and manifest verification passed
Closes #1182
## What changed
- Week Ahead promotion now refuses to replace a non-empty Today plan and leaves both encrypted stores unchanged.
- The 409 contract returns both preserved snapshots for deterministic review.
- Mobile opens the existing Today planner once with actionable recovery copy instead of reporting a false successful rollover.
## Verification
- `pytest tests/ -q` — 2240 passed, 11 skipped
- packaged mobile Week Ahead journey — 2 passed (320×568 and 390×844)
- release bundle checksum and manifest verification passed
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 #1182
What changed
Verification
pytest tests/ -q— 2240 passed, 11 skipped