[aside] gateway-local run_sql の catch-up が毎回 各 bucket の現行月ファイルを丸ごと再 fetch + 再 parse する ── 月が育つと同じ行を何度も DL/fold する。 PR #306 の `local_sql.rs::collect_bucket` は鮮度優先で「現行(最新)月ファイルは常に再取得 → 未 seen ev_id だけ apply」にした。個人 corpus では bucket あたり現行月 1 ファイルなので軽いが、bound は「その月の event 全部」で O(新規) ではない。 改善案:conditional GET(etag / If-None-Match)or byte-range で差分だけ取る、または per-file の適用済みバイト/行カーソルを持つ。今回はスコープ外(まず動く鮮度を優先)。