The handbook's sections were agent-lifecycle, integrations, swarm, tools, trust-boundary and web-ui, which do not follow how the system is built, so a reader could not tell which layer a page is about. Its pages now sit in swarm/, hives/ and agents/, with the accounts an agent can hold outside the system in external-accounts/. - swarm/: forge, matrix and the knowledge repo join the swarm pages, and so does the swarmctl reference. - hives/: the dashboard, hivectl and its reference, and the operator/agent boundary, with a README that takes over the old web-ui and tools pages. - agents/: the roster, persistence, config changes, the agent's own web page (was web-ui/agent) and the security model, with a README. - external-accounts/: GitHub and GitLab. Pages are moved whole; none is split yet. Every reference follows: relative links in the docs, `docs/2-handbook/...` paths in code comments, the nix checks that regenerate the CLI references and the ignore list, and docs/README.md, whose handbook section is now by layer.
53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
# 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.
|