Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/scripts/agents_verifier_context.js
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,10 @@ async function buildVerifierContext({ github, context, core, ciWorkflows }) {
// Also check for follow-up label on linked issues as a depth-1 indicator
if (chainDepth === 0) {
for (const issue of closingIssues) {
if (issue.labels && issue.labels.some((l) => l.name === 'follow-up')) {
const hasFollowupLabel = issue.labels && issue.labels.some((l) => l.name === 'follow-up');
const hasFollowupTitle = /follow-?up/i.test(String(issue.title || ''));
const hasSourceRef = /source\s+(issue|pr)\s*:\s*#\d+/i.test(String(issue.body || ''));
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hasSourceRef is unlikely to ever match the repo’s existing “Source” markers (e.g. > **Source:** Issue #384), since the regex requires the literal pattern source issue: or source pr:. As a result, this new follow-up detection signal will be ineffective. Consider updating the regex to also match the current **Source:** (Issue|PR) #<n> formatting (and any other formats you expect).

Suggested change
const hasSourceRef = /source\s+(issue|pr)\s*:\s*#\d+/i.test(String(issue.body || ''));
const hasSourceRef =
/(?:source\s+(issue|pr)\s*:\s*#\d+|\*\*source:\*\*\s*(issue|pr)\s*#\d+)/i.test(
String(issue.body || ''),
);

Copilot uses AI. Check for mistakes.
if (hasFollowupLabel || hasFollowupTitle || hasSourceRef) {
chainDepth = Math.max(chainDepth, 1);
}
}
Expand Down
9 changes: 9 additions & 0 deletions scripts/langchain/pr_verifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,15 @@
- At chain depth {depth}, focus strictly on whether THIS iteration resolves
its targeted concerns. Avoid raising new concerns that were not part of
the original feedback.
- Treat the original source issue/PR scope as baseline context that may
already be satisfied by earlier merged work. Do NOT re-grade the full
original issue checklist unless this iteration explicitly reopens it.
- If acceptance criteria require out-of-band GitHub metadata actions
(for example: comments/labels/body updates on already merged PRs/issues),
do not treat missing evidence in THIS diff as a hard completeness failure.
Call these out as "external evidence required" and keep verdict focused on
whether code/disposition artifacts in this iteration address the targeted
verifier concerns.
""".strip()

# File path patterns considered infrastructure/platform rather than application
Expand Down
Loading