atlas
5785c0024c
Make agent creation swarm-only and refuse a name placed on another hive
...
swarm-controller's POST /api/agents now refuses (409) a name the swarm
has already placed on a different hive: a non-Destroyed declaration in
that hive's wanted state, or a SetAgentWanted node still queued for it.
The same name on the same hive is that agent being re-created and goes
through. A wanted state that cannot be read refuses (503/500) instead of
reading as "placed nowhere". Creations are serialised from that read to
the graph insert so two concurrent creations of one name cannot both
pass.
Hive-level creation is removed: hivectl `agent create` / `request-create`,
HostRequest::Spawn / RequestSpawn, the dashboard POST /api/request-spawn
route, and ApprovalKind::Spawn with its approve/resolve arms and the
approval-carrying `templates::spawn`. The swarm path (deploy request or
wanted-state sweep -> queue_first_deploy -> templates::first_deploy) used
none of them. Old `spawn` approval rows are skipped by collect_lenient,
as `init_config` rows were in a3b672d1 .
policy.rs's comment on agent_object_name stated swarm-wide name
uniqueness as a fact; it now says where it is enforced and what that
check cannot see.
Refs #4396
2026-09-29 15:47:40 +02:00
..
agent_config
hive-c0re: fail on an unparseable resource-limits or topology file, write both atomically
2026-09-27 02:41:38 +02:00
dashboard
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
forge
hive-c0re: stop reporting refused invites as success; re-register the config-PR hook when its secret changes
2026-09-27 04:41:31 +02:00
job_queue
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
lifecycle
hive-c0re: bound prebuild_toplevel's nix build with a timeout
2026-09-29 02:04:53 +02:00
socket_server
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
stats
hive-c0re: warn on a du failure that isn't just a missing path
2026-09-29 09:37:16 +02:00
stores
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
workers
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
actions.rs
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
container_view.rs
hive-c0re: fail on a malformed agent name and on an unreadable container list
2026-09-27 05:13:21 +02:00
coordinator.rs
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
dashboard_events.rs
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
gateway_nginx.rs
gateway: $connection_upgrade does not come from recommendedProxySettings
2026-09-02 09:04:24 +02:00
loose_ends.rs
hive-agent-mcp, hive-c0re, hive-sh4re: drop agent param from get_loose_ends
2026-09-20 05:36:49 +02:00
main.rs
hive-screen-mcp: bound grim/wtype and VNC calls; hive-c0re: make messages match the code
2026-09-27 20:47:06 +02:00
matrix.rs
hivectl, hive-c0re: remove dead matrix create-user/promote-user/reset-password
2026-09-29 13:13:59 +02:00
meta.rs
hive-c0re: fail on an unparseable resource-limits or topology file, write both atomically
2026-09-27 02:41:38 +02:00
migrate.rs
hive-c0re: fail on a malformed agent name and on an unreadable container list
2026-09-27 05:13:21 +02:00
paths.rs
hivectl, hive-c0re: remove dead matrix create-user/promote-user/reset-password
2026-09-29 13:13:59 +02:00
priv_client.rs
hive-dashboard: remove the MATRIX credentials tab and its login route
2026-09-29 13:54:18 +02:00
server.rs
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
snapshot_push.rs
refactor( #2862 ): one snapshot store per swarm, not one per peer
2026-07-31 22:15:37 +02:00
swarm_agent_status.rs
swarm: present tense + no-queue-coordinates wording
2026-09-13 12:01:58 +02:00
swarm_notices.rs
swarm: present tense + no-queue-coordinates wording
2026-09-13 12:01:58 +02:00
swarm_queue.rs
swarm-queue-based lifecycle notices, replacing push_todo(MANAGER_AGENT)
2026-08-24 14:34:37 +02:00
swarm_status.rs
Make agent creation swarm-only and refuse a name placed on another hive
2026-09-29 15:47:40 +02:00
test_env.rs
test(hive-c0re): one crate-wide lock for env-mutating tests
2026-08-19 01:38:54 +02:00
webhook_secret.rs
hive-c0re: stop reporting refused invites as success; re-register the config-PR hook when its secret changes
2026-09-27 04:41:31 +02:00