Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph hyperhive/docs/4-implementation/swarm
Author SHA1 Message Date
iris
5de20f31dd swarm: list an agent's bash tasks from their published status
GET /api/agents/{name}/bash-tasks reads the agent's keys of the bash-task-status
bucket and reports each task's state, command and times, with a live task whose
daemon stopped reporting as stale. The swarm UI shows them in a background tasks
section of the agent card, running ones first. The task output stays unread.
2026-11-15 19:51:37 +01:00
damocles
c0b9c1778c hive-bash-mcp: publish each task's status and output to the swarm queue 2026-11-15 18:23:28 +01:00
iris
1a698f1a97 swarm: bash task status keys expire after 72 hours
Nothing deletes the key of a finished task, so the bucket would grow with every
task an agent runs. The shared bucket helper takes an optional max age, applied
when the bucket is created; a live task's republishing keeps its own key.
2026-11-15 18:22:16 +01:00
iris
1779fa0568 swarm: the contract for an agent's bash task status and output
A status key per task in the bash-task-status bucket and the task's output rows
in a per-agent stream, kept apart as for subagents. The controller creates the
bucket and the streams, and the agent credential may publish its own keys and
subjects. Nothing publishes yet; the bash MCP half follows.
2026-11-15 18:22:16 +01:00
damocles
b19b730a3a prettier the inference.md table 2026-11-15 17:21:13 +01:00
damocles
8147b76cda docs: fix the two vale errors in the soft context limit paragraph 2026-11-15 17:21:13 +01:00
damocles
1e03979836 swarm: a soft context limit per agent, as a percent of the window, applied at turn end 2026-11-15 17:21:13 +01:00
iris
91cf4d2ae1 icons for the swarm's own forge accounts, and a default agent icon
The builder, ci-metrics and review-classifier forge accounts get an avatar: an
icon each in a hexagonal frame, the hyperhive logo when one is missing. The
controller sets them with a short-lived write:user token it mints for the
account, since only an account can set its own avatar.

An agent with no icon of its own shows a default agent icon in the swarm UI, a
robot head in a round frame, instead of the dimmed hyperhive mark.
2026-11-15 17:14:16 +01:00
iris
c7d7f0df55 swarm: subagent-status KV bucket, the run state of each subagent
One key per subagent (<agent>.<subagent>) holding running/finished, since,
exit, model, effort and the publish time. The controller creates the bucket,
and the agent credential may publish its own keys. Nothing reads or writes
it yet; the daemon publisher and the controller list follow.
2026-11-15 15:36:12 +01:00
atlas
4bd02ea14d agents keep their github token in /run, fetched on every start, not in the state dir 2026-11-15 14:08:57 +01:00
atlas
adc61c9043 remove the swarm wireguard mesh; tombstone its options 2026-11-15 02:17:44 +01:00
atlas
3fa926d7d6 otel: collectors drop their own export-failure lines instead of shipping them 2026-11-15 01:20:18 +01:00
atlas
f5e99fe248 gateway: cache authelia's 200 verdicts on the log and metric ingest routes 2026-11-14 22:05:08 +01:00
iris
0e99662710 docs: the swarm README and credentials page keep the overview, the rest moves to its own pages
The hive directory and the WireGuard mesh become handbook pages of their own,
the controller's mint-failure handling moves to controller.md, and the
credential-by-credential mechanics and the secret store UI's proxy move to a new
implementation page.
2026-11-14 13:33:50 +01:00
iris
814edd1d67 docs: swarm/services.md is one blurb per service, the host detail moves to the service's implementation page
Each service section lost its container, credential and metrics detail to a
Host setup section on its own implementation page, unchanged apart from links.
The four agentAuth option rows that sat above the page title moved into the
telemetry page's metrics option table.
2026-11-14 13:28:02 +01:00
atlas
5c30985a25 swarm-archive: check each agent's restic repository weekly
A weekly swarm-archive-check unit runs restic check --read-data-subset on every repository on the archive host, serialised with the prune by a shared flock. It logs archive check failed per agent, pushes check gauges, and has an alert and dashboard columns.
2026-11-14 11:53:27 +01:00
atlas
723ce866f1 archive: push restic backup and prune metrics, and add a backups dashboard 2026-11-14 11:08:57 +01:00
atlas
712dcf2b25 squid intercepts restricted and log agents' web traffic, named from the bound source address 2026-11-13 09:47:09 +01:00
damocles
c66832febf swarm-controller: stop minting the per-hive matrix sender account and token nothing reads 2026-11-12 15:38:34 +01:00
damocles
96b5b83fa4 swarm-stt: the deploy module (deploy.stt.*, sandboxed container, store leaf, queue grants) and its docs 2026-11-12 12:18:32 +01:00
damocles
f5e7caa2eb swarm-stt: reply deadline agrees with the limits, one request per agent, short errors to the sender 2026-11-12 09:07:04 +01:00
damocles
ee10acb154 swarm-stt: the daemon (queue connection, request/reply, busy limit, hourly purge) and its settings docs 2026-11-12 09:07:04 +01:00
atlas
8530a5b7fd swarm-nats: the auth responder has no start limit, always restarts, and is started after the server's restarts 2026-11-12 07:42:25 +01:00
damocles
33e63091d5 swarm-stt: only files that start like an audio container reach ffmpeg 2026-11-11 23:10:17 +01:00
damocles
f8e1d0fbbd swarm-stt: time-box a run and decode pipe-only 2026-11-11 23:10:17 +01:00
damocles
df4b2f1838 swarm-stt: the speech-to-text core (hash cache, shared runs, ffmpeg and whisper-cli engine) 2026-11-11 23:10:17 +01:00
atlas
8847fa48c9 the classifier alert also fires on an undecodable request and an unpublished reply 2026-11-11 22:35:05 +01:00
atlas
13ff33ead0 archetype flows on the board list the agents the router sends to, and the docs say a switch-off key outlives its flow 2026-11-11 21:40:17 +01:00
atlas
68c24643f6 archetype flows behave like the built-ins: switch off per archetype or per agent, board cards, duplicate
The document's disabled list takes archetype:<archetype>/<flow> (off for every member) and the same with @<agent> (off for one member); a key naming nothing is ignored. GET /api/notify/flows lists the archetype flows with their members, the board draws a card for each with a switch, a checkbox per agent and duplicate, and the dry run counts their hits. The flows keep following the archetype.
2026-11-11 21:40:17 +01:00
atlas
1efbb72fdd an archetype carries its own notification-router flows for its agents
ArchetypeMeta gets flows, checked when the controller stores the record: every todo must go to the new members recipient, which the router expands to the agents of the archetype. The operator's flows document refuses members. The router reads the archetype records and each roster agent's archetype key, and its NATS grant gains read on both buckets.
2026-11-11 21:40:17 +01:00
iris
119e225c17 docs: reword the set-key note without passive voice 2026-11-11 19:01:01 +01:00
iris
2370f99229 docs: a classifier key shown as set may still not work
The controller can only see that the leaf exists, so a key under the wrong field name or a deleted latest version still shows as set.
2026-11-11 19:01:01 +01:00
iris
6875a4f0f8 swarm-ui: set the review classifier's keys from the classifier settings
The classifier's Anthropic and ACP provider keys were written by hand in the
secret store's UI. The controller now stores them: GET
/api/review-classifier/keys says whether each is set and when it changed, and
PUT /api/review-classifier/keys/{runtime} writes one. No route answers a key.

The controller's store policy gains create and update on the two leaves with
no read of their values, and a metadata read for the set state. The swarm UI's
classifier settings card gets a key form beside the settings, saved apart
because it goes to the secret store.
2026-11-11 19:01:01 +01:00
atlas
c5d601e3a2 alert when a review-classifier run fails 2026-11-11 18:39:44 +01:00
iris
ca1e25b21e grafana: the egress board filters by domain as well as by agent
A domain variable, the destination host from the proxy's access log, sits beside
the agent one and every query on the board filters on both, so one domain and
its agents show which agents queried it and when.
2026-11-11 15:28:13 +01:00
atlas
02f21940a4 pr conflicts: bound the forge list and skip branches no pr targets 2026-11-11 09:12:05 +01:00
atlas
11eb7dac9c an agent gets one todo when its pr starts conflicting with the target branch 2026-11-11 09:12:05 +01:00
atlas
32155f70aa the operator's bao works on a store host without a hive 2026-11-11 09:10:50 +01:00
atlas
039896c506 the built-in archetypes come with a default prompt 2026-11-11 09:10:12 +01:00
iris
7053dcffc0 docs: the claude login reference names the stored-login routes 2026-11-11 09:05:59 +01:00
iris
aa1ae2729f docs: the claude login page keeps the operator steps and moves the minter detail out
The queue subjects, scratch directory and stdio steps of a login, the harness's
newer-version rule, the minter's grants, the caveat and the metrics move to
4-implementation/swarm/claude-login.md. The handbook page keeps how to log an agent
in, the stored login and who may do it. Design pointers in the nix module, the
crate README and AGENTS.md name the new page.
2026-11-11 09:05:59 +01:00
iris
4adbc939f2 docs: the swarm UI page shrinks to an overview
The page-by-page and control-by-control description of the swarm UI moves to
4-implementation/web-ui/swarm-ui.md, with the quick-links wiring. The handbook
page keeps the route table, how to reach the UI, who may and what the browser
keeps. Links to the moved sections point at the new page.
2026-11-11 09:03:05 +01:00
atlas
d48cc83dcb collectors: retry a failed start forever with a growing delay instead of hitting start-limit 2026-11-11 09:01:44 +01:00
damocles
8ef3138863 templates: one Jinja language (hive-template) for the notify router's flows, flows document version 2
A todo node's key and text were hand-expanded `{field}` strings. They are now Jinja templates rendered through the new hive-template crate (minijinja, an unknown variable is an error), and the controller's save check reads the variables the template uses. The flows document is version 2; a version 1 document reads as version 2 with each `{field}` converted to `{{ field }}`, and the next save writes it.
2026-11-11 03:40:22 +01:00
iris
ead667da42 docs: the credentials page keeps the approach and moves the mechanics out
credentials.md drops the target-shape framing and keeps the rules, where a
secret lives, the swarm- and hive-level secrets and how to add one. The queue
responder's keys, per-principal identities, how a reader reaches the store, the
store UI's login and where the root lives move to
4-implementation/swarm/credentials.md. The per-secret reference moves to
4-implementation/swarm/credentials-reference.md. Links and comments follow.
2026-11-11 01:50:55 +01:00
iris
0ae34b1cd0 docs: persistence and config changes become one operator page
The operator parts of the persistence and config-changes pages merge into
agents/persistence.md. The sqlite tables, state dirs, mounts and migrations move
to 4-implementation/agent-state/persistence.md, and the deploy path, meta flake,
deploy markers, startup migrations, root container, system messages and
autoupdate move to 4-implementation/agent-state/config-changes.md. Links, code
comments and nix comments that named the old sections point at the new pages.
2026-11-11 01:50:35 +01:00
iris
0f39bdaaa4 docs: the forge, knowledge, archetypes, matrix and SSO pages move their implementation detail out
Account minting, knowledge sync, the archetype refresh, the matrix appservice
flow and the SSO secret delivery move to pages under 4-implementation/swarm.
Each handbook page keeps what an operator does or sees, with a pointer.
2026-11-11 01:47:20 +01:00
iris
7832223536 docs: the failures-only setting names the dropped rows in the active voice 2026-11-11 01:39:05 +01:00
iris
eaafe31e66 docs: the failures-only setting says the unsure rows are left out too 2026-11-11 01:39:05 +01:00
iris
cf5746188a review classifier: a setting makes the PR review list only the failed rules
failures_only (off by default, also for a stored document without it) makes the
review the classifier posts on a PR list just the rows that failed their rule,
or say that no check failed on an approval. A review with no clean verdict and
a try-out keep every row. The classifier settings form gets a checkbox for it.
2026-11-11 01:39:05 +01:00