Commit d08d61f
feat(reviewer): ground on the per-cycle worktree, not a stale sibling checkout (#120)
The reviewer grounded citations on $PDCA_TARGET = the human's sibling working checkout,
which can lag origin/<base> (→ a false-blocking "patch cannot apply" C4, although the
patch applied cleanly to the base the gates actually used) or be sandbox-unreadable
(→ no target grounding). The gates and builder already run off a fresh per-cycle
worktree pinned to origin/<base>; the reviewer didn't.
Make _reviewer_target prefer the per-cycle worktree (#94) — it is fetched + pinned to
<base_remote>/<base> and carries the patch, so the reviewer grounds on the SAME base the
gates ran against. When worktree isolation is off / the target isn't a git checkout, fall
back to the sibling checkout but `git fetch` it first so a lagging sibling can't drift the
grounding — refs only, NEVER reset/checkout the human's working tree. Both the main
reviewer and the advisory leaves (#64) route through _reviewer_target, so both are fixed.
Tests (ReviewerTargetAccess): prefers the worktree when present; the sibling fallback
fetches without mutating the working tree (real git — uncommitted + untracked work
preserved). Full offline suite: 197 OK.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Eduard Ralph <15236434+eduralph@users.noreply.github.com>1 parent 4228b3b commit d08d61f
2 files changed
Lines changed: 52 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
389 | | - | |
| 389 | + | |
390 | 390 | | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
396 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
397 | 404 | | |
398 | 405 | | |
399 | 406 | | |
400 | 407 | | |
401 | 408 | | |
402 | 409 | | |
403 | | - | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
404 | 417 | | |
405 | 418 | | |
406 | 419 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
256 | 257 | | |
257 | 258 | | |
258 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
259 | 291 | | |
260 | 292 | | |
261 | 293 | | |
| |||
0 commit comments