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

6,576 commits

Author SHA1 Message Date
iris
77ac5bab4a docs: the swarm UI reference describes the archetype tiles in the create dialog 2026-11-11 10:09:50 +01:00
iris
53224d877e swarm ui: the create form picks an archetype from tiles with their icons
An archetype's meta gets an optional icon, the SVG text (at most 16 KiB), which
the controller checks, stores and serves on GET /api/archetypes. The built-in
archetypes read theirs from nix/archetypes/icons. The create form shows each
archetype as a tile with its icon and name, laid out like the broadcast screen's
agent tiles, in place of the dropdown, and draws the SVG through an img data URL.
2026-11-11 10:09:50 +01:00
damocles
f8beca4e6a hive-matrix: sliding sync starts again, the crypto store's classic /sync token is reset before it is sent as to_device.since
The sdk sends the crypto store's next_batch_token as extensions.to_device.since. Classic /sync writes its own token there, which the homeserver refuses (400, should look like an int), so every start fell back to /sync and wrote the classic token again. The daemon now replaces a non-integer token with 0 before the client opens the store.
2026-11-11 10:09:33 +01:00
atlas
ea1564fba7 hive-squid test: wait for the agent, retry no-answer connects, print evidence on failure 2026-11-11 10:08:19 +01:00
iris
f52bc673c6 docs: the roster pages use contractions and the active voice 2026-11-11 10:07:46 +01:00
iris
e746ed1888 docs: the agent roster page keeps the operator view and moves the topology detail out
The page says who is on the roster, who may reach whose state and that the
manager is a normal agent. How topology.json is read and rebuilt, the wire
protocol and the prompt blocks move to 4-implementation/agent-state/roster.md,
unchanged, since the code they describe still exists.
2026-11-11 10:07:46 +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
atlas
fa07f32cdf semi-spread test: bao on the store host presents a client certificate 2026-11-11 09:07:00 +01:00
atlas
2ef62a3cc8 swarm-archive vm test: the forget control picks a snapshot to delete and reads the refusal 2026-11-11 09:06:35 +01:00
iris
7053dcffc0 docs: the claude login reference names the stored-login routes 2026-11-11 09:05:59 +01:00
iris
33970ec537 docs: the index entry for claude login uses a contraction 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
damocles
c0eb6780ec templates: the agent system prompt is a Jinja template, rendered through hive-template
system.md carries {{ label }}-style variables and an {% if not archetype %} block in place of the config:repo / config:archetype marker pairs, so prompt.rs drops its line filter, marker parsers and string replaces. The rendered prompt is byte for byte the old one for a custom agent, an archetype agent and an empty archetype name, with and without hive, swarm, docs and operators. hive-template now drops a block tag's own line.
2026-11-11 09:04:42 +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
iris
5cdf51fcfc archetypes: each built-in archetype ships an icon
reviewer, android-dev and reverse-engineer set services.hyperhive.agent.icon, with
lib.mkDefault, to an SVG under nix/archetypes/icons, so an agent built from one
shows an icon in the swarm UI until its config sets another. The archetype
module-eval check requires an svg icon on each.
2026-11-11 09:02:34 +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
atlas
11393bc538 budgeted agents throttle at 90% of the cap; alert on repeated oom kills 2026-11-11 02:38:53 +01:00
atlas
c014b48c22 document budgeted-agent swap and oom metrics; add oom kills panel 2026-11-11 02:38:53 +01:00
atlas
4eb27046a0 budgeted agent containers get no swap; export oom kills and swap use 2026-11-11 02:38:53 +01:00
atlas
a5470d82ae an archetype's prompt prefills the new agent's agents.md in the create form 2026-11-11 02:16:22 +01:00
iris
2acde41e54 docs: the hive dashboard and agent page shrink to overviews
The hive dashboard and the per-agent page lose their control-by-control UI
description and endpoint tables from the handbook. The full text moves to
4-implementation/web-ui/dashboard.md and agent-page.md, and the handbook pages
keep what an operator needs to find and use them. Code comments that named the
old sections point at the new pages.
2026-11-11 01:50:55 +01:00
iris
ce0db01937 docs: the per-principal identities link no longer says below 2026-11-11 01:50:55 +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
c3791a0c8a docs: the destroy-versus-purge pointer names the handbook persistence section 2026-11-11 01:50:35 +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
a36b9745b3 docs: the swarm UI page says an archetype agent has no config repo link 2026-11-11 01:48:37 +01:00
iris
a188c4ea79 swarm ui: the config repo link stays unless the agent is known to be an archetype agent 2026-11-11 01:48:37 +01:00
iris
356390befb swarm ui: the agent detail leaves out the config repo link for an archetype agent
An agent built from an archetype has no config repo on the forge, so the link
404ed. It shows again once the agent is turned into a custom one.
2026-11-11 01:48:37 +01:00
iris
6695355b9d docs: code comments point at the moved SSO and matrix sections 2026-11-11 01:47:20 +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
argus
c6b24359cd review classifier: operator docs name no code units
A negative rule for docs/1-getting-started and docs/2-handbook: text that
names a source path, function, type, table, queue subject or wire field, or
describes how the code works inside, belongs in docs/4-implementation. The
rules-file test lists the new name.
2026-11-11 01:44:55 +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
iris
818d41eef3 swarm ui: the status age helpers live in status-fields.ts
StatusMessage.tsx and statusMessage.ts differ only by case, which the esbuild step in the nix build can't read on a case-insensitive builder.
2026-11-11 01:25:15 +01:00
iris
0547081138 swarm ui: the agent's status message shows how long ago it was set
The card and its detail showed the message alone, so a message from an hour
ago read like the current one. Both now add the age, (5m ago), which ticks
like the other relative times. An agent with no message still shows a dash.
2026-11-11 01:25:15 +01:00
damocles
1cc1cb804d hive-matrix: prefill the chat client with the server name, not the hive domain 2026-11-11 00:31:20 +01:00
atlas
2de07c4575 bridge waits out a slow authelia; controller retries a bridge 503 2026-11-11 00:31:16 +01:00
atlas
bcd698eb43 vm-tests: semi-spread, the example on three machines and an outside client 2026-11-11 00:14:24 +01:00
atlas
250118d558 semi-spread example: name the store's CA on the machines without the store 2026-11-11 00:14:24 +01:00
atlas
1ad4ebdd7b vm-tests: factor the agent toplevels out of full-setup 2026-11-11 00:14:24 +01:00
atlas
86c5dac89d swarm-archive: external s3 backend (options, prune path, docs, module-eval cases, vm fake s3)
- swarm-archive.nix, lib/archive-server.nix: deploy.archive.backend and
  deploy.archive.s3.* options; the s3 server and the prune read the key from the
  store into rclone's environment; the prune lists and addresses repositories
  through rclone instead of a local directory
- swarm-bao.nix: the archive reads swarm/services/archive/s3/*
- docs: archive.md "External S3" section, two credentials-reference rows
- module-eval: builder.nix cases for local and s3, the missing-setting
  assertion; bao-grants.nix gains the s3 read grant
- vm test: second node with a fake rclone serve s3 whose key is generated at
  test time
2026-11-11 00:13:19 +01:00
iris
ebbf4fa37b docs: the knowledge page points at the moved forge webhooks section 2026-11-11 00:12:06 +01:00
iris
f7cdd194f7 docs: the swarm and services pages become overviews
The controller's status, queue, AGENTS.md and forge-webhook details move to
4-implementation/swarm/controller.md. The metrics, logs and OTEL detail moves to
4-implementation/swarm/telemetry.md. Each leaves a short operator blurb with the
options to touch, and links into the moved text are updated.
2026-11-11 00:12:06 +01:00
iris
7df6672c87 docs: external forge and matrix accounts get pages in external-accounts
The directory covered GitHub and GitLab only; the forge and matrix account
kinds an operator can link were described under the swarm UI page. Two new
pages (forgejo.md, matrix.md) cover linking, what the agent gets and
deleting in operator terms, the directory README lists them, and the UI page
keeps a pointer for each kind.
2026-11-11 00:10:47 +01:00
iris
99ca130552 swarm ui: the freshness badge moves from the agent card onto the status panel
The card header carried a fresh/stale badge with the report's age. It now
sits in the status row of the opened card, which already showed it, and the
card header keeps the name, the message and the controls.
2026-11-10 21:38:32 +01:00