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
..
hive-c0re
claude: say on stderr when the hive's pinned claude-code is missing
2026-10-22 07:11:46 +02:00
hive-forge
swarm-authelia: run the secret publisher and a journal forwarder inside the container
2026-10-17 00:28:16 +02:00
hive-gateway
every hive runs its otel collector, and agents export to it by default
2026-10-19 18:35:17 +02:00
lib
tls: a CA root change no longer restarts the store or bounces containers
2026-10-21 22:00:13 +02:00
swarm-grafana /dashboards
rename claude.md to agents.md for agents and the repo
2026-10-18 02:33:06 +02:00
bao-bootstrap-policy.hcl
bao: disable the unused approle auth method, declaratively
2026-09-28 22:58:36 +02:00
default.nix
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
deploy.nix
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
glue-bao-readers-policy-order.nix
hive-forge: the controller-token mint writes straight to the store, and the on-disk token goes
2026-10-16 17:48:56 +02:00
glue-bao-readers-store-order.nix
every hive runs its otel collector, and agents export to it by default
2026-10-19 18:35:17 +02:00
glue-bao-tls.nix
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
glue-bao-ui-oidc-client.nix
bao: OIDC login to the browser UI via authelia, as a metadata-only viewer
2026-09-28 19:56:38 +02:00
glue-builder-oidc-client.nix
swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector
2026-10-16 09:10:04 +02:00
glue-ci-metrics-otel-oidc-client.nix
push ci run metrics to victoriametrics, with a grafana board
2026-10-16 20:43:11 +02:00
glue-ci-runner-otel-oidc-client.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
glue-claude-login-oidc-client.nix
swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector
2026-10-16 09:10:04 +02:00
glue-controller-bao-identity.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-controller-env.nix
glue-controller-env: the controller always exports otlp to the swarm's collector
2026-10-17 16:33:52 +02:00
glue-controller-oidc-client.nix
swarm-controller: get its otlp pushes past the collector, log failures
2026-10-17 09:44:33 +02:00
glue-forge-controller.nix
glue: forge's controller-dependent settings move out of the forge module
2026-10-13 22:14:28 +02:00
glue-forge-oidc-client.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-forge-otel-oidc-client.nix
hive-forge, hive-matrix: forward each container's journal to the swarm collector
2026-10-16 13:50:23 +02:00
glue-grafana-oidc-client.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-grafana-otel-oidc-client.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
glue-hive-otel-authelia.nix
every hive runs its otel collector, and agents export to it by default
2026-10-19 18:35:17 +02:00
glue-hive-tls-bao-identity.nix
hive-tls: the gateway leaf uses the services-issuer identity, not a hive's
2026-10-06 14:54:07 +02:00
glue-hive-tls-controllers.nix
agents fetch the hive CA from bao at boot instead of the meta flake embedding it
2026-10-19 20:15:13 +02:00
glue-logs-auth-bao-identity.nix
swarm-logs-auth: check agent tokens on the log store's query route
2026-10-13 08:38:05 +02:00
glue-matrix-ctl-bao-identity.nix
swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's
2026-10-06 12:04:48 +02:00
glue-matrix-hive-discovery.nix
move the hive's vhosts and matrix discovery out of the gateway
2026-10-17 15:07:33 +02:00
glue-matrix-oidc-client.nix
swarm: OIDC clients registered wherever authelia runs; nats + matrix secrets from bao
2026-10-05 09:58:02 +02:00
glue-matrix-otel-oidc-client.nix
hive-forge, hive-matrix: forward each container's journal to the swarm collector
2026-10-16 13:50:23 +02:00
glue-metrics-auth-bao-identity.nix
add swarm-metrics, an agent CLI for the metrics store
2026-10-17 10:10:17 +02:00
glue-nats-auth-bao-identity.nix
swarm-nats: the auth responder's store identity path is its own, not the hive's
2026-10-06 10:04:30 +02:00
glue-nats-bao-identity.nix
swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's
2026-10-06 12:04:48 +02:00
glue-nats-oidc-client.nix
swarm-nats: forward the queue container's journal to the swarm collector
2026-10-16 09:08:21 +02:00
glue-nats-wireguard.nix
glue: nats firewall on the wireguard interface moves out of the nats module
2026-10-14 10:15:19 +02:00
glue-notify-router-oidc-client.nix
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
glue-queue-agent-credential.nix
swarm-authelia: run the secret publisher and a journal forwarder inside the container
2026-10-17 00:28:16 +02:00
glue-review-classifier-oidc-client.nix
swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector
2026-10-16 09:10:04 +02:00
glue-secret-publisher-authelia.nix
swarm-authelia: run the secret publisher and a journal forwarder inside the container
2026-10-17 00:28:16 +02:00
glue-secret-publisher-bao-identity.nix
swarm-authelia: run the secret publisher and a journal forwarder inside the container
2026-10-17 00:28:16 +02:00
glue-swarm-bao-otel-oidc-client.nix
ops: update option pointers after grafana/bao split
2026-10-01 09:53:04 +02:00
glue-swarm-otel-oidc-client.nix
ops: update option pointers after otel split
2026-10-01 13:00:40 +02:00
glue-victorialogs-otel-oidc-client.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
glue-victoriametrics-otel-oidc-client.nix
swarm-victoriametrics: forward the container's journal to the swarm collector
2026-10-16 14:47:31 +02:00
hive-matrix-service.nix
drop option renames and removals older than two weeks
2026-10-16 22:04:57 +02:00
hive-matrix.nix
swarm-authelia: run the secret publisher and a journal forwarder inside the container
2026-10-17 00:28:16 +02:00
hive-network.nix
every hive runs its otel collector, and agents export to it by default
2026-10-19 18:35:17 +02:00
hive-options-removed.nix
publish operators' forge-profile pronouns to kv and list them in the agent prompt
2026-10-17 13:10:05 +02:00
hive-priv.nix
hive-priv: lock personality, deny realtime, kernel logs and module loading
2026-10-16 16:06:49 +02:00
hive-tls.nix
tls: a CA root change no longer restarts the store or bounces containers
2026-10-21 22:00:13 +02:00
host-ca-removed.nix
drop option renames and removals older than two weeks
2026-10-16 22:04:57 +02:00
hyperhive.nix
hyperhive: make the values the meta-flake render reads swarm-wide
2026-10-17 13:43:16 +02:00
local-defaults.nix
swarm-nats: take the callout issuer and user keys from the store
2026-10-06 14:53:33 +02:00
nats-callout-removed.nix
nats-callout-removed: remove the container's OIDC secret copy here, ungated
2026-10-06 15:25:29 +02:00
otel.nix
hand agents the dashboard port, pinned claude and otel labels at container start
2026-10-22 07:11:46 +02:00
stylix-theme.nix
swarm-ui: apply the operator's stylix theme, same as the dashboard already does
2026-08-24 14:28:25 +02:00
swarm-authelia-service.nix
swarm-authelia: run in its own network namespace
2026-10-21 22:10:23 +02:00
swarm-authelia.nix
swarm-authelia: run in its own network namespace
2026-10-21 22:10:23 +02:00
swarm-bao-service.nix
nix: split swarm-bao into service and deploy-mode files
2026-10-01 09:37:36 +02:00
swarm-bao.nix
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
swarm-builder.nix
the meta flake takes docs from the pinned hyperhive input
2026-10-18 20:09:14 +02:00
swarm-ci-metrics.nix
trust the swarm services ca in swarm-ci-metrics
2026-10-17 23:28:03 +02:00
swarm-ci-runner.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
swarm-claude-login.nix
move dashboardPort, claudeCodePackage and extraResourceAttributes to deploy.hive-controller
2026-10-17 13:43:16 +02:00
swarm-controller.nix
swarm-controller: chgrp the runtime dir in ExecStartPost, ExecStart's setup undid the ExecStartPre one
2026-10-18 15:32:35 +02:00
swarm-grafana-service.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
swarm-grafana.nix
hive-c0re: fix stale banner and gauge-name wording after review
2026-10-21 17:58:09 +02:00
swarm-nats-service.nix
swarm-nats: forward the queue container's journal to the swarm collector
2026-10-16 09:08:21 +02:00
swarm-nats.nix
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
swarm-notify-router.nix
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
swarm-otel-service.nix
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
swarm-otel.nix
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
swarm-required-services.nix
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
swarm-review-classifier.nix
every hive runs its otel collector, and agents export to it by default
2026-10-19 18:35:17 +02:00
swarm-secret-publisher.nix
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
swarm-snapshot-store.nix
snapshot store: bound the transfer on both ends
2026-10-16 11:45:58 +02:00
swarm-ui.nix
move the hive's vhosts and matrix discovery out of the gateway
2026-10-17 15:07:33 +02:00
swarm-victorialogs-service.nix
swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector
2026-10-16 11:22:51 +02:00
swarm-victorialogs.nix
victorialogs and victoriametrics: own the package for each auth responder they run
2026-10-17 18:38:25 +02:00
swarm-victoriametrics-service.nix
swarm-victoriametrics: forward the container's journal to the swarm collector
2026-10-16 14:47:31 +02:00
swarm-victoriametrics.nix
victorialogs and victoriametrics: own the package for each auth responder they run
2026-10-17 18:38:25 +02:00
swarm-wireguard.nix
swarm options: no swarm.* value depends on a deploy option or this host's hive
2026-10-04 18:13:47 +02:00
swarm.nix
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