fix(ocr): classify packet budget exhaustion as timeout - #2221
Conversation
execFileSync reports its own timeout as code ETIMEDOUT with killed=false on Linux — observed live on PR #2219 (group Compiler/Proofs/ExecutionSummary.lean after the 13-minute ceiling). Label it timeout so the uncovered-packets list points at OCR_PACKET_TIMEOUT_MINUTES instead of implying a reviewer crash.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_3d3c5d92-32c1-4833-a446-e47d41181c9a) |
There was a problem hiding this comment.
OpenCodeReview first-pass review
🟢 No findings from the OCR first pass. Advisory only.
No comments generated. Looks good to me.
OCR pilot metrics & packet coverage
OCR pilot metrics
- Routing: config-docs (router-v10)
- Changed files: 1 supported / 1 total; Lean 0, trust docs 0, workflow/scripts 1, contracts 0, docs 0
- Changed lines: 7 supported; thresholds large Lean >=3 files or >800 lines
- OCR: status success; comments 0; files 1; tokens 9677; tool calls 1; warnings 0; duration 30s
- Largest changed files: .github/scripts/ocr-packet-review.js (+6/-1)
Pilot mode: advisory only. Codex Review remains the merge gate.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e45bfe83b8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // on some platforms) — observed live on PR #2219 group 2. Label budget | ||
| // exhaustion as timeout so the summary suggests raising | ||
| // OCR_PACKET_TIMEOUT_MINUTES rather than implying a crash. | ||
| const timedOut = Boolean(err && (err.killed || err.code === 'ETIMEDOUT' || /ETIMEDOUT/.test(detail))); |
There was a problem hiding this comment.
Surface the packet-timeout setting in the summary
When the node-side ceiling is hit in the large-Lean workflow, this branch only stores status: 'timeout'; buildReviewBody() in .github/scripts/post-ocr-review.js lines 405-410 renders that literal status and the first error line without mapping it to OCR_PACKET_TIMEOUT_MINUTES. The uncovered-packet list therefore still shows only something like timeout (spawnSync ocr ETIMEDOUT) and does not tell the operator which setting to raise, despite this change's stated remediation; include that guidance in the propagated error or in the renderer's timeout case.
Useful? React with 👍 / 👎.
One-word status fix observed during live validation of #2220 on PR #2219:
spawnSync ocr ETIMEDOUT(node-side budget ceiling, killed=false on Linux) was labelederror; it is atimeout, and the uncovered-packets list should point readers atOCR_PACKET_TIMEOUT_MINUTES.Note
Low Risk
Single-branch status labeling in CI packet review; no auth, data, or production runtime impact.
Overview
Packet review now treats Node
execFileSyncbudget hits (ETIMEDOUT, including whenkilledis false on Linux) astimeoutinstead oferror.That status flows into
packet_semanticper-group results and the uncovered-packets summary, so operators see a time-budget miss and are nudged towardOCR_PACKET_TIMEOUT_MINUTESrather than a generic crash.Reviewed by Cursor Bugbot for commit e45bfe8. Bugbot is set up for automated code reviews on this repo. Configure here.