firehose: subscribe for commits only, on Jetstream v2 master
The Durable Object was consuming the account's whole Durable Objects daily quota: the subscription filtered by collection, which on v1 and v2 constrains commit events alone — identity and account events flow to every subscriber regardless. Measured, that stream runs at ~0.8/s, and every message is a Durable Object request, so the subscription alone accounted for ~70k of the 100k free-tier requests per day (the cron and keepalive add ~300). v2 is the endpoint that can filter by kind, so the subscription now asks for collections plus kinds=commit. Nothing else about the object changes: it still resumes from a stored cursor, though the cursor is now the event's seq (v2 translates a stored microsecond timestamp, so the existing value still works). The v2 envelope differs — the commit sits under payload, tagged by — so parsing moved into parseCommit(), which is a plain function and testable without a live socket.