Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas d9c586ef94 swarm-controller: replay a subagent's newest rows before its live tail
A subagent's terminal opened directly showed nothing until the subagent
published again: the relay was a core subscription, though its rows sit
in term-sub-<agent> for 24 hours. It now goes through the agent route's
replay-then-tail, so it opens with the subagent's newest 100 rows and
resumes after Last-Event-ID.

- term_stream.rs: the replay takes a stream name and a filter subject
  instead of an agent, and `replay_or_live` (replay, else the live core
  subscription) is the one fn both routes call. When the filter is one of
  several subjects in the stream, a fresh reader's consumer starts at the
  oldest row and drops all but the newest REPLAY_ROWS it counts as
  pending, since the stream's newest sequences may belong to sibling
  subagents. A single-subject stream (term-main-<agent>) picks its start
  with replay_start exactly as before. Tests for both subagent cases.
- subagent_term.rs: the relay calls replay_or_live on the subagent's
  subject in term-sub-<agent> and reads Last-Event-ID; module doc and
  OpenAPI text no longer say "live only".
- main.rs: the handler test passes the new headers argument.
- swarm-queue-client agent_term.rs: replay_consumer_config takes the
  filter subject instead of the agent.
- swarm-queue-client subagent_term.rs: consumer_create_grant, the
  extended CONSUMER.CREATE form with a subagent subject as filter.
- swarm-nats-auth policy.rs: the controller holds that grant; the agent
  grant's `$SWARM.term.*` filter is two tokens short of a subagent
  subject, and the test that refused it now admits it.
- docs/swarm/ui.md, README.md: a subagent terminal opens with its newest
  rows.

Fixes #5527
2026-10-18 03:00:08 +02:00
..
agent-lifecycle rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
crates rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
getting-started publish operators' forge-profile pronouns to kv and list them in the agent prompt 2026-10-17 13:10:05 +02:00
integrations hyperhive: make the values the meta-flake render reads swarm-wide 2026-10-17 13:43:16 +02:00
networking move the hive's vhosts and matrix discovery out of the gateway 2026-10-17 15:07:33 +02:00
process rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
scheduler rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
swarm swarm-controller: replay a subagent's newest rows before its live tail 2026-10-18 03:00:08 +02:00
tools rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
trust-boundary hive-priv refuses bind-mount edits on the swarm's forge and matrix containers 2026-10-18 00:21:45 +02:00
turn-loop rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
web-ui rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
README.md archetypes: prefill the create form from flake-declared agent archetypes 2026-10-17 12:57:20 +02:00

hyperhive docs

Depth reference for hyperhive — the substrate, not the pitch (that's the top-level README / website). Every page here stands alone; pick the one matching your task rather than reading top to bottom. For the autogenerated NixOS options reference (every services.hyperhive.* / hyperhive.* option, host and agent), see the options site instead — this tree is prose, that one's generated straight from the module declarations.

Getting started

  • Bringing a fresh swarm online? → getting-started/setup.md (the hand steps after the first switch).
  • What does the dashboard look like, and how do I use it? → web-ui/ — the operator-facing starting point; its own sub-pages (shape, dashboard, agent, css-vars, terminal-rendering) go deeper into implementation.
  • What tools does an agent (or the operator) have available? → tools/ — hivectl (yours) plus every agent's MCP tool surface (bash, forge, lifecycle, matrix).

Agent lifecycle

Trust boundary & security

Accounts & integrations

  • How do per-agent forge accounts work? What does forge_notify poll, and how does it format wake messages? → integrations/forge.md (the swarm's Forgejo); tools/forge.md for the hive-forge CLI verbs agents actually call.
  • How does the matrix-tuwunel container work? Multiple accounts per agent? → integrations/matrix.md (the homeserver); tools/matrix.md for the MCP tool surface and services.hyperhive.agent.matrixAccounts.
  • How do I give an agent a GitHub account (gh + git push)? how's the PAT injected? → integrations/github.md (operator content up top; the gh/git-push + notification-poller mechanics are in a collapsed "Implementation" section at the bottom).
  • What's /knowledge? How does the swarm-wide knowledge repo sync, and how do I contribute a document? → integrations/knowledge.md.
  • What does hivectl do? Provisioning, gateway users, container shells? → tools/hivectl.md (the curated guide); tools/hivectl-cli.md for the exhaustive, autogenerated flag reference.

Networking & swarms

  • What nginx vhosts does the gateway serve? How does matrix discovery work? → networking/gateway.md.
  • How does DNS resolution work in agent containers? What's the bridge network for? → networking/network.md.
  • How do I connect two hives into a swarm? → swarm/ (peer hives, TLS trust).
  • Where do agent snapshots go? How does the swarm's btrfs receive endpoint authenticate a pushing hive? → networking/snapshot-store.md.
  • Who mints each credential, who reads it, and how does it rotate — and where's that shape headed? → swarm/credentials.md (current state, target state, and the progressive-enhancement rule); swarm/secrets.md for where each file lives today.
  • How does the secret store come up, who writes its grants, how's it sealed? → swarm/bao.md.
  • How does an agent get a prompt at set times, and why doesn't it fire twice after downtime? → swarm/schedules.md.
  • How do I set an agent's model or effort from the swarm, and what happens to its own pick? → swarm/inference.md.
  • How will a PR get checked against its repo's own yes/no rules before a full review? → swarm/review-classifier.md (planned, not implemented yet).
  • Does an agent config PR build before it's merged? → swarm/builder.md.
  • How do I create an agent from a ready-made set of permissions and settings? → swarm/archetypes.md.
  • How long do CI runs take, per repo and PR, and where does the board get it? → swarm/ci-metrics.md.
  • How do I log an agent in to claude from the swarm UI, and why doesn't a stale stored copy log it out again? → swarm/claude-login.md.

Scheduler, CI, observability

  • what's the job queue, as a general idea (not hive-c0re specifics)? → scheduler/jobq.md — operator-facing, no implementation detail.
  • How does the rebuild queue work? What are the concrete step kinds, queue sources, scheduler internals? → scheduler/coordinator.md.
  • How does the CI runner work? How does it register? → scheduler/ci.md.
  • How do I export Claude Code metrics (tokens, cost, tool calls) to Prometheus/Grafana? → scheduler/observability.md.

Crate reference

  • What does a specific Rust crate do, on its own terms? → crates/ — every workspace crate's own README.md, one level up from source; the crate itself is still the source of truth, this is just a walkable mirror.

Process & conventions