Record provider calls and account quota for cache-aware compaction
Phase 1 of quota- and cache-aware compaction: record what later analysis cannot recover from the transcript, with no behaviour change. - Usage carries cache writes split by TTL (5m/1h) and reasoning tokens, from Anthropic's cache_creation, OpenAI's output/completion token details and Antigravity's thought count. - request_ledger keeps one row per upstream attempt (turns and compaction summaries): account label from rotation, timing, outcome with HTTP status and a bounded error body, token counts, the transcript seq it produced, and a prefix identity (head hash, projected inputs, replaced count, replacement hash, strategy). Requests are hashed, never stored. GET /sessions/:id/ledger reads it. - provide-usage (usage-core, Zig) is a pinned flake input linked as priv/bin/usage. usage_feed drives it one stateless `usage advance -` round at a time over stdin; albedo does the HTTP, and alibaba's `bl` runs with an environment allowlist, a deadline that kills it, and a stdout cap. - One daemon-wide poller reads every account's quota on a 10 minute cadence, 2 minutes near a limit or reset, backing off on failure, into quota_sample (plan, window and reset as reported). Only access tokens reach the core. GET /quota reads the latest or the history.