Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 0f7b403803 agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close
A new swarm service, swarm-notify-router, in its own container on the host
that sets deploy.notify-router.enable (defaulted on by allSwarmServices where
the host has the router's store leaf, like the claude login minter).

- swarm-controller registers instance-wide hooks for `issues` +
  `issue_assign` and `pull_request` + `pull_request_assign`, updates the
  event list of a hook already registered with fewer (leaving its active flag as it is), and keeps each
  verified body unchanged in the SWARM_EVENTS stream on
  $SWARM.events.forge.<X-Forgejo-Event-Type>, deduped by X-Forgejo-Delivery.
  A delivery the stream did not keep answers 503.
- swarm-notify-router drains its durable consumer on that stream, runs its
  flows (source -> match -> todo sink, stored as nodes plus edges and checked
  to be a tree) and queues each op on $SWARM.router.todo.<agent> in the
  work-queue stream ROUTER_TODOS. Built-in flows: assigned, unassigned (same
  key, rewritten) and closed (prefix-clears every holder's router todos). A
  per-issue snapshot in its notify-router-state bucket holds the last
  assignees and the todo holders; only agents in the agent-status bucket get
  ops, and an assignee that was not one is left out of the snapshot so the
  next assign event retries it. After the first event that must be retried,
  the rest of the batch is nakked so redelivery keeps stream order.
- hive-agent creates its own durable consumer todo-<agent> and applies each
  op to its todo store as subsystem `router`, then acks; a refused op stops
  the rest of its batch the same way. The store's (subsystem, key) dedup
  makes a redelivery harmless. New Todos::clear_prefix.
- swarm-nats-auth: a --notify-router-client arm; the controller may publish
  $SWARM.events.forge.*; each agent gets three {agent} templates (extended
  consumer create whose filter the server checks, MSG.NEXT, ACK).
- Credentials: a notify-router store leaf minted by glue-bao-tls, a
  swarm-notify-router bao policy (read on its own queue client secret), an
  authelia machine client, the secret publisher entry, a journal forwarder
  route. No manual step.

hive-forge-notify is unchanged, so agents also still get forge's own
notifications.

Refs #5571
2026-10-22 07:28:53 +02:00
..
agent-modules claude: say on stderr when the hive's pinned claude-code is missing 2026-10-22 07:11:46 +02:00
archetypes archetypes: build an archetype agent from its archetype's module on the hive 2026-10-17 16:27:21 +02:00
builder/check-flake the meta flake takes docs from the pinned hyperhive input 2026-10-18 20:09:14 +02:00
container-modules swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
docs drop option renames and removals older than two weeks 2026-10-16 22:04:57 +02:00
host-modules agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
module-eval agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
packages agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
script-tests claude: say on stderr when the hive's pinned claude-code is missing 2026-10-22 07:11:46 +02:00
templates build every agent from the agent-base template 2026-10-17 09:24:52 +02:00
checks.nix add swarm-metrics, an agent CLI for the metrics store 2026-10-17 10:10:17 +02:00
claude-code-no-alsa.nix agent claude-code is built without its alsa-lib LD_LIBRARY_PATH wrapper 2026-10-19 21:37:47 +02:00
devshell.nix CI and devshell comments say what the config does: jobTimeout bounds jobs, coverage runs nightly, dead timeout keys removed 2026-10-15 08:27:32 +02:00
journald-severity.nix otel: map journald PRIORITY onto a severity at every journald receiver 2026-09-20 14:23:56 +02:00
reserved-hive-fragments.nix swarm: extract the name guards, so the module just says what is forbidden 2026-08-31 18:50:15 +02:00
reserved-names.nix push ci run metrics to victoriametrics, with a grafana board 2026-10-16 20:43:11 +02:00
rust.nix add review classifier rules for this repo 2026-10-12 21:05:38 +02:00
sources.nix the meta flake takes docs from the pinned hyperhive input 2026-10-18 20:09:14 +02:00
treefmt.nix treefmt: format the web files with prettier 2026-09-02 15:25:07 +02:00