From d4e7e5fc9c704b75506bf3fffa7670abcbacaf62 Mon Sep 17 00:00:00 2001 From: fullsend-code <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:49:54 +0000 Subject: [PATCH 1/2] fix(#369): cap evidence issues at 5 per parent Add an evidence issue cap to the retro-analysis skill. Before filing an evidence proposal for a parent issue, the agent now queries the count of open evidence issues with matching titles. If the count is >= 5, the agent skips filing and notes the data point in its summary comment instead. This prevents unbounded evidence accumulation for well-documented patterns, reducing noise in the issue tracker without losing information. Closes #369 --- .../skills/retro-analysis/SKILL.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md b/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md index da1f54943a..1ed398bd29 100644 --- a/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md +++ b/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md @@ -123,6 +123,54 @@ Use multiple searches with different keyword combinations if the first returns n When skipping, note the duplicate in your `summary` field so the human understands what was filtered and why. +### Evidence issue cap + +When a proposal adds evidence to an existing parent issue (i.e., the +proposal title follows the pattern `Evidence for #N`), check how many +open evidence issues already exist for that parent before filing. + +Dispatch a subagent to count existing evidence issues: + +```bash +gh api "search/issues?q=repo:+is:issue+is:open+in:title+%22Evidence+for+%23N%22&per_page=1" \ + --jq '.total_count' +``` + +Replace `` with the proposal's target repository and `N` +with the parent issue number. + +If the count query fails, returns a non-numeric result, or the +subagent errors out, treat the count as >= 5 (fail closed) and skip +the evidence proposal. Do not file evidence when the cap cannot be +verified. + +**If the count is >= 5:** + +1. **Skip the evidence proposal entirely.** Do not include it in the + `proposals` array. +2. **Note the cap in your summary.** Mention that the pattern is + already well-documented with sufficient data points. Include the + parent issue number and the current PR/issue as an additional data + point so the information is not lost — it just does not warrant a + new issue. + +Example summary note: + +> Pattern for #N is well-documented (≥5 evidence issues). This +> PR adds another data point but does not warrant a new evidence +> issue. + +**If the count is < 5:** proceed with filing the evidence proposal +normally. + +Only open evidence issues count toward the cap — closed issues do not. + +**Concurrency note:** Two retro runs triggered by different PRs can +both query the count before either files, causing both to see the same +value and potentially exceeding the cap by one. This is an accepted +limitation — the concurrency group in `retro.yml` limits the window, +and a brief overshoot does not meaningfully harm the issue tracker. + ## Localization guidance When deciding where a proposed change belongs: From ca9ed3c559047f687086f15d41f9115f95c91505 Mon Sep 17 00:00:00 2001 From: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:48:59 +0000 Subject: [PATCH 2/2] fix: address review feedback on PR #417 - Remove incorrect concurrency group claim in evidence cap section; retro.yml groups are per-PR, not per-parent-issue - Document the Evidence for #N title convention explicitly - Reformat gh api code block to match existing continuation-line style Addresses review feedback on #417 --- .../skills/retro-analysis/SKILL.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md b/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md index 1ed398bd29..1632bbf1b5 100644 --- a/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md +++ b/internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md @@ -125,14 +125,19 @@ When skipping, note the duplicate in your `summary` field so the human understan ### Evidence issue cap -When a proposal adds evidence to an existing parent issue (i.e., the -proposal title follows the pattern `Evidence for #N`), check how many -open evidence issues already exist for that parent before filing. +Evidence proposals use the title format `Evidence for #N` (where `N` is +the parent issue number). This convention is how the retro agent links +data points back to a systemic issue — always use this exact format +when filing evidence. + +Before filing an evidence proposal, check how many open evidence issues +already exist for that parent. Dispatch a subagent to count existing evidence issues: ```bash -gh api "search/issues?q=repo:+is:issue+is:open+in:title+%22Evidence+for+%23N%22&per_page=1" \ +gh api \ + "search/issues?q=repo:+is:issue+is:open+in:title+%22Evidence+for+%23N%22&per_page=1" \ --jq '.total_count' ``` @@ -168,8 +173,8 @@ Only open evidence issues count toward the cap — closed issues do not. **Concurrency note:** Two retro runs triggered by different PRs can both query the count before either files, causing both to see the same value and potentially exceeding the cap by one. This is an accepted -limitation — the concurrency group in `retro.yml` limits the window, -and a brief overshoot does not meaningfully harm the issue tracker. +limitation — the cap is advisory and a brief overshoot does not +meaningfully harm the issue tracker. ## Localization guidance