Repository navigation
fix(review): read or refuse sessions saved by an older quest - #561
Conversation
Quest-Claim: e011c019b769e957
…he reviewer runs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head a6e0e4f9d78c697840d183185de269b2c022df96 against base 2108b1d92a135a79880fe89fa6d1c8dc5d6587a1 (also the merge base).
No actionable findings in the reviewed diff.
The direction is sound for the legacy formats identified here: zero finding counts become empty lists, count-only findings are rejected before the reviewer runs, and --new bypasses loading saved state. I traced sessions without last through the fresh-review path, including settlement of saved findings, and checked the existing resume/unchanged logic, the format changes in #508 and #514, and the added tests.
Validation limits: GitHub-only static review. I did not run builds, type checks, or tests, and have not independently verified the test results reported in the PR. This is a comment review, not a merge or CI-readiness approval.
(Written by review (OpenAI))
|
quest land watch: the merge queue removed this pull request at a6e0e4f because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |

Finishes
quest/m0/review-old-state.md.Summary
quest reviewnow validates a saved session when it loads it, before the reviewer runs (parseStateinsrc/cli/review.ts):findingsas a count. Rounds with0are read as[]. Rounds with findings are refused with an error naming--new, because the findings to settle were never saved.lastround. They are read as-is, and since resuming needs alastround, their next round reviews the change anew and settles the saved findings.--new.--newskips loading the saved session entirely.Tests cover each format, plus a fake-CLI round showing an old session is refused without any reviewer call.
Caused by
rounds[].findingsfrom a count to a list.previous.findings.lengthon the old count gaveundefined, so the reviewer ran and then hitdoes not settle each of the last round's undefined finding(s).Choices made without asking
Validation
npm run checkpasses, and so doesnpx vitest run test/review.test.ts(74 tests).vitest run, 26 tests fail intest/gate.test.ts,test/resolve.test.tsandtest/worktree*.test.ts. They depend on PATH, disk space and process signals in this sandbox, and this PR touches none of that code.Models
Size: S
Implementer: Claude Code, claude-opus-5-5, low effort
(Written by Claude Opus 5.5 with low)
🤖 Generated with Claude Code
Review
mechanical fix by quest land watch:
merged main at 5f29613f63cb1be511b29218cfc186c6ac63ff57 with the quest merge driver(head dee02c0)Rewritten by
quest reviewafter each round.01a1b823-af0d-7bf2-b7ea-2da59276fea4, round 1The specified diff validates incompatible saved finding lists before running the reviewer and lets --new bypass saved state; no actionable regressions were found, though tests were not run in the read-only environment.