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 1b4e764e5c review classifier: run on ACP when the swarm settings choose it
The swarm settings gain `runtime` (`api-key`, the default, or `acp`) and
an `acp` provider record: an https base URL, the provider's model, and
its prices per million tokens. A PUT now changes only the fields its
body names, so the settings form that sends model, effort and limit
leaves the runtime alone; `null` clears `effort` or `acp`. The body stays
strict, and the stored document keeps #5192's lenient read.

The controller sends the runtime in each run request. On `acp` the
classifier runs one prompt on a new `opencode acp` session per
classification through hive-runtime's AcpRuntime, in a scratch
directory, with a config rendered from the settings. opencode runs
`read` and other tools without asking, so OPENCODE_PERMISSION
{"*":"deny"} takes every tool away from the model, and a deny-all policy
refuses any request on top. The title call, which resends the prompt,
is turned off. The deadline cancels the turn, and a turn that does not
end within 15s of that is dropped, which also covers an agent stuck
before its prompt. The answer is the final assistant text, as ACP has
no result event.

The provider key is read per run from
swarm/services/review-classifier/acp-provider, which the bao UI's
admins login may create and update, and reaches opencode through
AcpRuntime::with_provider_key and the trampoline's allowlist.

Each ACP classification's cost is computed from the configured prices
and the reported tokens, and added to
hyperhive.review_classifier.cost.usage labelled repo, pr, model and
currency.

Part of #5096
2026-10-14 10:14:36 +02:00
..
forge swarm-builder: build each agent config PR head and post a commit status 2026-10-14 03:30:46 +02:00
matrix_account matrix: back up agents' room keys with a controller-minted recovery passphrase 2026-10-14 02:09:57 +02:00
review_classifier review classifier: run on ACP when the swarm settings choose it 2026-10-14 10:14:36 +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_limits.rs controller stores: recover from a record they can't decode 2026-10-13 08:12:50 +02:00
agent_renewal.rs swarm-queue-client: re-read a held OIDC client secret when the IdP refuses it 2026-10-13 19:16:04 +02:00
agent_state_stream.rs swarm-controller: end a dead replay, clamp stale resume ids, test on a real server 2026-10-11 23:26:24 +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
builder.rs swarm-builder: scope the forge token to the forge, one build at a time, opt-in 2026-10-14 03:30:46 +02:00
config_pr.rs swarm-builder: build each agent config PR head and post a commit status 2026-10-14 03:30:46 +02:00
forge.rs swarm-builder: build each agent config PR head and post a commit status 2026-10-14 03:30:46 +02:00
forge_account.rs swarm-controller: record the review classifier's runs and list them 2026-10-12 21:48:51 +02:00
github_account.rs swarm-controller: record the review classifier's runs and list them 2026-10-12 21:48:51 +02:00
inference.rs swarm-ui: per-agent cap on concurrently running subagents 2026-10-14 10:13:29 +02:00
issue_report.rs swarm-ui, swarm-controller: the review try-out's repo and PR fields offer the repos and PRs to pick 2026-10-12 19:05:37 +02:00
linked_accounts.rs swarm-controller: record the review classifier's runs and list them 2026-10-12 21:48:51 +02:00
main.rs swarm-builder: scope the forge token to the forge, one build at a time, opt-in 2026-10-14 03:30:46 +02:00
matrix_account.rs matrix: back up agents' room keys with a controller-minted recovery passphrase 2026-10-14 02:09:57 +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
pulls.rs swarm-ui, swarm-controller: the review try-out's repo and PR fields offer the repos and PRs to pick 2026-10-12 19:05:37 +02:00
queue_identity.rs swarm-queue-client: re-read a held OIDC client secret when the IdP refuses it 2026-10-13 19:16:04 +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
review_classifier.rs review classifier: run on ACP when the swarm settings choose it 2026-10-14 10:14:36 +02:00
schedules.rs schedules: keep projecting a schedule whose definition stops decoding 2026-10-13 08:12:50 +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: end a dead replay, clamp stale resume ids, test on a real server 2026-10-11 23:26:24 +02:00
term_stream.rs swarm-controller: end a dead replay, clamp stale resume ids, test on a real server 2026-10-11 23:26:24 +02:00
test_nats.rs swarm-controller: end a dead replay, clamp stale resume ids, test on a real server 2026-10-11 23:26:24 +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 swarm-builder: build each agent config PR head and post a commit status 2026-10-14 03:30:46 +02:00