damocles
c9eb520e7c
priv: WriteNspawnFlags takes Vec<BindMount> instead of raw flag strings
2026-06-01 17:27:14 +02:00
damocles
aa7f8e5553
priv: move shared consts to hive-sh4re; WriteNspawnFlags uses Vec<String> + per-flag validation
2026-06-01 17:27:14 +02:00
damocles
89d0937473
priv: derive flake ref from agent name; WriteNspawnFlags takes flags only
2026-06-01 17:27:14 +02:00
damocles
8d5e97ce9f
fix(702): update priv_client to match narrowed PrivRequest variants
2026-06-01 17:27:14 +02:00
damocles
29926031ae
fix(702): replace systemd_run_machine with reload_gateway_nginx in priv_client
2026-06-01 17:27:14 +02:00
damocles
c5cab732a2
feat( #702 ): priv_client - async client for hive-priv
2026-06-01 17:27:14 +02:00
damocles
138d9fdabe
feat( #702 ): add priv_client module to hive-c0re
2026-06-01 17:27:14 +02:00
damocles
e8b24e7021
fix(948): topo-sort cascade agents in meta_update_cascade_agents
2026-06-01 16:50:41 +02:00
damocles
5dc31c1e13
fix(948): make topology_sort pub
2026-06-01 16:50:40 +02:00
damocles
eb108f9dd8
fix(947): trim prose in lifecycle.rs socket-dir block
2026-06-01 16:49:41 +02:00
damocles
e7a5718e83
fix(947): strip prose/issue-tags from agent_sockets.rs
2026-06-01 16:49:41 +02:00
damocles
7af29b3249
fix( #947 ): extend socket-dir bind to manager container
2026-06-01 16:49:41 +02:00
damocles
4435666c00
fix( #947 ): include manager in agent-sockets.json
2026-06-01 16:49:41 +02:00
damocles
8b946a67c6
fix( #947 ): extend socket-dir bind to manager container
2026-06-01 16:49:41 +02:00
atlas
f8c0f64fd4
feat: socket-activate the hive-c0re admin socket
...
Add a systemd.sockets.hive-c0re unit that holds /run/hyperhive/host.sock
before hive-c0re starts. hive-c0re serve() detects LISTEN_FDS via the
listenfd crate and accepts the systemd-handed fd instead of calling bind().
Falls back to the existing bind path when LISTEN_FDS is absent so direct
invocation and CI are unaffected.
Benefits: hivectl can connect the moment the socket unit activates (no
racy window), and a hive-c0re restart never drops the socket inode.
2026-06-01 16:29:41 +02:00
damocles
0f62eca356
fix( #942 ): wire bash_tasks_vacuum spawn into main.rs
2026-06-01 16:11:08 +02:00
damocles
5880328831
fix( #942 ): wire bash_tasks_vacuum into lib.rs + main.rs
2026-06-01 16:11:08 +02:00
damocles
38a5299183
fix( #942 ): host-side bash-tasks vacuum, 48h retention
2026-06-01 16:11:08 +02:00
damocles
8d2ae047b1
fix( #937 ): drop dead has_pending_from — superseded by has_pending_with_body
2026-06-01 15:39:26 +02:00
damocles
3283362b36
fix( #937 ): use has_pending_with_body in worker — mirrors broker change
2026-06-01 15:39:26 +02:00
damocles
ce27ef8b9e
fix( #937 ): narrow skip to same-body pending — different schedules can still enqueue
2026-06-01 15:39:26 +02:00
damocles
bf4937d116
fix( #937 ): skip scheduled delivery if target already has pending scheduled message
2026-06-01 15:39:26 +02:00
damocles
044ff5523c
fix: call matrix::sync_agent on rebuild, mirrors startup sweep
2026-06-01 14:37:22 +02:00
iris
188f3ea5ec
chore: scrub #NNN issue references from code comments and nix descriptions
...
Part of the docs-migration chore (issue #708 ). Remove GitHub issue
numbers from inline comments, option descriptions, and rustdoc —
these are contextless noise for anyone reading the code without
access to the original discussions. Replace with prose that captures
the same rationale directly.
No functional change. Build still clean (cargo check passes).
2026-06-01 13:30:52 +02:00
damocles
9bd37d4df3
fix( #4 ): rename shared org from org-shared to internal
2026-06-01 13:27:47 +02:00
damocles
6044cd4d79
feat( #4 ): seed org-shared/docs repo, grant every agent read access
2026-06-01 13:27:47 +02:00
damocles
ae6d23594d
feat( #2 ): split harness-internal state from agent-visible state
2026-06-01 13:27:35 +02:00
damocles
ce875646a5
refactor( #3 ): topology-based rebuild ordering — parents before children
2026-06-01 13:22:10 +02:00
damocles
025746b674
fix( #438 ): use QueueSource::AutoUpdate for StartupSweep parent, fix AutoUpdate doc
2026-06-01 13:04:13 +02:00
damocles
ba7e9b0ef2
feat( #438 ): add StartupSweep queue kind — group boot-time rebuilds under a parent entry
2026-06-01 13:04:13 +02:00
damocles
816523861c
feat( #513 ): inject HIVE_TOOL_GROUPS from meta tool-groups.json per agent
2026-06-01 13:03:51 +02:00
damocles
e75088bf40
docs: trim meta.rs module doc to pointer ( #715 )
2026-06-01 11:38:42 +02:00
damocles
42fe3965de
docs: move dashboard.rs security + bind rationale to docs ( #715 )
2026-06-01 11:38:42 +02:00
damocles
12a26e6cb0
docs: migrate reminder/gateway/crash-watch/migrate prose to docs ( #715 )
2026-06-01 11:38:42 +02:00
damocles
34cc68bdfb
docs: migrate scheduled-prompts worker + dashboard-events design prose to docs
2026-06-01 11:38:42 +02:00
damocles
1b8a6be8ce
docs: add build_logs.sqlite section to persistence.md, trim build_logs.rs module doc
2026-06-01 11:38:42 +02:00
damocles
5522d65074
docs: add token scopes section to forge.md, trim forge.rs module doc + scope comments
2026-06-01 11:38:42 +02:00
damocles
88cdab411e
docs: add container lifecycle section to coordinator.md, trim lifecycle.rs prose
2026-06-01 11:38:42 +02:00
damocles
64f11a862d
docs: add coordinator.md, move rebuild-queue prose from code ( #715 )
2026-06-01 11:24:13 +02:00
damocles
15617cef9a
refactor: unify AgentRequest/Response + ManagerRequest/Response into Request/Response ( #691 )
2026-06-01 11:20:10 +02:00
damocles
d14df8b9a0
lifecycle: thread on_step callback through rebuild for accurate queue step labels
2026-06-01 00:05:09 +02:00
damocles
52cfc3ea1c
reshape swarm peers: domain-as-key, certFingerprint field
2026-05-31 23:55:34 +02:00
damocles
d266889263
fix: matrix registration token 0o640 -> 0o600
2026-05-31 23:35:00 +02:00
atlas
d45b2f0293
chore: scrub issue/PR cookies from gateway + network nix modules and gateway_nginx.rs
2026-05-31 23:09:46 +02:00
damocles
4093f4fdb4
fixup: remove issue tags from code, use plain prose
2026-05-31 23:06:38 +02:00
damocles
348fb3792a
feat( #589 ): swarm peers option + HYPERHIVE_PEERS env wire v0
...
nix: services.hyperhive.peers attrset-of-submodules option; serialises
to HYPERHIVE_PEERS JSON ([{label,domain}]); forwarded to containers via
FORWARDED_VARS. dashboard.rs: peer_hives: Vec<PeerHiveView> in
StateSnapshot, derived as {name:label, url:"http://domain/ "}.
identity.rs: PeerHive struct + peers() accessor for agent-side use.
2026-05-31 23:06:38 +02:00
atlas
3b76842853
gateway_nginx: fix stale module doc + clarify reload log (argus nits)
2026-05-31 22:42:52 +02:00
atlas
01d7c37af2
gateway: fix nginx reload — trigger from host via systemd-run ( #889 )
...
The #872 path-unit approach was silently broken: IN_MOVED_TO from an
atomic rename on the host does not propagate across the nspawn
mount-namespace boundary into the container, so the watcher inside
the gateway container never fired.
Fix: after each agents.conf write, c0re calls
`systemd-run --machine=hive-gateway -- nginx -s reload` from the host.
The reload is best-effort (logged on failure, not fatal).
Remove the now-unused `hive-gateway-agents-conf.path` +
`hive-gateway-nginx-reload.service` from the gateway container config.
Update docs/gateway.md + comments to reflect the host-side approach.
2026-05-31 22:42:52 +02:00
müde
21213be1b6
lifecycle: chown per-agent socket dir to the agent user
...
Replace the 0777 fallback with a chown to the in-container agent's
uid/gid (resolvable via agent_uid_gid since nspawn shares uids with
the host). Keeps the dir at the default 0755 mode and avoids
world-writability. Falls back to 0777 only when the agent uid is
unavailable (first-spawn race before /etc/passwd is rendered).
2026-05-31 22:37:35 +02:00
iris
30328a5184
fix( #888 ): http→https in forge_public_url doc comment example
2026-05-31 22:08:59 +02:00