anti
e8f9c955b3
feat(swarm): heartbeat-driven topology resync for agent-pinned deployments
...
Agent heartbeats now carry an applied-topology snapshot. The master
heartbeat handler compares the reported version_hash against what
canonical_hash yields for the hydrated topology pinned to that host
and flags Topology.needs_resync on divergence (or when the agent
reports no topology at all while master expects one).
The mutator watch loop gains reconcile_agent_resyncs, which re-pushes
the current hydrated blob via AgentClient.apply_topology without
touching status, then clears the flag on success. Push failures leave
the flag set so the next tick retries.
2026-04-21 01:35:12 -04:00
..
2026-04-21 01:19:45 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 13:14:48 -04:00
2026-04-17 13:20:05 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 01:26:56 -04:00
2026-04-21 01:35:12 -04:00
2026-04-21 01:35:12 -04:00
2026-04-19 19:07:24 -04:00
2026-04-03 23:07:44 -03:00
2026-04-15 23:46:46 -04:00
2026-04-19 23:50:53 -04:00
2026-04-17 14:49:13 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 00:26:22 -04:00
2026-04-15 13:58:12 -04:00
2026-04-17 14:52:22 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 16:43:49 -04:00
2026-04-15 18:02:52 -04:00
2026-04-12 00:26:22 -04:00
2026-04-19 22:42:52 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 22:57:03 -04:00
2026-04-18 05:37:08 -04:00
2026-04-12 00:34:45 -04:00
2026-04-19 05:46:08 -04:00
2026-04-13 01:43:52 -04:00
2026-04-14 02:14:46 -04:00
2026-04-10 01:50:08 -04:00
2026-04-09 02:31:14 -04:00
2026-04-09 02:31:14 -04:00
2026-04-19 19:59:06 -04:00
2026-04-17 13:35:43 -04:00
2026-04-20 02:26:54 -04:00
2026-04-19 03:17:17 -04:00
2026-04-04 04:31:00 -03:00
2026-04-13 23:20:37 -04:00
2026-04-14 15:02:34 -04:00
2026-04-13 01:43:52 -04:00
2026-04-17 15:05:18 -04:00
2026-04-17 16:37:34 -04:00
2026-04-04 17:36:16 -03:00
2026-04-09 02:31:14 -04:00
2026-04-08 01:04:59 -04:00
2026-04-17 14:01:36 -04:00
2026-04-10 00:14:14 -04:00
2026-04-10 01:50:08 -04:00
2026-04-13 07:39:01 -04:00
2026-04-20 02:18:11 -04:00
2026-04-12 07:48:17 -04:00
2026-04-15 12:51:33 -04:00
2026-04-15 12:59:54 -04:00
2026-04-17 13:13:36 -04:00
2026-04-19 19:59:06 -04:00
2026-04-12 00:26:22 -04:00
2026-04-17 13:39:09 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:22:20 -04:00
2026-04-14 12:53:55 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 17:36:40 -04:00
2026-04-17 19:09:15 -04:00
2026-04-17 16:37:34 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 07:48:17 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 12:51:35 -04:00
2026-04-15 12:51:35 -04:00
2026-04-17 22:57:53 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-18 05:34:50 -04:00
2026-04-18 05:34:50 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 23:23:13 -04:00
2026-04-13 20:22:08 -04:00