From fa5ebe13012c706befaa2966f54ef1f67f86bff7 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman Date: Fri, 3 Apr 2026 18:42:06 +0000 Subject: [PATCH] =?UTF-8?q?chore(agents):=20improve=20ca-uat-tester=20?= =?UTF-8?q?=E2=80=94=20enforce=20comment-based=20progress=20reports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Approved proposal: #2369 Pattern: prompt_compliance_failure Evidence: ~180 spam progress report issues created as separate Forgejo issues instead of comments on the tracking issue. Issues #2182-#2359 are almost all individual progress report issues despite the agent definition already containing instructions to use comments. Fix: Add prominent WARNING box with exact tool names, concrete negative/positive examples, self-check step, and explicit tool call in pseudocode to make the distinction unmistakable. ISSUES CLOSED: #2369 --- .opencode/agents/ca-uat-tester.md | 32 +++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/.opencode/agents/ca-uat-tester.md b/.opencode/agents/ca-uat-tester.md index bf9ff190fc..c63ae7fd36 100644 --- a/.opencode/agents/ca-uat-tester.md +++ b/.opencode/agents/ca-uat-tester.md @@ -102,6 +102,17 @@ set timeout explicitly. You MUST NOT voluntarily exit — sleep and re-poll. ### Pool Supervision Loop +> ⚠️ **CRITICAL: Progress reports are COMMENTS on a tracking issue, NOT new issues.** +> +> Use `forgejo_create_issue_comment(owner, repo, TRACKING_ISSUE_NUMBER, body)` +> for ALL progress reports. **NEVER** use `forgejo_create_issue()` for progress +> reports — that creates separate issues and pollutes the tracker. +> +> ``` +> ❌ WRONG: forgejo_create_issue(title="[UAT-SUPERVISOR] Progress Report...") +> ✅ RIGHT: forgejo_create_issue_comment(index=TRACKING_ISSUE_NUMBER, body="## Progress Report...") +> ``` + **IMPORTANT: Progress reports MUST be posted as comments on a single tracking issue — NEVER as separate new issues.** At startup, create ONE tracking issue and reuse it for ALL progress updates throughout the session. @@ -212,11 +223,13 @@ LOOP: active[next_area] = NEW_SID # ── Step 4: Post progress (as COMMENT on tracking issue) ───── - # NEVER create a new Forgejo issue for progress reports. - # Always post as a comment on TRACKING_ISSUE_NUMBER. + # ⚠️ Use forgejo_create_issue_comment — NOT forgejo_create_issue. if cycle % 10 == 0: - post comment on issue #TRACKING_ISSUE_NUMBER: - "## UAT Pool Supervisor — Progress Report (Cycle ) + forgejo_create_issue_comment( + owner=, + repo=, + index=TRACKING_ISSUE_NUMBER, + body="## UAT Pool Supervisor — Progress Report (Cycle ) **Time**: **HEAD**: @@ -232,6 +245,10 @@ LOOP: --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester" + ) + # SELF-CHECK: Verify you used forgejo_create_issue_comment above, + # NOT forgejo_create_issue. If you accidentally created a new issue, + # close it immediately with forgejo_issue_state_change(state="closed"). # ── IMMEDIATELY loop back ──────────────────────────────────── ``` @@ -461,8 +478,11 @@ No exceptions — every comment, every issue body, every PR description. - **NEVER create new Forgejo issues for progress reports.** In Pool Supervisor Mode, create ONE tracking issue at startup and post ALL - progress updates as comments on that single issue. Creating separate - issues for each progress report pollutes the issue tracker. + progress updates as comments on that single issue using + `forgejo_create_issue_comment(index=TRACKING_ISSUE_NUMBER, ...)`. + Creating separate issues for each progress report pollutes the issue + tracker. If you catch yourself calling `forgejo_create_issue` for a + progress report, STOP — use `forgejo_create_issue_comment` instead. - **NEVER work in /app.** Always use your isolated clone (Worker Mode) or Forgejo API only (Pool Supervisor Mode). - **NEVER modify code.** You are a tester, not a fixer. File issues only.