Stories · Pool Health
dev-bypass@local
d
Pool Health
Spec §5.5 — runway snapshot across the three pool flavors. Numbers refresh on every page load (no snapshot table).
Last refreshed
2026-05-14 01:20:22 IST
What is this page?
Pool runway = how many days of content you have queued up. Below the threshold, refill the pool by authoring more drops or running a bulk import.
Thresholds (from
internal/stories/config.go):
evergreen ≥ 60 days · monthly ≥ 15 days · current affairs ≥ 3 days.Cadence assumes 1 publish per IST day per surface (spec §3). The 06:00 IST cron emits the same numbers via slog (search
stories.pool_health).Evergreen pool
Articles
0
in pool
0 day runway at 1/day
⚠ refill soon (< 60d)
Current Affairs pool
Drops
0
in pool
0 day runway at 1/day
⚠ refill soon (< 3d)
Current Affairs pool
Articles
0
in pool
0 day runway at 1/day
⚠ refill soon (< 3d)
How runway is computed: count of rows with status='pool' for each (surface, flavor) tuple. The daily cron emits the same numbers via slog (search
stories.pool_health in the log stream).Why no snapshot: architect decision A2 — counts are cheap (
WHERE status='pool' GROUP BY pool_flavor hits idx_drops_pool + idx_articles_pool); a snapshot table would double-bookkeep without value.