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

6,485 commits

Author SHA1 Message Date
iris
73f875eab8 swarm ui: a stored claude login closes the dialog and shows a toast
The login dialog stayed open with a success line after the code was
accepted, though nothing is left to do in it. It now closes and a toast
says the login is stored. The toast is a new swarm-ui primitive: a short
note raised with showToast, rendered by a ToastHost at the app root, gone
after a few seconds or on click.
2026-11-09 20:50:32 +01:00
atlas
892675628d nats and bao can listen on a routable address, opt-in 2026-11-09 17:42:20 +01:00
atlas
4b71bd97eb wg-hive: derive test keys from a fixed seed so every store agrees 2026-11-09 17:26:17 +01:00
damocles
15964a06f8 swarm-controller: put a failed jobq node's error in the log message 2026-11-09 17:02:59 +01:00
damocles
8b228404a7 hive-c0re: put a failed job_queue node's error in the log message 2026-11-09 17:01:20 +01:00
atlas
2a0ebe35ba run authelia's digest under a real shell, not the service user's nologin 2026-11-09 15:50:23 +01:00
damocles
c41429e473 hive-matrix-mcp: sync with sliding sync when the server has it, classic /sync otherwise 2026-11-09 15:38:57 +01:00
damocles
24c5c02942 hive-priv: never leave an agent dir or the agents root root-owned on a fresh host 2026-11-09 14:19:31 +01:00
atlas
52cdfe84a0 keep the mirror hint off forge errors, forward the hyperhive mirror from any controller host 2026-11-09 13:07:41 +01:00
atlas
a6b5bafa83 seed a hyperhive/hyperhive mirror so update_meta finds it on a fresh swarm 2026-11-09 12:19:46 +01:00
atlas
dbdbed4dcc swarmctl: clippy redundant closure in color_wanted 2026-11-09 11:55:32 +01:00
atlas
e37e8c3327 swarmctl readme: header sample shows the unknown count 2026-11-09 11:55:32 +01:00
atlas
a4b9088a12 setup status: count steps that cannot be observed as unknown in the header 2026-11-09 11:55:32 +01:00
atlas
d55cf9ed80 swarmctl setup status shows progress at a glance 2026-11-09 11:55:32 +01:00
atlas
1c3b37e46a page pending_logins from hh-hive-warning for hives without the needs-login gauge 2026-11-09 10:56:50 +01:00
atlas
790975ac8d fold needs-login gauge into a snapshot registrar, fix doc wording 2026-11-09 10:42:43 +01:00
atlas
9043be4a61 export hyperhive.agent.needs_login and alert per agent 2026-11-09 10:35:16 +01:00
atlas
5af927bfaa module-eval: match the system bundle path with its string context discarded 2026-11-08 18:59:59 +01:00
atlas
9d62ef44b5 nix trusts the swarm's root through its own CA bundle, so root's nix clients reach the cache 2026-11-08 18:37:34 +01:00
atlas
526cfbec1b swarmctl setup: an existing ruth keeps her permissions
declare_ruth stored the default set plus manage_root_agent over whatever ruth held, so a rerun dropped permissions granted since. It now reads her record and adds manage_root_agent only when it is missing, and writes nothing when she holds it. A new ruth still gets the defaults plus manage_root_agent.
2026-11-08 18:11:39 +01:00
atlas
44caa72c19 swarmctl: interactive setup walks the first-run ceremony
swarmctl setup with no subcommand checks the setup status first, then takes the open steps one at a time: prompts for input, shows a running action as one live line, prints the store keys, root token and new password under a warning until the operator confirms, and names the deploy option for a step this host cannot do. It calls the code of bao init, bao grant-bootstrap, user add, forge make-admin, agent create, agent permissions set and agent set-state. Refuses without root or a terminal.
2026-11-08 18:11:39 +01:00
atlas
4fae6a7766 module-eval: pin the forge board's vcs metric names against vcs_metrics.rs 2026-11-08 18:11:27 +01:00
atlas
2e23f3debf swarm-controller: count default-branch merges and lines per repo 2026-11-08 18:11:27 +01:00
atlas
c25cf3d48a hive-priv: fetch the swarm signature from attic before verifying a locally valid closure 2026-11-08 11:49:51 +01:00
atlas
3550cc0e1b module-eval: the egress dashboard now has 15 panels in the access-log layout 2026-11-08 11:20:10 +01:00
atlas
70e7885a28 docs: egress dashboard data transferred by domain panel 2026-11-08 11:20:10 +01:00
atlas
0566b501bd egress dashboard: data transferred by domain over time 2026-11-08 11:20:10 +01:00
atlas
ef68baa00f pull swarm closures through the nix daemon: substituters in the fragment, merged root-only netrc 2026-11-08 11:06:28 +01:00
atlas
63ae5d6cbf otel: look up unrestricted_internet by agent, skip the ci container 2026-11-08 10:34:18 +01:00
atlas
817c222951 container stats: sample the ci runner's container 2026-11-08 10:34:13 +01:00
atlas
530137a7bb hive-c0re: queue another knowledge pull soon after a failed one, backing off to 5 minutes 2026-11-08 09:19:48 +01:00
atlas
52ba0a996f swarmctl bao: recreate the grant token file 0600, deliver init keys to stderr when stdout fails 2026-11-08 09:09:13 +01:00
atlas
a20596fa59 swarmctl: add bao init and bao grant-bootstrap
init prints the store's keys and root token once and keeps none; with
--and-grant it goes on to the granter bootstrap in the same process.
grant-bootstrap does that step alone, reading the root token from a
hidden prompt or stdin. The token reaches bao only as BAO_TOKEN in the
child's environment.
2026-11-08 09:09:13 +01:00
atlas
e9321297c0 swarm-grafana: a host dashboard for the collector's system metrics
Adds host.json (hive and host filters over the hostmetrics series),
registers it in the provisioned dashboard list, lists it in the swarm
services handbook, and adds a module-eval case that it ships and every
query filters on both variables.
2026-11-08 09:01:21 +01:00
damocles
1c3b5e52cf drop the host side of the agent broker send
Remove the agent-side Send and AckUntil requests, their hive-c0re handlers
(handle_send with its 4 KiB size cap, handle_ack_until) and Broker::ack_until.
Everything that existed only for them goes with them: the OkWarn response
(its sole producer was Send's reserved-name warning), Recv's max parameter
and RECV_BATCH_MAX (the harness never asked for more than one message),
OPERATOR_SEND_REFUSAL, and the MESSAGE_MAX_BYTES / check_size limit (the
reminder timer keeps its own copy of the cap, so its comment is reworded).

Messages.remaining stays on the wire (default on read) because a harness
built before this change still requires it. Update the conventions docs.
2026-11-08 08:56:39 +01:00
atlas
aeef4634e1 report the btrfs-subvolume root in host filesystem metrics 2026-11-08 03:03:49 +01:00
atlas
319dd6a808 alert when claude usage runs ahead of the clock, per account 2026-11-08 02:05:50 +01:00
atlas
dab7768869 scope the cache access to hive-core: client-side nix copy, daemon trusts only the key 2026-11-08 01:56:55 +01:00
atlas
ecd4445680 hive-c0re pulls closures through the nix daemon; hive-priv verifies the swarm signature before applying 2026-11-08 01:56:55 +01:00
atlas
448b703995 hivectl agent watch: document control-char replacement and the quiet exit on a closed pipe 2026-11-08 01:55:16 +01:00
atlas
30a61d96dd hivectl agent watch: strip control chars, exit quietly on a broken pipe 2026-11-08 01:55:16 +01:00
damocles
9457f49684 test the wake prompt and the Messaging permission after the tool removal 2026-11-08 01:40:10 +01:00
damocles
8154c5da02 docs: vale fixes in the messaging paragraph 2026-11-08 01:40:10 +01:00
damocles
c5fba26d62 drop the remaining pointers at the removed send/recv tools 2026-11-08 01:40:10 +01:00
damocles
bffb2c07a8 drop the hyperhive send/recv/ack_until tools: agents message over matrix 2026-11-08 01:40:10 +01:00
damocles
ccac95fcf4 matrix-mcp: document the bare name in the DM tool schemas, expand it once 2026-11-07 23:01:02 +01:00
damocles
64c0b8b3f0 docs: send_dm and open_dm accept a bare agent name 2026-11-07 23:01:02 +01:00
damocles
66f4984223 matrix-mcp: send_dm and open_dm accept a bare agent name 2026-11-07 23:01:02 +01:00
atlas
f86d90a91d swarm-controller: read placements only once the queue client has connected 2026-11-07 21:56:55 +01:00
atlas
3b007b1ccb swarm-controller: update_meta waits up to 60s for the queue client to connect
The boot run of the UpdateMeta node read hive placements before the queue client had connected, failed on the Pending client, and was not declared again until the next 10 minute timer tick. It now waits for the connection, bounded to 60s, and fails with a message naming the wait when the queue never connects. agent_renewal's wait_for_queue takes the bound as a parameter so both callers share it.
2026-11-07 21:56:55 +01:00