fix(observability): stop two Sentry noise sources — benign update-branch 422 and reconciler success logs#8276
Merged
Conversation
The readiness check can act on a stale/cached mergeable_state "behind" read: by the time update-branch fires, the head already contains every base commit and GitHub rejects with 422 "There are no new commits on the base branch." Nothing is stuck — the caller already falls through to reviewing the current head — but the failure was captured as agent_action_execution_failed and paged Sentry on every occurrence. Give it the same audit-only carve-out the merge-conflict shape of this action class already has. Fixes LOOPOVER-24
A successful reconciliation self-heal is the feature working, but the per-row log carried level:error, so the structured-log forwarder shipped every healed row to Sentry — 547 error events in one day while the reconciler drained the historical backlog, fingerprint-collapsed into a single escalating issue. warn keeps the row visible in stdout / Workers Logs and sits below the default SENTRY_MIN_SEVERITY of error; the row_error and scan-error paths stay at error, since a FAILED heal is still an anomaly. Fixes LOOPOVER-2K
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8276 +/- ##
==========================================
- Coverage 92.16% 91.64% -0.53%
==========================================
Files 786 786
Lines 78941 78943 +2
Branches 23840 23842 +2
==========================================
- Hits 72757 72344 -413
- Misses 5062 5524 +462
+ Partials 1122 1075 -47
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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
update_branchfired off a stale/cachedmergeable_state: behindread can hit GitHub's 422 "There are no new commits on the base branch." — the head was already up to date, nothing is stuck, and the caller (prReadyForReview/forceUpdateBranch) already falls through to reviewing the current head. It was still captured asagent_action_execution_failedand paged Sentry (21 events/week). NewisNoNewBaseCommitsMessagepredicate insrc/services/merge-failure.ts+ an audit-only carve-out in the executor, mirroring the existing merge-conflict carve-out for this action class.level:error, so the structured-log forwarder shipped each healed row to Sentry — 547 error events in a day (one per healed row, fingerprint-collapsed into a single "escalating" issue) while it drained the historical backlog. Downgraded toconsole.warn/level:"warn", which stays in stdout/Workers Logs but sits below the defaultSENTRY_MIN_SEVERITYoferror. Therow_error/scan-error paths stay aterror— a failed heal is still an anomaly.Maintainer PR; no linked contributor issue (Sentry issue refs
Fixes LOOPOVER-24/Fixes LOOPOVER-2Kare in the commit messages and auto-resolve on merge).Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally — both sides of every new branch are exercised by the new tests (predicate match/non-match; carve-out taken/not-taken; warn-level log asserted present and error-level asserted absent)npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
npm run test:cifirst pass hit 4 pre-existing 15s-timeout flakes in untouched files (api.test.ts,miner-package-skeleton,satisfaction-floor-loosening-run) caused by concurrent local load; all 4 pass on re-run. A clean full re-run is in flight locally; CI here is authoritative.Safety
Notes
test/unit/merge-failure.test.ts(predicate both sides),test/unit/agent-action-executor.test.ts(422 shape does not page Sentry; non-matching failures still do),test/unit/active-review-reconciliation.test.ts(success log is warn-level and absent from console.error).