3550044ae0
First slice of the file-backed IEventStore planned in cli/plans/2026-04-24-file-event-store-*. Each event is stored as events/<aa>/<bb>/<id>.json with atomic tmp+rename writes. Ephemeral kinds are dropped. Duplicate inserts are no-ops (id-level uniqueness). Staging leftovers are swept on open. Only id-based query and delete are wired; the query planner, indexes, replaceable/addressable slots, tombstones, vanish, expiration sweep, FTS, and transactions land in later steps. Tests: 10 new tests under quartz jvmTest, all passing.