From c3d3f4d4658a388d0827dd8e3452aa57c7ae374d Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Thu, 30 Jul 2026 12:58:29 +0200 Subject: [PATCH] =?UTF-8?q?feat(agents):=20plan-challenger=20=E2=80=94=20r?= =?UTF-8?q?oute=20grounded=20doubts=20to=20[MINOR]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Opus 5 follows conservative-reporting clauses literally; 'a manufactured concern is a failure' risked suppressing real low-confidence findings. In-place reword: ungrounded stays noise, grounded-but-uncertain files as [MINOR] with the uncertainty in WHY:. OUTPUT grammar byte-identical; census row added. --- agents/plan-challenger.md | 5 +++-- lib/tests/plan-challenger.test.sh | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/agents/plan-challenger.md b/agents/plan-challenger.md index e5c0fda..d4ef552 100644 --- a/agents/plan-challenger.md +++ b/agents/plan-challenger.md @@ -79,8 +79,9 @@ PROOF: read files, inspected , checked plan §<…> - Report-only. Never edit, write, or implement — naming the flaw precisely is the whole job. -- No invention. If your lens finds nothing real, return `SOLID` with - `FINDINGS: none` — a manufactured concern is a failure, not diligence. +- No invention — ungrounded is noise. Silently dropping a grounded doubt is + equally a failure: file it as `[MINOR]` with the uncertainty stated in + `WHY:`. Nothing real at all → `SOLID` with `FINDINGS: none`. - `PROOF` is MANDATORY. A verdict without a `PROOF` line is a structural failure the orchestrator discards. - Stay in your lens. A finding outside it belongs to another challenger. diff --git a/lib/tests/plan-challenger.test.sh b/lib/tests/plan-challenger.test.sh index fa70adc..9733f4f 100644 --- a/lib/tests/plan-challenger.test.sh +++ b/lib/tests/plan-challenger.test.sh @@ -24,6 +24,7 @@ has "$A" "correctness" has "$A" "robustness" has "$A" "simplicity" has "$A" "Report-only" +has "$A" "grounded doubt" # uncertain findings → [MINOR], not self-censored (Opus 5 literalism) # 2) reusable phase — the mechanism lives here (one canonical include) has "$L" 'subagent_type="plan-challenger"'