Watch
0
0
Fork
You've already forked hyperhive
0

archetypes: reviewer holds execution so it can run hive-forge and git

The reviewer now has messaging, inbox and execution. execution is what
gives an agent the bash server, without which it cannot run hive-forge
or git to read a PR and post a review. meta is dropped: get_agent_meta
is not part of reviewing a PR.

Refs #5386
This commit is contained in:
atlas 2026-10-17 00:38:13 +02:00 • committed by mara
commit 0382c65386
3 changed files with 11 additions and 9 deletions

View file

@ -9,11 +9,11 @@
reviewer = {
module = { };
meta = {
description = "Reviews what it is sent. No shell: it holds the default permissions minus execution, so it cannot run hive-forge, git or any other command.";
description = "Reviews pull requests and replies. It can run hive-forge and git (execution), and holds messaging and inbox; it has no get_agent_meta (meta).";
permissions = [
"messaging"
"meta"
"inbox"
"execution"
];
};
};

View file

@ -126,7 +126,7 @@ let
# output and prints it as JSON. A derivation or a path in `meta` would
# make that evaluation build or copy something; a function would not
# print at all.
name = "the built-in archetypes carry a module and a meta of plain data, and reviewer has no shell";
name = "the built-in archetypes carry a module and a meta of plain data, and reviewer can run commands";
ok =
let
plain =
@ -146,7 +146,9 @@ let
lib.all (a: a ? module && a.meta.description != "") (lib.attrValues archetypes)
&& plain metas
&& lib.elem "messaging" reviewer
&& !(lib.elem "execution" reviewer);
&& lib.elem "inbox" reviewer
&& lib.elem "execution" reviewer
&& !(lib.elem "meta" reviewer);
}
{
# The responder denies a client id it does not know, and a NATS denial