From 87016cd5672d5640a4f94db5ff150b0a966528c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Sat, 16 May 2026 00:32:55 +0200 Subject: [PATCH] auto_update: bump meta hyperhive input before per-agent rebuilds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit auto_update::run now calls meta::lock_update_hyperhive once up-front so the per-agent rebuilds it kicks off rebuild against the new base. lifecycle::rebuild already drives sync_agents + lock_update_for_rebuild per agent, so the rev-marker shortcut keeps its meaning ('we've ack'd this rev for this agent') without further plumbing. failures of the hyperhive lock bump log + continue — individual rebuilds will surface concrete errors if anything's really wrong. --- hive-c0re/src/auto_update.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hive-c0re/src/auto_update.rs b/hive-c0re/src/auto_update.rs index bce2871..ad3db22 100644 --- a/hive-c0re/src/auto_update.rs +++ b/hive-c0re/src/auto_update.rs @@ -159,6 +159,13 @@ pub async fn run(coord: Arc) -> Result<()> { }; tracing::info!(rev = %current_rev, "auto-update: scanning agents"); + // Bump meta's hyperhive input up-front so the per-agent rebuilds + // below build against the new base. Failure here is logged but + // not fatal — individual rebuilds will surface concrete errors. + if let Err(e) = crate::meta::lock_update_hyperhive().await { + tracing::warn!(error = ?e, "auto-update: meta lock_update_hyperhive failed"); + } + let containers = match lifecycle::list().await { Ok(c) => c, Err(e) => {