Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph

6,721 commits

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
cc7b298cf3 swarm-queue-client: never rotate the queue token more often than a floor, and not at all for a token too short to rotate 2026-11-15 19:39:50 +01:00
damocles
43e7a3a6cb swarm-queue-client: mint the next token and reconnect before the queue expires the connection 2026-11-15 19:39:50 +01:00
damocles
3c1d111e78 agent prompt: a forge notification is a todo, and the thread is already read when it arrives 2026-11-15 19:28:14 +01:00
damocles
a4b2ef0814 hive-bash-mcp: send queued output ahead of a status 2026-11-15 18:23:29 +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
faadc5abe2 swarm-queue-client: no doc link to a crate-private function 2026-11-15 18:22:16 +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
atlas
ca51bb9d54 hive-priv: write a configured stable exe path into unit drop-ins
HIVE_PRIV_EXE, set by the module to the /run/hive-rootfs-check link, is
checked at start and used for the drop-in's ExecStartPre. Without it the
running binary's path is used as before, and an unlinked one gets an
error that names the cause.
2026-11-15 17:31:03 +01:00
iris
cb7a9badf7 swarm ui: the inference dialog's intro names the soft context limit 2026-11-15 17:30:29 +01:00
iris
e9af6cf2c7 swarm ui: a soft context limit field in an agent's inference settings
A whole percent from 5 to 100 of the model's context window, sent as
soft_context_percent next to max_subagents. The inference row shows it, the
edit dialog and the create form take it, and an archetype can carry it.
2026-11-15 17:30:29 +01:00
damocles
b19b730a3a prettier the inference.md table 2026-11-15 17:21:13 +01:00
damocles
7dd988a9e8 rustfmt the soft context limit change 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
c56faf9dff swarm ui: say what a subagent's age counts from, and the list's two lookup passes
A running status shows 'running since', a stale one shows no age, since its
time is when the run began. The reference now says the status reads and the row
lookups are two passes, so the list waits up to four seconds in all.
2026-11-15 17:17:10 +01:00
iris
7122084850 swarm-controller: test how a subagent's status becomes its list entry
The running, stale and finished rule, the status deciding the entry over the
newest row, and the fallback to the row when a subagent has no status.
2026-11-15 17:17:10 +01:00
iris
e9bc28fe2f swarm: list subagents from their published run state
The subagents list reads each subagent's status from the subagent-status
bucket and reports its state, when it began and the exit status. A subagent
with no status keeps the newest-row lookup, so an older daemon lists as before.
The swarm UI uses the state when there is one and the row-age guess otherwise.
2026-11-15 17:17:10 +01:00
iris
fec5461018 docs: the default agent icon shows wherever the swarm UI shows an agent's icon 2026-11-15 17:14:16 +01:00
iris
bfbcf70675 docs: only the agent cards show the default agent icon 2026-11-15 17:14:16 +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
damocles
51479d9fe8 docs: active voice in the run state section 2026-11-15 17:12:31 +01:00
damocles
d476bf1a0c docs: the run state the subagent daemon publishes 2026-11-15 17:12:31 +01:00
damocles
07e237c789 rustfmt the run-state publisher 2026-11-15 17:12:31 +01:00
damocles
1652959741 hive-subagent-mcp: publish each subagent's run state to the swarm queue 2026-11-15 17:12:31 +01:00
damocles
186038718c hive-agent: test that a leftover active_model in the harness state file is ignored and kept 2026-11-15 16:13:47 +01:00
damocles
05c193859f hive-agent: stop writing active_model to the harness state file, nothing reads it 2026-11-15 16:13:47 +01:00
iris
78e063e78c swarm ui: the login button's wording is a tested function
The label that switches between log in and log in again moves next to the
stored login's other wording, so it has a test.
2026-11-15 16:13:15 +01:00
iris
e9ddfd61ec swarm ui: a log in button in the claude login row of an agent's settings
An agent with no stored login, or one to log in again, can be logged in from
the settings panel instead of waiting for its turns to fail with a login needed
badge first. The button opens the same dialog as the card's.
2026-11-15 16:13:15 +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
argus
c9c2e75091 review classifier: a nix option sits in the tree that fits it
A negative rule for options added or moved under services.hyperhive: swarm.*
holds swarm-wide facts that are the same on every host, deploy.* holds this
host's own deployment decisions grouped under the deployed component, and a
per-host setting that lands under swarm.* or under another module's namespace
while configuring a component deploy.* names is in the wrong tree. Read-only
outputs, internal options and a rename into the right tree are exempt. The
rules-file test lists the new name.
2026-11-15 15:34: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
fbfc6f392a egress anti-spoof: the vm test pins drop under the new option path 2026-11-15 01:43:50 +01:00
atlas
2325ae6a50 egress anti-spoof: the legacy-name case pins drop, the non-default 2026-11-15 01:43:50 +01:00
atlas
a812e4dd21 egress anti-spoof: the vm test names drop as explicit, and the log default waits for the stale-delete lines 2026-11-15 01:43:50 +01:00
atlas
bbe6f11cb9 egress anti-spoof: the drop description no longer says a leased container is never affected 2026-11-15 01:43:50 +01:00
atlas
b8098686c4 egress anti-spoof: back to log by default; the lease set does not survive a suspend/resume 2026-11-15 01:43:50 +01:00
atlas
da5868e3be hive-c0re: resolve the reconcile tick's doc link by full path 2026-11-15 01:38:26 +01:00
atlas
b8c07a5492 hive-c0re: reconcile declared agents periodically, with backoff 2026-11-15 01:38:26 +01:00
damocles
7468aa4cff nix: move the egress firewall options under deploy.hive-controller.egress 2026-11-15 01:22:35 +01:00
atlas
1cef99e992 egress anti-spoof: renewals from the leased address pass, a stale lease delete is skipped 2026-11-15 01:20:41 +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
damocles
7beb1193f4 swarm-controller: archive a destroyed agent's config repo, unarchive it when the name is created again 2026-11-14 13:29:39 +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
60aede950b egress anti-spoof: drop by default again 2026-11-14 13:27:13 +01:00
iris
8c4541400f docs: a getting-started page on what hyperhive is 2026-11-14 13:26:57 +01:00