Repository navigation
chore(scripts): add ci:digest to summarise failing PR checks for agents - #1568
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
📦 Bundle Size Report
Size Limits
Largest Files (Top 5)
View All Files (291 total)
✅ Bundle size check passed |
Contributor
|
Deploy preview for adp-cost-calculator ready!
Deployed with vercel-action |
…ail when truncating Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
|
Deploy preview for remote-flows ready!
Deployed with vercel-action |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
📊 Coverage Report
|
| Metric | Current | Previous | Change | Status |
|---|---|---|---|---|
| Lines | 89.58% | 89.59% | -0.02% | 🔴 |
| Statements | 89.45% | 89.47% | -0.02% | 🔴 |
| Functions | 88.48% | 88.48% | 0% | ⚪ |
| Branches | 81.21% | 81.24% | -0.02% | 🔴 |
Detailed Breakdown
Lines Coverage
- Covered: 5396 / 6024
- Coverage: 89.58%
- Change: -0.02% (-1 lines)
Statements Coverage
- Covered: 5461 / 6105
- Coverage: 89.45%
- Change: -0.02% (-1 statements)
Functions Coverage
- Covered: 1428 / 1614
- Coverage: 88.48%
- Change: 0% (0 functions)
Branches Coverage
- Covered: 3350 / 4125
- Coverage: 81.21%
- Change: -0.02% (-1 branches)
✅ Coverage check passed
- Treat the Actions '##[error]Process completed with exit code' footer as noise so earlier errors stay in the excerpt. - Stop calling a plain 403 forbidden or a Playwright timeout a flake; only rate-limit/blocked 403s and network resets are. - Add e2e and coverage failure kinds with their own next step instead of always suggesting vitest. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 86b3758. Configure here.
…hold miss Check names like 'Tests with Coverage' always contain 'coverage', so install errors and suite crashes were labelled as threshold misses. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Only call a failure e2e when the log shows 'playwright test' (or the check name says e2e), not on any mention of Playwright. - Reject a non-integer or non-positive --max-lines instead of producing garbage truncation. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jordividaller
approved these changes
Oct 15, 2026
Merged
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Summary
Adds a command that turns a failing PR's CI into a short digest: which checks failed, what kind of failure it is, and the error lines. Agents and humans no longer have to open job logs and scroll through thousands of lines.
Why
Diagnosing a red PR means PR → failed job → raw log. A single failed run can be ~10k lines, mostly test stderr and vitest progress output. A digest is cheaper to read and points at the next step, including "this looks like a flake, rerun it" for the sandbox rate-limit case.
What changed
Toggle details
npm run ci:digest -- [pr-number] [--max-lines=N](scripts/ci-digest.ts) lists failing checks withgh pr checks, pulls each failed job's log withgh run view --job <id> --log-failed, and prints a markdown digest.scripts/ci-digest-utils.tsholds the pure logic: strips timestamps and ANSI codes (including the literal^[[..mform CI logs use), picks error windows (strong markers likeFAIL,##[error],error TS…win over weakError:lines that tests print on purpose), classifies the failure (format,lint,type,test,build,flake,unknown) and suggests the narrowest next command.CLAUDE.mdlists the command so agents and contributors run it before reading raw job logs.Screenshots
N/A
Related Resources
N/A
Testing
scripts/ci-digest-utils.test.ts(parsing, cleaning, windows, classification, rendering).npm run ci:digest -- 1566against a real failing PR.example/app in a browser: N/A🤖 Generated with Claude Code
Note
Low Risk
Dev tooling and docs only; no runtime package or CI workflow changes.
Overview
Adds
npm run ci:digest -- <pr> [--max-lines=N], a dev-only CLI that uses the GitHub CLI to list failing PR checks, pull failed job logs, and print a short markdown digest instead of scrolling multi‑thousand-line Actions output.scripts/ci-digest.tswiresgh pr checksandgh run view --log-failed(current PR if no number is passed).scripts/ci-digest-utils.tsholds the parsing: strip timestamps/ANSI (including^[[caret escapes), extract error windows (strong markers likeFAIL/error TSover noisyError:lines), classify failures (format,lint,type,test,e2e,coverage,build,flake,unknown), and suggest a concrete next command. External checks without Actions logs get a fallback message.scripts/ci-digest-utils.test.tscovers the utilities.CLAUDE.mddocuments running the digest before raw job logs.Reviewed by Cursor Bugbot for commit 5b3d200. Bugbot is set up for automated code reviews on this repo. Configure here.