swarm-controller: wire the config-PR webhook, not just the poll

This commit is contained in:
damocles 2026-08-19 20:16:13 +02:00
commit f3e42c93b4
3 changed files with 163 additions and 25 deletions

View file

@ -770,10 +770,11 @@ async fn get_jobq_rollup(State(state): State<AppState>) -> Json<Vec<hive_jobq_wi
Json(hive_jobq_wire::state_rollup(graph, roots))
}
/// `agent`'s open config PR, from the last successful swarm-level scan
/// ([`config_pr::spawn`]) — not a live forge read, so this answers even when
/// the forge itself is momentarily unreachable, at the cost of being up to
/// one [`config_pr::POLL_INTERVAL`] stale.
/// `agent`'s open config PR, from [`config_pr::ConfigPrCache`] — kept
/// current by a webhook nudge (near-real-time) backstopped by a periodic
/// scan (worst case: up to one [`config_pr::POLL_INTERVAL`] stale if a
/// delivery was ever missed). Not a live forge read either way, so this
/// answers even when the forge itself is momentarily unreachable.
///
/// `200` with a `null` body means "no open PR" (or "no scan has completed
/// yet") — not distinguished, for the same reason [`ConfigPrCache::get`]