fix: filter epic sync issues by label (#3089)

github-coordination sync listed every repo issue and pushed the epic label onto all of them (#3084). Scope the listing to issues carrying the policy's epic label plus issues whose body still holds the coordination marker (label-drift recovery), deduped by number, and reject an empty labels.epic in loadPolicy. Tests cover the filtered path and the recovery path with exact gh argv. Independent exact-head review passed with no P0/P1; CI 44/44 at the head.
This commit is contained in:
Wu Shuwen
2026-09-12 01:46:04 +01:00
committed by GitHub
parent c9148d0bb2
commit 3033436dcc
5 changed files with 116 additions and 4 deletions
+5 -2
View File
@@ -102,7 +102,7 @@ function listIssues(repo, options = {}) {
const { owner, name } = normalizeRepo(repo);
const limit = Number.isFinite(options.limit) ? options.limit : 100;
const state = options.state || 'all';
return runGhJson([
const args = [
'issue',
'list',
'--repo',
@@ -111,9 +111,12 @@ function listIssues(repo, options = {}) {
state,
'--limit',
String(limit),
...(options.label ? ['--label', options.label] : []),
...(options.search ? ['--search', options.search] : []),
'--json',
'number,title,body,url,state,labels,author,updatedAt,assignees',
], options) || [];
];
return runGhJson(args, options) || [];
}
function editIssue(repo, issueNumber, options = {}) {