damocles
35a7ff03b7
hive-c0re: bind-mount /run/hive-agent/<name>/ per sub-agent ( #784 phase 2 step 2b)
...
builds on step 2a (#809 ). lifecycle::set_nspawn_flags now adds a
--bind={socket_dir}:{socket_dir} flag per sub-agent so the harness's
HIVE_WEB_SOCKET bind (PR #800 ) lives in a dir both the agent
container and the host can see.
design (matches #809 's a1a601d explanation):
- bind the SUBDIR, not the socket file. file bind-mounts drop on
unlink; the harness's bind_unix unlinks any stale socket before
binding, so a file bind would land the new socket in the agent's
private namespace, invisible to the gateway. dir bind keeps both
sides on the same dir inode.
- per-agent dir (one /run/hive-agent/<name>/ per agent, not a shared
/run/hive-agent/ mount). The agent's container only sees its own
subdir — never siblings' (mara on #800 ).
- manager skipped — the manager's UI serves at / via the c0re
dashboard upstream, not via /agent/<name>/, so it never needs the
per-agent socket dir.
mkdir source defensively before bind: nspawn refuses to start when
the bind source is missing, and /run/hive-agent/ doesn't exist on
fresh hosts.
remaining work in this phase:
- step 3 (atlas): gateway proxy_pass http://unix:/run/hive-agent/ <name>/web.sock:/
- per-agent: flip HIVE_WEB_SOCKET in agent.nix to opt in (separate PRs)
- step 4 (later): drop TCP fallback once everyone's flipped
2026-05-31 15:44:26 +02:00
..
bin
hivectl: extend --password to forge; clarify matrix M_USER_IN_USE asymmetry ( #663 / argus)
2026-05-30 23:27:26 +02:00
actions.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
agent_ports.rs
lifecycle: drop manager port special case ( #753 ) — manager hashes into 8100..8999 like every other agent
2026-05-31 13:25:13 +02:00
agent_server.rs
get_agent_meta: include hive_name + swarm_name in response ( #710 )
2026-05-31 12:50:19 +02:00
agent_sockets.rs
hive-c0re: per-agent subdir socket layout ( #809 design fix)
2026-05-31 15:38:04 +02:00
approvals.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
auto_update.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
broker.rs
broker: add mark_all_read + POST /api/agent/{name}/mark-all-read ( #559 backend half)
2026-05-29 13:14:31 +02:00
client.rs
hive-c0re: admin socket server + client (stub dispatch)
2026-05-14 20:49:11 +02:00
container_view.rs
get_agent_meta: include hive_name + swarm_name in response ( #710 )
2026-05-31 12:50:19 +02:00
coordinator.rs
topology: drop manager-root special case + notify three agents on reparent ( #743 )
2026-05-31 13:27:30 +02:00
crash_watch.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
dashboard.rs
topology: drop manager-root special case + notify three agents on reparent ( #743 )
2026-05-31 13:27:30 +02:00
dashboard_events.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
events_vacuum.rs
fix #265 : resolve all remaining clippy warnings (cast, too_many_lines, doc nits)
2026-05-22 19:11:40 +02:00
flake_check.rs
nix: hyperhive owns nixpkgs pin via follows; bump to nixos-26.05 ( #526 )
2026-05-30 12:02:48 +02:00
forge.rs
c0re: dedupe chown_to_agent into lifecycle (argus #678 )
2026-05-31 00:40:40 +02:00
lib.rs
hive-c0re: agent_sockets.json writer ( #784 phase 2, step 2a)
2026-05-31 15:38:04 +02:00
lifecycle.rs
hive-c0re: bind-mount /run/hive-agent/<name>/ per sub-agent ( #784 phase 2 step 2b)
2026-05-31 15:44:26 +02:00
limits.rs
set_status: reject multi-line and over-200-char text ( #720 )
2026-05-31 11:54:08 +02:00
loose_ends.rs
rename: open_threads → loose_ends + cancel_thread → cancel_loose_end across wire / tools / web ui
2026-05-18 18:24:09 +02:00
main.rs
hivectl: add operator-facing host CLI with forge + matrix create-user verbs ( #655 )
2026-05-30 20:34:59 +02:00
manager_server.rs
get_agent_meta: include hive_name + swarm_name in response ( #710 )
2026-05-31 12:50:19 +02:00
matrix.rs
c0re: dedupe chown_to_agent into lifecycle (argus #678 )
2026-05-31 00:40:40 +02:00
meta.rs
hive-c0re: agent_sockets.json writer ( #784 phase 2, step 2a)
2026-05-31 15:38:04 +02:00
migrate.rs
model/context: move context window config to host-level hive-c0re.nix
2026-05-20 15:49:03 +02:00
operator_questions.rs
clippy: zero pedantic warnings across the tree
2026-05-18 22:09:34 +02:00
questions.rs
questions: unit-test the manager-only guard on approval cancel (argus nit on #508 )
2026-05-27 12:48:30 +02:00
rebuild_queue.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
reminder_scheduler.rs
drop legacy /state mount for manager ( #604 )
2026-05-29 21:21:44 +02:00
scheduled_prompts.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
scheduled_prompts_worker.rs
clippy: fix lints that crane's cargoClippy properly enforces ( #538 )
2026-05-29 01:45:48 +02:00
server.rs
topology: drop manager-root special case + notify three agents on reparent ( #743 )
2026-05-31 13:27:30 +02:00
stats_vacuum.rs
fix #265 : resolve all remaining clippy warnings (cast, too_many_lines, doc nits)
2026-05-22 19:11:40 +02:00
topology.rs
topology: drop manager-root special case + notify three agents on reparent ( #743 )
2026-05-31 13:27:30 +02:00