From 9334b8480527438ff41fcbcd5d69ec4567b85f7d Mon Sep 17 00:00:00 2001 From: stranske Date: Tue, 30 Dec 2025 06:59:15 +0000 Subject: [PATCH] fix: improve verifier follow-up issue format 1. Remove confusing 'Satisfy:' prefix from tasks - it's redundant since the task list already implies items need to be completed 2. Filter out markdown section headers (## Related, etc.) that were incorrectly being captured as acceptance criteria 3. Filter out PR/Issue references that look like list items but aren't actual acceptance criteria This makes follow-up issues clearer and removes noise from the task list. --- .github/scripts/verifier_issue_formatter.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/scripts/verifier_issue_formatter.js b/.github/scripts/verifier_issue_formatter.js index 109e64eeb..086492371 100644 --- a/.github/scripts/verifier_issue_formatter.js +++ b/.github/scripts/verifier_issue_formatter.js @@ -183,7 +183,16 @@ function extractUncheckedItems(content) { // Match unchecked boxes: - [ ] or * [ ] const match = line.match(/^\s*[-*]\s+\[\s\]\s+(.+)$/); if (match) { - items.push(match[1].trim()); + const text = match[1].trim(); + // Skip markdown section headers that were incorrectly captured as criteria + if (text.startsWith('#') || text.startsWith('##')) { + continue; + } + // Skip items that look like markdown links to sections (e.g., "- PR #123") + if (/^[-–]\s*(PR|Issue)\s*#\d+/i.test(text)) { + continue; + } + items.push(text); } } @@ -352,11 +361,11 @@ function formatFollowUpIssue({ if (findings.gaps.length > 0) { newTasks = findings.gaps.map((gap) => `Address: ${gap}`); } else if (findings.unmetCriteria.length > 0) { - // Use verifier's specific unmet criteria - newTasks = findings.unmetCriteria.map((criterion) => `Satisfy: ${criterion}`); + // Use verifier's specific unmet criteria (no prefix - it's clear these need work) + newTasks = findings.unmetCriteria; } else { // Fall back to creating tasks from unmet acceptance criteria - newTasks = refinedUnmetCriteria.map((criterion) => `Satisfy: ${criterion}`); + newTasks = refinedUnmetCriteria; } }