Skip to content
Merged
Changes from all commits
Commits
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
7 changes: 6 additions & 1 deletion .github/scripts/ocr-packet-review.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,12 @@ function reviewGroup(plan, group, rulesPath) {
return { ...base, status: 'success', findings: comments.length, comments };
} catch (err) {
const detail = String(err && err.message ? err.message : err).slice(0, 300);
const status = err && err.killed ? 'timeout' : 'error';
// execFileSync surfaces its timeout as code ETIMEDOUT (killed stays false
// 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)));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

const status = timedOut ? 'timeout' : 'error';
return { ...base, status, error: detail };
}
}
Expand Down
Loading