Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
645931d
fix(triage): make Stage 1-pre subsumption check large-file safe
yiliang114 Aug 28, 2026
314a79b
Merge origin/main into fix/issue-10322-subsumption-size-ceiling
yiliang114 Aug 28, 2026
ba0c72e
fix(triage): wire 1-pre closer resolution same-repo, per-issue, fail-…
yiliang114 Aug 28, 2026
808e5f2
fix(triage): align 1-pre carve-out and close comment with frozen-patc…
yiliang114 Aug 28, 2026
e6b52b2
test(triage): pin 1-pre two-patch mechanism and contents-API prohibition
yiliang114 Aug 28, 2026
b96d667
fix(triage): dedup stage 1-pre closers and judge only fetched patches
yiliang114 Aug 28, 2026
3d3a958
test(triage): pin the closer-repo gate and the closer-side fetch guards
yiliang114 Aug 28, 2026
4533ffd
docs(triage): correct stage 1-pre blast-radius and order claims, pin …
yiliang114 Aug 28, 2026
e9e86fe
fix(triage): count occurrences in subsumption and name a fixed linked…
yiliang114 Aug 28, 2026
753ec77
test(triage): pin occurrence counts, jq wiring, closer-set population
yiliang114 Aug 28, 2026
dc2abaf
fix(triage): enumerate every remaining-delta shape subsumption admits
yiliang114 Aug 29, 2026
92b8ac2
Merge branch 'main' into fix/issue-10322-subsumption-size-ceiling
yiliang114 Aug 30, 2026
631f063
fix(triage): close structural gaps in 1-pre subsumption, route oversi…
yiliang114 Aug 30, 2026
3a64f5c
fix(triage): match covered lines hunk by hunk in 1-pre subsumption
yiliang114 Aug 31, 2026
dd60883
Merge branch 'main' into fix/issue-10322-subsumption-size-ceiling
yiliang114 Sep 1, 2026
1c87ac1
fix(triage): require 1-pre closers to have landed on the default branch
yiliang114 Sep 1, 2026
4cbac99
fix(triage): use raw contents for subsumption
yiliang114 Sep 1, 2026
dda2331
fix(triage): preserve absent-file subsumption
yiliang114 Sep 1, 2026
82ad484
Merge branch 'main' into fix/issue-10322-subsumption-size-ceiling
yiliang114 Sep 2, 2026
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
11 changes: 9 additions & 2 deletions .qwen/skills/triage/references/pr-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,8 +264,15 @@ latest close was manual), treat the closer as unresolved.
- **Fully subsumed** — applying this PR's ENTIRE diff to the default
branch would change nothing: every production line this PR adds already
exists there, AND every production line this PR deletes is already
absent there (check per file via
`gh api "repos/$REPO/contents/<path>?ref=$DEFAULT_BRANCH"`). A diff
absent there. URL-encode the path with
`PATH_ENCODED=$(jq -rn --arg value "<path>" '$value | @uri')`, then read
each file as raw bytes via
`gh api -H "Accept: application/vnd.github.raw+json" --method GET "repos/$REPO/contents/$PATH_ENCODED" -f ref="$DEFAULT_BRANCH"`;
the default JSON representation leaves `content` empty for files at or
above 1 MiB. A 404 from this encoded-path request means the file is absent
— apply the predicates above to that known state. If any other raw fetch fails, subsumption is
unverified: never close; flag it in the Stage 1 comment and escalate to
the maintainer. A diff
with NO production changes (e.g. tests-only) is never fully subsumed —
any file it adds outside the production set is itself a remaining
delta. → post the terminal comment below, then close the PR. This is
Expand Down
12 changes: 12 additions & 0 deletions scripts/tests/qwen-triage-workflow.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7301,6 +7301,18 @@ describe('stage 1-pre duplicate gate', () => {
expect(section).toContain('every production line this PR deletes');
});

it('reads large default-branch files through the raw contents response', () => {
expect(section).toContain(
'gh api -H "Accept: application/vnd.github.raw+json"',
);
expect(section).toContain("'$value | @uri'");
expect(section).toContain('--method GET');
expect(section).toContain('-f ref="$DEFAULT_BRANCH"');
expect(section).toContain('A 404 from this encoded-path request');
expect(section).toContain('unverified: never close');
expect(section).not.toContain('gh pr diff');
});

it('never closes a diff with no production changes', () => {
// Stage 0 exclusions empty the comparison set for tests-only PRs; such a
// diff must be a remaining delta, never "Fully subsumed".
Expand Down
Loading