Repository navigation
Unblock auto-release on handled duplicate-import dogfood errors - #493
Conversation
Keep the Sentry reliability gate strict for unhandled failures while recognizing the intentional merge-strategy=fail duplicate-import refusal emitted by package dogfood. Add a TDD regression covering both handled and unhandled variants, record complete pm incident evidence and lineage, and regenerate CHANGELOG.md with pm-changelog 2026.7.8.
|
Warning Review limit reached
Next review available in: 9 seconds Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@greptileai please review the current head. /gemini review @coderabbitai full review |
|
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 20 minutes. |
|
Bot feedback acknowledgment: CodeRabbit comments 4933677642/4933679585 were read and rated; the service is rate-limited for about 20 minutes, so I will retrigger and wait rather than bypass its review. Sourcery review 4669963875 was also read; it is blocked by its weekly diff-character quota and GitHub exposes no review-body reaction endpoint. No code finding was reported by either service. |
There was a problem hiding this comment.
Code Review
This pull request addresses an issue where the Sentry release gate misclassified handled duplicate-import refusals as blocking runtime errors. To resolve this, the pattern 'merge-strategy "fail": bead' was added to the list of known expected handled CLI issues in sentry-telemetry-gate.mjs. Additionally, a unit test was introduced to verify that handled duplicate-import refusals are correctly ignored while unhandled variants continue to block. Issue history, metadata, and changelog files were also updated accordingly. There are no review comments, so I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Code Review
This pull request addresses an issue where the Sentry release gate misclassifies handled duplicate-import refusals as blocking runtime errors. It updates scripts/release/sentry-telemetry-gate.mjs to include the 'merge-strategy "fail": bead' pattern in the list of known expected handled CLI issues. Additionally, a unit test has been added to verify that handled duplicate-import refusals are ignored while unhandled equivalents remain blocking. Relevant issue tracking files and the changelog have also been updated. There are no review comments, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Greptile SummaryThis PR updates the release gate to ignore one expected handled duplicate-import error while keeping unhandled errors blocking. The main changes are:
Confidence Score: 5/5Safe to merge with minimal risk. The functional change is a single narrow classifier string protected by the existing No files require special attention.
What T-Rex did
Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant Gate as sentry-telemetry-gate
participant Sentry as Sentry issues API
participant Classifier as Expected-handled classifier
participant Threshold as Release threshold
Gate->>Sentry: Fetch unresolved fatal/error issues
Sentry-->>Gate: Return issue list
Gate->>Classifier: Partition each issue by logger/type/isUnhandled/text
alt "CommandError/PmCliError and isUnhandled=false and duplicate-import text"
Classifier-->>Gate: ignored_expected_handled
else "isUnhandled=true or non-matching issue"
Classifier-->>Gate: relevant blocking issue
end
Gate->>Threshold: Tally critical/high relevant issues
Threshold-->>Gate: Pass/fail release gate
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant Gate as sentry-telemetry-gate
participant Sentry as Sentry issues API
participant Classifier as Expected-handled classifier
participant Threshold as Release threshold
Gate->>Sentry: Fetch unresolved fatal/error issues
Sentry-->>Gate: Return issue list
Gate->>Classifier: Partition each issue by logger/type/isUnhandled/text
alt "CommandError/PmCliError and isUnhandled=false and duplicate-import text"
Classifier-->>Gate: ignored_expected_handled
else "isUnhandled=true or non-matching issue"
Classifier-->>Gate: relevant blocking issue
end
Gate->>Threshold: Tally critical/high relevant issues
Threshold-->>Gate: Pass/fail release gate
Reviews (2): Last reviewed commit: "fix(release): classify handled duplicate..." | Re-trigger Greptile |
|
Review acknowledgment: Greptile comments 4933694213 and 4933697055 were both read and upvoted; both independently returned confidence 5/5, executed the 49-test focused suite, and confirmed the unhandled twin remains blocking. Gemini reviews 4669970059 and 4669978773 were both read; each reports no review comments or additional feedback on current head bb50814. GitHub does not expose reactions for review bodies, so this explicit acknowledgment records both reviews. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
@coderabbitai full review |
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 11 seconds. |
|
CodeRabbit full-review acknowledgment: comment 4933831405 was read and upvoted. The fresh full review finished on unchanged head bb50814 after the quota window reopened and produced no inline finding or review-requested change. |
|
Codecov acknowledgment: comment 4933735845 was read and upvoted. It confirms every modified coverable line is tested and all tests passed on current head bb50814. |
Outcome
Unblocks the 2026-07-10 daily Auto Release without weakening Sentry reliability enforcement. The package import dogfood intentionally exercises
merge-strategy=failtwice; its handled, pre-write duplicate refusal is now classified as expected, while anisUnhandled=truetwin with identical text remains blocking.Changes
CommandErrorclassifier for duplicate-import refusalspm-io4twith full files, test, result, live-ops, dependency, note, and learning evidenceCHANGELOG.mdwith latestpm-changelog2026.7.8Verification
PM-CLI-1Xexpected-handledIncident lineage
pm-io4tpm-yohxSummary by cubic
Unblocks the 2026-07-10 auto-release by teaching the Sentry gate to treat the intentional, handled duplicate-import error from the package dogfood as expected. Unhandled errors with the same message remain blocking.
CommandErrorfor duplicate-import (merge-strategy "fail": bead ...) as expected inscripts/release/sentry-telemetry-gate.mjs.CHANGELOG.mdwithpm-changelog2026.7.8 and record incidentpm-io4t.Written for commit bb50814. Summary will update on new commits.