Settings
The autonomous loop's control plane: rotation coverage, cron schedule and the run ledger. The agent reads this row on every cron fire.
Cron preconditions
- Operational DB reachable — EVERLINK_DATABASE_URL configured
- Control-plane schema present — settings + nightly_runs + rotation column live
- Cron heartbeat alive (a Railway fire within its expected window) — last Railway fire 2026-10-11 02:04:12 UTC, ≈hourly
Rotation cycle
Every active slot is probed once per cycle: each nightly run takes the least-recently-checked slots, budget = ceil(active ÷ cycle), floor 25/site. “Oldest probe performed” is the creation time of the oldest probe record (when the least-recently-checked active slot was last probed) — never-checked slots queue first, so it advances only after that backlog drains.
≈20 nightly runs until every active slot has been checked once (ETA ≈ 2026-10-31) — never-checked slots queue first and the slowest site sets the pace. Progress tracks run nights, not calendar days: probes have landed on 13 nightsso far, and a night where the chain did not run leaves progress flat — the run ledger below lists every fire. Per site: AethelGem 5,344/15,834, ≈20 nights left · HotDeals 2,566/7,606, ≈20 nights left · FlashDeals 77/77, done.
| site | active | daily budget | covered in cycle | oldest probe performed |
|---|---|---|---|---|
| AethelGem | 15,834 | 528 | 23% | 2026-09-02 19:38 UTC |
| HotDeals | 7,606 | 254 | 24% | 2026-09-02 19:38 UTC |
| FlashDeals | 77 | 25 | 100% | 2026-10-07 03:19 UTC |
Schedule & cron
The cron fires as a heartbeat and the gate decides: the fire matching this hour (UTC) runs the full chain, every other fire logs an honest heartbeat skip. An hourly schedule picks up a Run now within the hour; a daily one only at its next fire.
last change: 2026-10-04 03:00 UTC by nightly · heartbeat: alive (≈hourly) · 2026-10-11 02:04 UTC
Cron ledger (last 12 entries)
Last full run 2026-10-10 03:03:25 UTC degraded · 1425s · trigger scheduled hour (3:00 UTC) (railway) · budget aethelgem 528, sandcart 25, hotdeals 254
Heartbeat skips are pruned after 14 days; every full run is kept.
| started (UTC) | kind | origin | status | duration | reason / trigger |
|---|---|---|---|---|---|
| 2026-10-11 02:04:12 UTC | heartbeat | railway | skipped | … | heartbeat (next run 3:00 UTC) |
| 2026-10-11 01:03:38 UTC | heartbeat | railway | skipped | … | heartbeat (next run 3:00 UTC) |
| 2026-10-11 00:04:12 UTC | heartbeat | railway | skipped | … | heartbeat (next run 3:00 UTC) |
| 2026-10-10 23:03:29 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 22:00:44 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 21:02:09 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 20:03:27 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 19:03:38 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 18:02:07 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 17:00:15 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 16:03:49 UTC | heartbeat | railway | skipped | … | already ran today |
| 2026-10-10 15:00:45 UTC | heartbeat | railway | skipped | … | already ran today |