feat(proxy): reclaim space from the blob store

`tokio::time::interval` fires immediately, so every restart sweeps

Defect 7 / Tier 2 / issue

services/proxy/src/main.rs:101services/proxy/src/main.rs:108

Expected review

use `interval_at` with a start instant one period out, or await the period before the first pass.

Discovery difficulty

it is a property of the constructor rather than of any line in the diff, the comment states the opposite with a reason attached, and the `set_missed_tick_behavior` call on the next line makes the block read as though somebody had already thought carefully about the timer.

Trigger

any process start. Verified against the built binary: with `CAIRN_SWEEP_INTERVAL=1h`, the log line "swept the blob store" lands about two milliseconds after "proxy starting". A proxy that is crash-looping or being rolled sweeps once per restart regardless of the configured interval, and each of those passes takes the store to the ceiling and drops the index entries for what it evicted.

Severity

issue

benchee benchee-dashboard-1 built from 10f4ec58 Static benchmark evidence ·