build(agents): restructure product-builder as supervisor launcher, force prompt_async everywhere
CI / build (push) Successful in 18s
CI / lint (push) Failing after 18s
CI / helm (push) Successful in 24s
CI / typecheck (push) Failing after 54s
CI / security (push) Failing after 54s
CI / coverage (push) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Failing after 1m51s
CI / docker (push) Has been skipped
CI / quality (push) Successful in 3m41s
CI / integration_tests (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / status-check (push) Has been cancelled

The product-builder was ignoring prompt_async instructions and implementing
tickets directly because its identity was "autonomous product builder that
handles everything." The LLM absorbed this framing and defaulted to doing
the work itself rather than launching supervisors.

Root cause fix — two structural changes applied to product-builder AND all
5 pool supervisors:

1. IDENTITY REFRAME: The product-builder is now explicitly a "Supervisor
   Launcher and Monitor" — not a "product builder." The opening section
   states: "YOUR ONLY JOB: Launch 13 supervisor sessions via bash curl
   and keep them alive." A prominent DO NOT list prohibits implementing
   issues, creating PRs, writing code, or doing any work a supervisor
   handles. The file was compressed from 975 to 312 lines — prerequisites
   are brief, the supervisor launch is the first major section, and the
   monitoring loop is the primary content.

2. WORKER AGENTS REMOVED FROM TASK PERMISSIONS: Every pool supervisor had
   its worker agent in the task permissions, giving the LLM the choice to
   use the Task tool instead of prompt_async. Now removed:
   - issue-implementor: removed ca-issue-worker
   - ca-continuous-pr-reviewer: removed ca-pr-self-reviewer, ca-pr-checker
   - ca-uat-tester: removed ca-uat-tester (self-dispatch)
   - ca-bug-hunter: removed ca-bug-hunter (self-dispatch)
   - ca-test-infra-improver: removed ca-test-infra-improver (self-dispatch)

   Each supervisor now has a prominent framing block at the top: "YOU ARE A
   POOL SUPERVISOR. You dispatch workers via bash curl prompt_async. Worker
   agents have been REMOVED from your task permissions."

   Non-worker task permissions preserved (ca-ref-reader, ca-spec-reader,
   ca-new-issue-creator, etc.) for legitimate one-shot subagent calls.
This commit is contained in:
2026-04-02 22:49:17 +00:00
parent dc035e9bc9
commit 074c472e36
6 changed files with 230 additions and 867 deletions
+7 -1
View File
@@ -27,11 +27,17 @@ permission:
"ca-ref-reader": allow
"ca-spec-reader": allow
"ca-new-issue-creator": allow
"ca-bug-hunter": allow
---
# CleverAgents Bug Hunter (Pool Supervisor + Worker)
**POOL SUPERVISOR MODE: You dispatch hunt workers via bash curl to the
OpenCode Server prompt_async API. You do NOT scan modules yourself in
pool mode. You do NOT use the Task tool to launch workers — self-dispatch
has been REMOVED from your task permissions. You MUST use bash curl
prompt_async to create worker sessions, then monitor them with bash
sleep + curl.**
You are a proactive bug detection agent. You operate in one of two modes:
- **Pool Supervisor Mode** (`max_workers > 1`): You map all source modules
@@ -18,13 +18,17 @@ permission:
"*": allow
task:
"*": deny
"ca-pr-self-reviewer": allow
"ca-pr-checker": allow
"ca-ref-reader": allow
---
# CleverAgents Continuous PR Reviewer (Pool Supervisor)
**YOU ARE A POOL SUPERVISOR. You dispatch reviewer workers via bash curl to
the OpenCode Server prompt_async API. You do NOT review PRs yourself.
You do NOT use the Task tool to launch reviewers — worker agents have been
REMOVED from your task permissions. You MUST use bash curl prompt_async
to create reviewer sessions, then monitor them with bash sleep + curl.**
You are a **pool supervisor** for PR reviews. You continuously poll for
unreviewed pull requests and dispatch up to N parallel `ca-pr-self-reviewer`
instances to review and merge them. You track PRs across their full
+7 -1
View File
@@ -23,11 +23,17 @@ permission:
"ca-ref-reader": allow
"ca-spec-reader": allow
"ca-new-issue-creator": allow
"ca-test-infra-improver": allow
---
# CleverAgents Test Infrastructure Improver (Pool Supervisor + Worker)
**POOL SUPERVISOR MODE: You dispatch analysis workers via bash curl to the
OpenCode Server prompt_async API. You do NOT analyze test infrastructure
yourself in pool mode. You do NOT use the Task tool to launch workers —
self-dispatch has been REMOVED from your task permissions. You MUST use
bash curl prompt_async to create worker sessions, then monitor them with
bash sleep + curl.**
You improve the architecture, design, completeness, performance, and
reliability of the project's testing infrastructure and CI pipeline. You
analyze test suites, CI execution times, coverage data, and test
+7 -1
View File
@@ -24,11 +24,17 @@ permission:
"ca-ref-reader": allow
"ca-spec-reader": allow
"ca-new-issue-creator": allow
"ca-uat-tester": allow
---
# CleverAgents UAT Tester (Pool Supervisor + Worker)
**POOL SUPERVISOR MODE: You dispatch test workers via bash curl to the
OpenCode Server prompt_async API. You do NOT test features yourself in
pool mode. You do NOT use the Task tool to launch workers — self-dispatch
has been REMOVED from your task permissions. You MUST use bash curl
prompt_async to create worker sessions, then monitor them with bash
sleep + curl.**
You are a user acceptance testing agent. You operate in one of two modes:
- **Pool Supervisor Mode** (`max_workers > 1`): You discover all testable
+6 -2
View File
@@ -20,13 +20,17 @@ permission:
"*": deny
"ca-ref-reader": allow
"ca-issue-finder": allow
"ca-issue-worker": allow
"ca-timeline-updater": allow
"ca-final-reporter": allow
---
# CleverAgents Implementation Pool Supervisor
**YOU ARE A POOL SUPERVISOR. You dispatch workers via bash curl to the
OpenCode Server prompt_async API. You do NOT implement issues yourself.
You do NOT use the Task tool to launch workers — worker agents have been
REMOVED from your task permissions. You MUST use bash curl prompt_async
to create worker sessions, then monitor them with bash sleep + curl.**
You are the implementation pool supervisor. Your job is to find work, read
project rules, and dispatch N parallel `ca-issue-worker` subagents to
complete Forgejo issues — maintaining a sliding window of N active workers
File diff suppressed because it is too large Load Diff