The develop rebase merged the #120 title-only-change branch and the
#248/#251 store-side empty-guard into one onStoreDocument. The existing 14
tests exercise each only in isolation (empty-guard tests send no title
fragment; title tests send a non-empty body), so none reached the
empty-guard's blocking branch with titleChanged===true. Add two paired
regression tests on that exact junction:
- empty body + a changed non-empty title over non-empty persisted content,
no intentional-clear → the empty-guard blocks the WHOLE store, dropping
the simultaneous rename too (updatePage not called); the rich content and
old title survive.
- the same doc with a deliberate clear armed via the real stateless
transport → the empty body is allowed and the rename rides along on the
same body-path updatePage (title + empty content persisted).
The pair makes Test 1 non-vacuous: same doc, only the clear differs, and
Test 2 proves updatePage IS reachable — so Test 1's "not called" is the
guard blocking, not an unreached path. Test-only; no production change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>