Watch
0
0
Fork
You've already forked hyperhive
0

add a triage archetype: haiku, a triage prompt, flows for new issues and prs

This commit is contained in:
atlas 2026-11-11 22:16:24 +01:00 • committed by mara
commit 70e4c63ff7

View file

@ -291,7 +291,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 can run commands and android-dev installs its toolchain and reverse-engineer turns rea on, and each sets an svg icon as a default, and each has a non-empty prompt under the 64 KiB cap, and ruth runs sonnet with manage_root_agent, logs and metrics";
name = "the built-in archetypes carry a module and a meta of plain data, and reviewer can run commands and android-dev installs its toolchain and reverse-engineer turns rea on, and each sets an svg icon as a default, and each has a non-empty prompt under the 64 KiB cap, and ruth runs sonnet with manage_root_agent, logs and metrics, and triage runs haiku with three flows that send to members";
ok =
let
plain =
@ -326,7 +326,24 @@ let
(archetypes.android-dev.module { inherit pkgs lib; }).services.hyperhive.agent.icon
(archetypes.reverse-engineer.module { inherit lib; }).services.hyperhive.agent.icon
(archetypes.ruth.module { inherit lib; }).services.hyperhive.agent.icon
(archetypes.triage.module { inherit lib; }).services.hyperhive.agent.icon
]
&& metas.triage.inference.model == "haiku"
&&
lib.sort (a: b: a < b) (map (f: f.id) metas.triage.flows) == [
"issue-opened"
"issue-reopened"
"pr-opened"
]
&& lib.all (
f:
let
todos = lib.filter (n: n.kind == "todo") f.nodes;
in
todos != [ ]
&& lib.all (n: n.to == "members" && lib.hasPrefix "forge:{{ repo }}#{{ number }}:" n.key) todos
) metas.triage.flows
&& !(metas.triage ? watch)
&& metas.ruth.inference.model == "sonnet"
&& lib.all (p: lib.elem p metas.ruth.permissions) [
"messaging"