## Why
Local thread stores without an initialized state database should not implicitly
create SQLite files or partially delete threads that have materialized history.
## What changed
- Report paginated history listing as unsupported when no state database is
available, and skip history projection and materialization in that mode.
- Reject paginated forks without a state database.
- Validate access to materialized history before deleting rollout files, so a
failed deletion preserves both the rollout and its history rows.
## Testing
Added coverage that a store without a state database creates no SQLite files
and preserves materialized history when deletion is unsupported. Existing
projection tests now initialize the state runtime explicitly.
GitOrigin-RevId: 2eaa0f5f0de8d5e4d84375ec50b310746a0ee68e