Repository navigation
Distinguish thread listing failures from exhausted history - #51602
Merged
copyberry[bot] merged 1 commit intoOct 7, 2026
Conversation
## Why DB-only listing and pagination failures must not look like exhausted history. This hardens the DB-only listing added in #18502 and page refilling added in #7509. ## What changed - Return JSON-RPC error `-32603` when `useStateDbOnly: true` cannot query the local state database, including requests with an empty `cwd` array. - Track all cursors encountered while filling a page and return `-32603` for repeated cursors, including on full pages. - Document that callers can retry these errors; a successful response with `nextCursor: null` still indicates exhaustion. Default scan-and-repair requests retain their filesystem fallback. ## Testing Add regression tests for missing or mismatched state databases versus healthy empty history, with active and archived listings and null or empty `cwd` filters. Cover repeated cursors during page refilling and on full pages using the in-memory thread store. GitOrigin-RevId: 09653a84fc65f47316d8bbae9e4cf3dd8ce9948a
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/09653a84fc65f47316d8bbae9e4cf3dd8ce9948a
branch
from
October 7, 2026 06:34
51d1240 to
406eb53
Compare
Contributor
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/09653a84fc65f47316d8bbae9e4cf3dd8ce9948a
branch
October 7, 2026 06:34
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Distinguish thread listing failures from exhausted history
Why
DB-only listing and pagination failures must not look like exhausted history. This hardens the DB-only listing added in #18502 and page refilling added in #7509.
What changed
-32603whenuseStateDbOnly: truecannot query the local state database, including requests with an emptycwdarray.-32603for repeated cursors, including on full pages.nextCursor: nullstill indicates exhaustion. Default scan-and-repair requests retain their filesystem fallback.Testing
Add regression tests for missing or mismatched state databases versus healthy empty history, with active and archived listings and null or empty
cwdfilters. Cover repeated cursors during page refilling and on full pages using the in-memory thread store.