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

6,710 commits

Author SHA1 Message Date
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
iris
88b451afd9 scripts: doc-lengths lists the docs pages and paragraphs over a size limit, worst first
A report, not a gate: 400 lines per page and 100 words per paragraph by default
(`-l` and `-w` override), not wired into CI until the list is worked down.
2026-11-14 13:26:21 +01:00
damocles
183e55dd80 hive-agent: let an agent compact from 40% context usage instead of 66% 2026-11-14 12:35:27 +01:00
atlas
c7580ac3dd archive: say the check reads from the bucket with the s3 backend 2026-11-14 11:57:57 +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
c4919c5945 archive: read the repository without its lock for the prune metrics 2026-11-14 11:40:20 +01:00
atlas
b60779093e archive: test the metric functions and the backup output filter, and skip absent summary fields 2026-11-14 11:35:46 +01:00
atlas
723ce866f1 archive: push restic backup and prune metrics, and add a backups dashboard 2026-11-14 11:08:57 +01:00
flake-bot
9ac6024a67 nix flake update 2026-11-14 09:26:03 +01:00
atlas
5189e8fb4b egress: refresh a leased pair on dhcp renewal and default anti-spoof to log
dnsmasq runs the dhcp-script on a renewal only with script-on-renewal, so a pair loaded at the first lease timed out while the lease kept renewing and the bridge table dropped the container's traffic. Set script-on-renewal, time pairs out remaining + 300s, default antiSpoof to log, and run the vm test through renewals with drop.
2026-11-13 23:55:12 +01:00
atlas
cf360b74b9 remove the hivectl-only quota verbs and the trollshell status feed 2026-11-13 16:14:41 +01:00
atlas
70a8e54038 egress: reject needs the intercept 2026-11-13 13:00:13 +01:00