Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
dff2b78
feat(review): content-anchored incremental rounds for the local revie…
wenshao Aug 21, 2026
8c1330a
feat(review): transfer per-file content verdicts across rebases
wenshao Aug 21, 2026
ee54f8b
fix(review): close nine Criticals, most of them my own last round's
wenshao Aug 21, 2026
b3cc1ca
fix(review): carry `source` through promotion, and sweep C1 too
wenshao Aug 21, 2026
0810d06
fix(review): close round 2 — the cache rename's fallout, and the stop…
wenshao Aug 22, 2026
53bfe15
fix(review): give inertText the full class its own rule sweeps
wenshao Aug 22, 2026
91d93cb
fix(review): close round 3 — the cache records the gate's identity, a…
github-actions[bot] Aug 22, 2026
87b769b
fix(review): close round 4 — the named-path flow's six dead ends
github-actions[bot] Aug 22, 2026
f0bdf53
fix(review): one control class, used by both the test and the escape
wenshao Aug 22, 2026
c661806
fix(review): close round 5 — including a gate of mine that could neve…
wenshao Aug 22, 2026
357db85
merge: keep both path tests, and the completed fail-closed list
wenshao Aug 22, 2026
feb55b5
fix(review): close round 6 — the five Criticals the re-read of HEAD s…
github-actions[bot] Aug 22, 2026
b295232
fix(review): close round 7 — and stop enumerating the fail-closed list
wenshao Aug 23, 2026
ecf5fea
merge: keep both sets of SKILL guards
wenshao Aug 23, 2026
2d7d49a
fix(review): record the rendering the reviewer gets, not the tree's
wenshao Aug 23, 2026
a2d46ec
merge: carry the positive fail-closed rule into the cache-commit para…
wenshao Aug 23, 2026
af708af
fix(review): close round 8 — the four shapes the last fixes left open
wenshao Aug 23, 2026
575d136
fix(review): close round 9 — date a stop's blockers; key the local ca…
wenshao Aug 23, 2026
8192762
fix(review): close round 10 — date each stop blocker against its own …
wenshao Aug 23, 2026
9b89827
merge: take the base's one-definition fail-closed rule, drop my copy …
wenshao Aug 23, 2026
518080c
fix(review): make the attrs component work, and stop the allowlist dr…
wenshao Aug 23, 2026
df533ff
fix(review): close round 11 — date blockers on bytes; certify vanishe…
wenshao Aug 23, 2026
3b916d6
fix(review): close round 12 — attribute landed fixes, date by regime,…
github-actions[bot] Aug 24, 2026
4142065
Merge origin/main into review-incremental-anchor
wenshao Aug 24, 2026
39ca812
Merge review/local-content-anchor into review/rebase-surviving-verdicts
wenshao Aug 24, 2026
e6aa683
fix(review): close round 13 — pay the isolation test's import cost at…
github-actions[bot] Aug 24, 2026
99fff42
Merge branch 'review/local-content-anchor' of https://github.com/Qwen…
qwen-code-dev-bot Aug 24, 2026
1f0fb94
refactor(review): drop the stop-round blocker-dating chain
wenshao Aug 24, 2026
7774eb3
Merge remote round-12/13 autofix commits, keeping the chain deleted
wenshao Aug 24, 2026
6ae23b4
Merge review/local-content-anchor: blocker-dating chain removed
wenshao Aug 24, 2026
b13eb13
Merge remote-tracking branch 'origin/main' into p1
wenshao Aug 24, 2026
d3a2331
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 24, 2026
4a24ca5
fix(review): close round 14 — certify what git diff cannot see, split…
github-actions[bot] Aug 24, 2026
5dba419
fix(review): close round 15 — withhold the candidate under visibility…
github-actions[bot] Aug 25, 2026
dc74e83
fix(review): close round 15 review — bracket the visibility oracle, g…
wenshao Aug 25, 2026
f49f82e
Merge review/local-content-anchor: round-15 review fixes
wenshao Aug 25, 2026
c723d5f
fix(review): close round 16 — withhold the incremental stops under --…
github-actions[bot] Aug 25, 2026
9273aa1
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
af521c5
fix(review): gate decided stops on a composed re-rule verdict (#9941)
wenshao Aug 25, 2026
0d11241
Revert "fix(review): gate decided stops on a composed re-rule verdict…
wenshao Aug 25, 2026
2f050a6
Merge remote-tracking branch 'origin/main' into p1
wenshao Aug 25, 2026
ec0d937
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
0cf1b07
fix(cli): drop duplicate getCurrentCustomTitle key that breaks npm ci
wenshao Aug 25, 2026
2ba8fe7
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
8b81762
fix(cli): drop the second duplicate key too (getSessionDisplayName)
wenshao Aug 25, 2026
a7b28bb
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
2e03ecd
Merge branch 'main' into review/local-content-anchor
qwen-code-dev-bot Aug 25, 2026
9443811
test(review): pin the visibility oracle's sample count
wenshao Aug 25, 2026
d04a69d
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
49c2db3
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
6abc9af
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 25, 2026
79dfd58
fix(review): close round 17 — restore the merged-away fake, publish t…
wenshao Aug 26, 2026
09403b3
Merge review/local-content-anchor: round-17 fixes
wenshao Aug 26, 2026
eef3c34
fix(review): close round 18 — ask git for the cone, make the cap idem…
wenshao Aug 26, 2026
e8d8ade
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 26, 2026
0f70270
fix(review): close round 19 — only ENOENT is absence, undecodable is …
wenshao Aug 26, 2026
729f57f
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 26, 2026
518d26f
fix(review): close round 20 — bool-typed fileMode, no directory in th…
wenshao Aug 26, 2026
6fdbac2
Merge review/local-content-anchor: round-20 fixes
wenshao Aug 26, 2026
146ab25
fix(review): close round 21 — measure the pointer, ride the skipped l…
wenshao Aug 27, 2026
ac97e65
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 27, 2026
60bb3ce
fix(review): close round 22 — a gitlink's identity is real, on both s…
wenshao Aug 27, 2026
45be1ac
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 27, 2026
e94892e
Merge remote-tracking branch 'origin/main' into p1
wenshao Aug 27, 2026
f1d9c62
fix(review): close round 23 — withhold over the dropped-out set, excl…
wenshao Aug 27, 2026
af381ed
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 27, 2026
3847817
test(review): adapt the withheld-candidate pin to this branch's contract
wenshao Aug 27, 2026
f425a8c
fix(review): keep this run's stop sidecar across its own cleanup
wenshao Aug 27, 2026
e9a7dfd
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 27, 2026
917e1d4
Merge remote-tracking branch 'origin/main' into p1
wenshao Aug 27, 2026
3e3c800
Merge remote-tracking branch 'origin/review/local-content-anchor' int…
wenshao Aug 27, 2026
348528b
Merge main after #9659's squash landed
wenshao Aug 27, 2026
51fa283
Merge remote-tracking branch 'origin/main' into review/rebase-survivi…
wenshao Aug 29, 2026
7f27178
Merge branch 'main' into review/rebase-surviving-verdicts
wenshao Aug 30, 2026
a47be01
Merge branch 'main' into review/rebase-surviving-verdicts
wenshao Aug 31, 2026
95efd93
Merge branch 'main' into review/rebase-surviving-verdicts
wenshao Sep 3, 2026
f9342ff
fix(review): keep unlinkSync imported after merging main
wenshao Sep 3, 2026
5267817
fix(review): drop two eslint-disable directives the rules no longer flag
wenshao Sep 3, 2026
dad260d
fix(review): sweep the whole promoted cache for control characters
wenshao Sep 3, 2026
1918ddf
fix(review): never transfer a verdict over an UNHASHABLE rendering
wenshao Sep 3, 2026
e3391f3
fix(review): guard the withheld candidate's removal like its write
wenshao Sep 3, 2026
73f7929
fix(review): say a failed blob-pair listing out loud in fetch-pr
wenshao Sep 3, 2026
b961b4d
docs(review): scope the candidate stateId check to local rounds
wenshao Sep 3, 2026
3653b52
docs(review): state the verdict identity's rendering contract
wenshao Sep 3, 2026
c652a92
Merge branch 'main' into review/rebase-surviving-verdicts
wenshao Sep 4, 2026
77b1acf
fix(review): refuse a redirected .qwen/tmp at a round's first write
wenshao Sep 6, 2026
56357a7
fix(review): withhold the cache candidate when no identity is published
wenshao Sep 6, 2026
c339154
feat(review): bind cache-commit's promotion to the plan's stateId
wenshao Sep 6, 2026
4336524
docs(review): close the same-target concurrency window in Step 8
wenshao Sep 6, 2026
7a6a4b9
Merge branch 'main' into review/rebase-surviving-verdicts
wenshao Sep 21, 2026
c5e757a
fix(review): import atomicWriteFileSync from its core module in cache…
wenshao Sep 21, 2026
d1cc8bf
fix(review): run fetch-pr's scratch guard after the launch-directory …
wenshao Sep 21, 2026
49e898a
fix(review): print the scratch-directory refusal under one command pr…
wenshao Sep 21, 2026
ad90c4d
test(review): reconcile the guard's tests with what main added
wenshao Sep 21, 2026
1b10d44
Merge remote-tracking branch 'origin/main' into review/rebase-survivi…
Sep 24, 2026
2e674bd
fix(review): refuse a round-owned symlink under .qwen/tmp on disk, tr…
Sep 24, 2026
2467d8e
fix(review): refuse to resume a round under another model identity
Sep 24, 2026
f4468ad
fix(review): persist the local findings ledger on a fresh checkout an…
Sep 24, 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
1 change: 1 addition & 0 deletions packages/cli/src/commands/review.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ describe('reviewCommand', () => {
'fetch-pr',
'capture-local',
'plan-diff',
'cache-commit',
'repo-context',
'pr-context',
'comment-status',
Expand Down
4 changes: 3 additions & 1 deletion packages/cli/src/commands/review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { recoverFindingsCommand } from './review/recover-findings.js';
import { fetchPrCommand } from './review/fetch-pr.js';
import { captureLocalCommand } from './review/capture-local.js';
import { planDiffCommand } from './review/plan-diff.js';
import { cacheCommitCommand } from './review/cache-commit.js';
import { repoContextCommand } from './review/repo-context.js';
import { prContextCommand } from './review/pr-context.js';
import { commentStatusCommand } from './review/comment-status.js';
Expand Down Expand Up @@ -62,6 +63,7 @@ export const reviewCommand: CommandModule = {
.command(fetchPrCommand)
.command(captureLocalCommand)
.command(planDiffCommand)
.command(cacheCommitCommand)
.command(repoContextCommand)
.command(prContextCommand)
.command(commentStatusCommand)
Expand Down Expand Up @@ -90,7 +92,7 @@ export const reviewCommand: CommandModule = {
.command(cleanupCommand)
.demandCommand(
1,
'Specify a subcommand: run, parse-args, match-remote, meta, issue-context, fetch-diff, comment-body, fetch-pr, capture-local, plan-diff, repo-context, pr-context, comment-status, load-rules, agent-prompt, build-test, base-tree, scratch-tree, test-delta, drive, mock-provider, extract-step, script-lint, resolve-anchors, check-coverage, cost-ledger, presubmit, test-efficacy, test-plan, findings, recover-findings, publish-assets, compose-review, save-artifact, submit, or cleanup.',
'Specify a subcommand: run, parse-args, match-remote, meta, issue-context, fetch-diff, comment-body, fetch-pr, capture-local, plan-diff, cache-commit, repo-context, pr-context, comment-status, load-rules, agent-prompt, build-test, base-tree, scratch-tree, test-delta, drive, mock-provider, extract-step, script-lint, resolve-anchors, check-coverage, cost-ledger, presubmit, test-efficacy, test-plan, findings, recover-findings, publish-assets, compose-review, save-artifact, submit, or cleanup.',
)
.version(false),
handler: () => {
Expand Down
5 changes: 3 additions & 2 deletions packages/cli/src/commands/review/agent-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
// remember.

import type { CommandModule } from 'yargs';
import { displayAnchor } from './lib/report.js';
import { createHash } from 'node:crypto';
import { readFileSync } from 'node:fs';
import { dirname, join, resolve } from 'node:path';
Expand Down Expand Up @@ -733,7 +734,7 @@ export function buildChunkAgentPrompt(
const lines = [
'',
`**This is an INCREMENTAL round** — the diff holds only what changed since the ` +
`previous clean review round (anchor \`${inertPath(incremental.anchor.slice(0, 12))}\`), ` +
`previous clean review round (anchor \`${inertPath(displayAnchor(incremental.anchor))}\`), ` +
Comment thread
wenshao marked this conversation as resolved.
Resolved
Comment thread
wenshao marked this conversation as resolved.
Resolved
Comment thread
wenshao marked this conversation as resolved.
Resolved
Comment thread
wenshao marked this conversation as resolved.
Resolved
Comment thread
wenshao marked this conversation as resolved.
Resolved
`plus still-clean files one import hop from a change. Your files' scopes:`,
];
if (deltaHere.length > 0) {
Expand Down Expand Up @@ -1103,7 +1104,7 @@ function diffReadingBlock(
...(incremental
? [
`**Incremental round.** This diff is scoped to what changed since the previous ` +
`clean review round (anchor \`${inertPath(incremental.anchor.slice(0, 12))}\`), plus ` +
`clean review round (anchor \`${inertPath(displayAnchor(incremental.anchor))}\`), plus ` +
`still-clean files one import hop from a change — each of those is in scope ` +
`only for its interaction with what it imports. The rest of the change was ` +
`reviewed clean last round and is deliberately absent; do not go find it. ` +
Expand Down
Loading