Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-controller/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas d723fac0be swarm: show each agent's effective model and effort, and where they came from
Each agent now reports the model and effort it runs on, and where each
comes from (`swarm`, `agent_nix`, `local_file` or `default`), in its
turn-state header on `$SWARM.agent-state.<agent>`: `effort`,
`model_source` and `effort_source` join `model`. The shared
`swarm_queue_client::agent_inference::{Effective, Source}` types spell
those fields for both ends.

The Bus keeps a source next to the model and effort. `Bus::new` takes it
from the local fallback chain (`harness_state::local_model` /
`local_effort`, which now return the source with the value), a `/model`
or `/effort` pick sets `local_file`, and the swarm poller sets `swarm`
or, on a clear, the local chain's source. A swarm value equal to the one
the agent already runs is now applied once, so the source moves to
`swarm` and the header is republished; before, `next()` skipped it as
unchanged.

swarm-controller subscribes to every agent's header with the reader
grant it already holds for the state relay, and keeps the latest
inference fields per agent in memory (`inference::Reported`).
`GET /api/agents/{name}/inference` now answers
`{configured, effective}`, `effective` being `null` until the agent's
first header with these fields since the controller started.
`swarmctl agent inference get` prints both; `set` reads `configured`.

Refs #5034
2026-10-10 17:37:23 +02:00
..
forge swarm-controller: bound forge calls in job executors 2026-10-09 21:00:59 +02:00
matrix_account swarm-controller: revoke matrix admin from former operators 2026-10-05 12:39:02 +02:00
agent_icon.rs swarm: let an agent publish its own icon 2026-09-28 13:47:37 +02:00
agent_identity.rs swarm-secret-client: agents may list their own subtree; controller rewrites agent policies 2026-10-01 17:43:28 +02:00
agent_input.rs swarm UI: send a message to an agent, without its hive 2026-10-04 03:02:14 +02:00
agent_renewal.rs swarm-controller: first credential-renewal pass waits for the queue connection 2026-09-30 15:46:56 +02:00
agent_state_stream.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
agent_status.rs swarm-ui: add agent start/stop, backed by the wanted-state route 2026-09-02 19:57:04 +02:00
auth.rs swarm options: no swarm.* value depends on a deploy option or this host's hive 2026-10-04 18:13:47 +02:00
config_pr.rs swarm-controller: bound forge calls in job executors 2026-10-09 21:00:59 +02:00
forge.rs swarm-controller: bound forge calls in job executors 2026-10-09 21:00:59 +02:00
forge_account.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
github_account.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
inference.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
issue_report.rs swarm-controller gains forge access when the token arrives, without a restart 2026-10-08 13:40:24 +02:00
linked_accounts.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
main.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
matrix_account.rs swarm: show each agent's effective model and effort, and where they came from 2026-10-10 17:37:23 +02:00
otel_http_client.rs swarm-queue-client: request the bearer-authz scope when minting an agent token 2026-09-17 09:51:44 +02:00
queue_identity.rs swarm-controller gains forge access when the token arrives, without a restart 2026-10-08 13:40:24 +02:00
read_policy.rs swarm-secret-client: agents may list their own subtree; controller rewrites agent policies 2026-10-01 17:43:28 +02:00
schedules.rs swarm: per-agent inference settings (model, effort, subagent_models) in KV 2026-10-09 23:13:13 +02:00
status.rs swarm-controller: make status::render/row pub(crate) so agent_status.rs's doc links resolve 2026-09-02 10:20:29 +02:00
store.rs fix doc-comment pointers broken by the module-eval split 2026-09-20 04:31:08 +02:00
subagent_term.rs swarm-controller: drop the relay subscription to the refused hive-scoped agent subject 2026-10-04 22:24:51 +02:00
term_stream.rs swarm-nats-auth: take the subscribe subjects from the shared definitions 2026-10-07 16:51:53 +02:00
vcs_metrics.rs swarm CA: describe the store's pki root as the only anchor in docs and comments 2026-10-05 21:17:10 +02:00
wanted.rs swarm-controller: first credential-renewal pass waits for the queue connection 2026-09-30 15:46:56 +02:00
webhook.rs write secret and key files atomically with their final mode 2026-10-09 17:22:25 +02:00