L7: firehose — event sequencer + subscribeRepos WebSocket
Implements the firehose event system for rookery:
- Event sequencer (src/sequencer.ts): sequenceCommit, sequenceIdentity,
sequenceAccount with CBOR-encoded Sync v1.1 frame format, cursor-based
backfill via getEventsSince, event pruning, and in-process subscriber
broadcast
- WebSocket endpoint: GET /xrpc/com.atproto.sync.subscribeRepos with
cursor-based backfill and live streaming via @hono/node-ws
- Write integration: createRecord, putRecord, deleteRecord, applyWrites
all emit commit events with correct ops, blocks (CAR), rev, prevData
- Signup integration: identity + account events emitted on signup
- Storage: captures last CommitData for sequencer access
- 27 new tests (119 total) covering all acceptance criteria
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>