Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph hyperhive/docs/swarm
Author SHA1 Message Date
iris
33c230665b swarm-ui: the permissions box lists every permission instead of a narrow scroll area
The checkbox list was capped at 12em and scrolled, and the box shrinks the
list to its widest label, so the scrollbar sat in the middle of the popover
with the lower permissions hidden. The permissions are a short fixed list:
MultiselectFilterOptions takes scrollable={false} and the permissions box
uses it. Filter lists that can grow long keep the scroll area.
2026-11-06 00:27:53 +01:00
iris
27c4a593bb swarm-ui: the agents page shows placeholder cards in the shape of the real ones while the roster loads
A new Skeleton (a shimmering shape, still where motion is off) and a region
that tells assistive tech once that something is loading. The agent card's
header is split into AgentCardLayout, a layout with a slot for each part: the
card fills the slots with the real icon, badges and controls, its new
AgentCardSkeleton twin fills the same slots with placeholder shapes, so the
card that replaces it lands in the same place. The agents page uses the twin in
place of its "loading…" text.
2026-11-06 00:22:58 +01:00
iris
fd51cbd19d swarm-ui: pages that only display start from the answer they last saw, then refresh behind it
usePolled takes a cache key: it saves each answer in localStorage and starts
from the saved one, so opening the agents, alerts, builds, review runs or hives
view shows the last data at once and the refresh spinner marks the update. A
saved answer is dropped after a day, when it was saved by another build of the
UI, at log out (a new onLogout of the shared user menu) and when the gateway
ends the login (a new onSessionEnded of the session guard). Pages with an
editor (schedules, notification flows, broadcast) do not use it.
2026-11-05 23:14:25 +01:00
iris
47c447409b swarm-ui: the refresh picker shows a spinner in place of its clock while its page is fetching
usePolled reports when a request is in flight (through a new onBusy of the
poller) and holds it on for at least 0.4 seconds, so a quick answer still
reads as a refresh. The picker swaps its clock for the spinner, in the same
box so its width stays, and the spinner stands still where motion is off.
Every page with a picker passes it; a page with several polled requests shows
it while any of them runs. The Jobs page fetches through shared components
and has none yet.
2026-11-05 23:09:07 +01:00
iris
4876acd02a swarm-ui: a group pane's maximize and close are icon-only badges in its top right corner
The two controls sat among the pane's header badges as a labelled badge and a
cross glyph. They are now icon badges in the top right corner, through a
`trailing` slot of the terminal preview, so the header on the left keeps the
agent, split, subagents and state badges and a narrow pane wraps less.
2026-11-05 13:33:12 +01:00
iris
d733b1e2a9 swarm-ui: choosing a subagent in the subagents menu splits its terminal in beside the agent's
The menu on an agent's terminal page used to open the subagent on a tab of
its own. It now starts a group of this terminal and the subagent's, split to
the right; in a group's pane it splits that pane. A pane's layout key is the
agent, or `agent/subagent` for a subagent's pane, so the layout operations
stay as they are and a destroyed agent takes its subagent panes with it. A
subagent already in the group shows a marker and does nothing when chosen,
and maximize opens a subagent pane's terminal on its own.
2026-11-05 12:45:35 +01:00
iris
5665bbf827 swarm-ui: a maximize button on each pane of a terminal group opens that agent's own terminal 2026-11-05 12:42:56 +01:00
iris
2b78634944 swarm-grafana: dashboards for the swarm builder, the CI runner, Matrix and the notification router 2026-11-05 10:44:33 +01:00
atlas
cb5a9b2bd7 report the real error when the granter role's bootstrap step fails, and retry on a standby store 2026-11-05 08:57:10 +01:00
atlas
bef9d401a4 matrix: report homeserver up, latency and database size through existing collectors
tuwunel 1.9.4 exports no metrics. The host collector gets an httpcheck
receiver on the gateway's /_matrix/client/versions (new
services.hyperhive.otel.httpChecks, declared by hive-matrix), and a timer in
the hive-matrix container pushes the database directory's size through the
forwarder's OTLP port, as the attic cache-size unit does. The size step
dereferences the state directory's symlink and pushes nothing for a result
under 4096 bytes.
2026-11-05 08:30:06 +01:00
iris
839dbd642a swarm-ui: groups of agent terminals: drag a terminal tab onto a terminal to split it, tmux style, with resizable panes, a split button, and a name you can edit 2026-11-05 08:24:58 +01:00
iris
d1f83c64ce swarm-grafana: a dashboard for grafana itself 2026-11-05 08:08:57 +01:00
damocles
3adfcb3843 docs: contraction in the login minter's metric notes for the prose lint 2026-11-05 01:31:23 +01:00
damocles
6733d2ac30 docs: say who reads the router's consumer counts 2026-11-05 01:31:23 +01:00
damocles
652c0e9614 swarm-claude-login: export login step, duration, expiry and active session metrics 2026-11-05 01:31:23 +01:00
damocles
7efcfd0644 swarm-notify-router: export event, todo, review request and consumer metrics 2026-11-05 01:31:23 +01:00
iris
bc5c36dba6 swarm-grafana: the forge and CI runs boards become one forge board with content, runtime and CI runs tabs 2026-11-05 00:47:17 +01:00
atlas
e30f5849d5 swarm-builder: export build counts, durations, queue wait and publish failures through the host's collector
The builder pushes its build metrics (builds by kind and outcome, build
duration, queue depth and wait, reply publish failures) to its forwarder's
OTLP receiver, which relays them to the swarm collector.

It also registers the standard store client-certificate gauges
(bao.client_cert.*, cert=builder) on the same exporter. They are the
builder's liveness signal: exported every minute whether or not a build
runs. The cert-metrics table in docs/scheduler/observability.md gains the
builder row.
2026-11-05 00:43:25 +01:00
iris
3b8f7ff630 docs: the deny list paragraph in active voice, for the prose lint 2026-11-04 23:53:03 +01:00
iris
0421f28d49 swarm-ui: the egress card on the swarm page lists and edits the swarm-wide denied domains, and says which hives have not applied them 2026-11-04 23:53:03 +01:00
atlas
0bc350a8a1 ci runner: export its built-in metrics through the container's forwarder 2026-11-04 22:26:54 +01:00
atlas
dd5fde848f squid blocks a runtime deny list from the controller in every egress mode, ahead of the allow list 2026-11-04 22:16:35 +01:00
iris
ad76e7e937 swarm-ui: an egress card on the swarm page for the swarm-wide allowed domains, sharing the agent card's add form and list hook 2026-11-04 21:14:43 +01:00
iris
0302582d1c swarm-ui: a swarm tab after agents holding the hives card and the beta notification router; /notifications redirects to it 2026-11-04 21:12:39 +01:00
atlas
12c7d7c01a cap the kept bearer's age at one hour 2026-11-04 17:36:57 +01:00
atlas
dff2f3ca4d metrics auth responders keep the last good bearer while the store doesn't answer 2026-11-04 17:26:39 +01:00
iris
5e23734667 swarm-ui: restructure the agent card into status, terminal, subagents and settings, with badge controls for internet, permissions and allowed domains 2026-11-04 17:21:56 +01:00
iris
23c2527199 harness metrics for tool calls, bash commands, reminders and first-turn context, on the agents board
The per-agent /stats page read these from its sqlite; the swarm board had
none of them. hive-agent now counts the tools a turn called, the commands
bash tasks ran (from the bash daemon's own table, newer rows only),
reminders scheduled and delivered, and records the first turn of a fresh
session; the turns tab shows them, with fresh sessions per agent. Claude's
own export has no tool-call counter, so the docs no longer say it does.
2026-11-03 16:05:49 +01:00
atlas
5f9629dfc7 store_seeded: report a failed read instead of minting over it 2026-11-03 15:53:33 +01:00
atlas
1d3ab2fae5 run swarm-attic in its own network namespace
the gateway reaches atticd over a unix socket a relay in the container
forwards, and the host unit that creates the cache dials its public name.
2026-11-03 07:42:10 +01:00
iris
aecde1dc75 agents board: a turns tab, and turn duration bounds past 10 s
The per-agent /stats page shows what the swarm agents board lacked about
turns. The new tab reads the turn count and duration the harness already
records: average duration, cache hit rate, tokens per turn, turns per hour
by agent and by model, duration percentiles, and the wake source and result
mixes. The duration histogram used the SDK default buckets, which stop at
10 s while a turn averages 24 s, so every p95 read a flat 10 s; it now has
explicit bounds up to an hour.
2026-11-03 00:20:45 +01:00
iris
ff126df797 swarm-ui docs: reword the forge links note in active voice 2026-11-02 22:30:44 +01:00
iris
e8e6150137 swarm-ui: link an agent's forge profile and config repo from its overview
The agent card's overview gets a forge row with two links, built from
the forge entry of the swarm's service links.
2026-11-02 22:29:43 +01:00
atlas
4d8d43d677 review-classifier: a requested review runs even on a draft pr 2026-11-02 18:45:36 +01:00
atlas
49ef93a19e review-classifier: skip draft prs, classify once when they leave draft 2026-11-02 18:21:50 +01:00
atlas
3e5b5b54a2 swarm-ui: link a gitlab account to an agent 2026-11-02 17:57:15 +01:00
atlas
b7d8c0dfc0 queue the build of a config head that moved without a webhook build 2026-11-02 17:56:35 +01:00
atlas
d6e983995d add external gitlab accounts: stored in bao, linked per agent, allowed in squid, usable with glab 2026-11-02 16:44:56 +01:00
atlas
70b112058a keep service containers' boot-wait budgets under their start limit, and check it 2026-11-02 08:00:26 +01:00
atlas
4356f3840c pin the declared closure once per rebuild and seed the marker from the running closure 2026-11-02 07:55:10 +01:00
atlas
47c2acb640 deploy the closure the swarm declares, read no forge head, drop the update badge 2026-11-02 07:55:10 +01:00
atlas
279428a66f wait for grafana's socket and read the forge's user list whole in the mint 2026-11-02 00:22:25 +01:00
atlas
c0429bf617 export the swarm cache's size from atticd's database to the attic dashboard 2026-11-01 23:46:23 +01:00
atlas
f6eb0442c4 docs: turn into custom, and the capabilities in the hive status 2026-11-01 22:44:28 +01:00
atlas
90272ec3c0 move links, adminSync.ignoreUsers and scrapeTargets under their service's deploy namespace 2026-11-01 20:47:23 +01:00
atlas
a0deb29e59 start the container journal forwarder's collector from its secret fetch, with backoff 2026-11-01 19:11:26 +01:00
atlas
8a60f52afa setup assistant creates ruth with logs and metrics; docs for the harness gate, ordering and pass 2026-11-01 18:40:36 +01:00
atlas
a73946102f bao reader policy, responder units and docs for the per-surface grant 2026-11-01 18:40:35 +01:00
atlas
b2694b0a92 add a grafana dashboard for the swarm binary cache 2026-11-01 18:07:45 +01:00
damocles
862495530c drop the applied repo: the hive keeps no copy of an agent's config, only the deploy markers. Refs #5913 2026-11-01 17:49:10 +01:00