Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-queue-client/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas a669cd96b6 swarm-controller: post the review classifier's verdict on a review request
Requesting the forge account `review-classifier` as a reviewer now runs the
repo's rules against the PR and posts the result as that account's review,
on the head commit the run read. A push starts no run; only a fresh review
request does.

- An instance-wide `pull_request_review_request` system hook delivers to
  `/webhook/forge/review-request`. A request for any other reviewer, or a
  removed request, does nothing.
- The controller reads the PR, loads the rules with the same reader as
  `GET /api/review-classifier/rules`, sends one request on the try-out
  subject, and posts APPROVED or REQUEST_CHANGES with the table as the body.
- With no clean verdict (PR or rules don't load, the run fails, or any
  classification has no answer) it posts a COMMENT saying why, never an
  approval. The event is one function, `no_clean_verdict_event`.
- Table cells are flattened, markup-escaped, and every `@` gets a
  zero-width space, so a model's reason can't break the table or mention
  anyone.
- At most two requested reviews run at once; the rest wait in memory.
- The account is minted the way hive accounts are: a five-minute pass
  queues a `MintClassifierForgeToken` node when the token at
  `swarm/services/review-classifier/forge/token` is missing or stale. The
  token is `write:repository`. The controller's bao policy gains that leaf
  (create/read/update), pinned in module-eval bao-grants. The classifier
  never sees the token.

The account gets no repo access automatically; a repo admin adds it by
hand. A re-request retires the account's earlier review: Forgejo clears
`official` on a reviewer's earlier reviews when it is requested again
(models/issues/review.go AddReviewRequest, v16.0.5), and approvals and
rejection blocks count official reviews only.

Refs #5137
2026-10-12 16:11:50 +02:00
..
agent_icon.rs hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +02:00
agent_inference.rs agents: remove the hive-level /effort control too 2026-10-11 01:28:44 +02:00
agent_schedules.rs hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +02:00
agent_status.rs hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +02:00
agent_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
agent_token.rs swarm-queue-client: one agent-token spelling, and no hive in AgentCredential 2026-09-28 08:24:52 +02:00
kv.rs hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +02:00
lib.rs swarm-nats-auth: a review classifier hears try-outs and answers by reply only 2026-10-12 13:11:21 +02:00
notices.rs swarm-queue-client: drop notices::PREFIX, reuse STREAM 2026-08-24 14:34:37 +02:00
review_classifier.rs swarm-controller: post the review classifier's verdict on a review request 2026-10-12 16:11:50 +02:00
status.rs hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +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
wanted.rs swarm: keep the webhook secret on read errors; surface hidden KV/auth/forge failures 2026-10-09 15:10:20 +02:00