Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-c0re
Repository files (latest commit first)
Filename Latest commit message Latest commit date
damocles 748ef2da08 hives report an agent being updated: its status shows updating from the update's stop until the container is back up
A hive marks an agent updating when StopForUpdate stops its running container and clears it when the tail Reconcile or Start settles it, success or failure. The flag rides in the agent status snapshot (absent when false, so older readers and documents are unchanged), the status publisher sends a change at once instead of at the next sweep, and the swarm UI card shows an updating badge.
2026-11-11 16:51:42 +01:00
..
src hives report an agent being updated: its status shows updating from the update's stop until the container is back up 2026-11-11 16:51:42 +01:00
Cargo.toml deploy the closure the swarm declares, read no forge head, drop the update badge 2026-11-02 07:55:10 +01:00
README.md docs: the handbook follows the three layers: swarm, hives, agents 2026-11-07 12:19:36 +01:00

hive-c0re

The unprivileged host daemon (runs as hive-core). Owns the sqlite broker, the reminder queue, the generic job-DAG queue, container lifecycle, gateway vhost wiring, forge/matrix config reconciliation, per-container stats, and the axum operator dashboard. Largest crate in the workspace — bin-only, no separate lib.

When to use it

Host-level, cross-container orchestration: spawning/rebuilding/ destroying agent containers, dashboard-visible state, wiring each agent's gateway vhost and reconciling its forge config-repo access and matrix room membership. The accounts themselves are swarm-controller's (docs/2-handbook/swarm/forge.md). Agent-side behavior (turn loop, MCP tools) lives in hive-agent/hive-agent-mcp instead — this daemon only talks to agents over the socket wire types in hive-sh4re.

Shape

Cohesive clusters live in directory submodules, each re-exported at the crate root (crate::broker::… keeps resolving regardless of which subdirectory a module actually lives in). One line each — read the module's own //! doc-comment for real detail, don't expect this file to track it:

  • dashboard/ — the operator dashboard (containers, schedules, logs, topology).
  • job_queue/ — the job-DAG queue + desired-state reconciliation (docs/4-implementation/scheduler/coordinator.md).
  • lifecycle/ — nixos-container lifecycle + per-agent config flake generation.
  • stores/ — sqlite-backed stores (broker, queues, audit, power).
  • workers/ — background sweeps (crash watch, autoupdate, knowledge sync).
  • agent_config/ — per-agent registries (permissions, resource limits, topology).
  • stats/ — dashboard metrics aggregation + OTEL export.
  • socket_server/ — the unix-socket request server for the per-agent sockets.
  • forge/ — optional Forgejo wiring (docs/2-handbook/swarm/forge.md).
  • coordinator.rs — top-level wiring for serve.
  • agent_set.rs — the files that follow the agent set (topology, gateway map). meta.rs — the commit that removes the legacy permission seed files. migrate.rs — schema/state migrations.
  • matrix.rs, gateway_nginx.rs, priv_client.rs — matrix provisioning, gateway vhosts, and the hive-priv client respectively.

See the top-level AGENTS.md/docs/ index for the full reading-path map.