Skip to content

fix(review): ci_stuck_review_repeat_suppressed logs itself as an error on every suppression (650 Sentry events) #4998

Description

@JSONbored

Summary

The ci_stuck_review_repeat_suppressed log line — which exists specifically to announce "I am suppressing a repeat notification so we don't spam this PR again" — itself fires as a Sentry console.error on every single suppression. One stuck PR generated 650 Sentry events over 4 days.

Evidence (Sentry)

GITTENSORY-1Fci_stuck_review_repeat_suppressed: (JSONbored/awesome-claude#4816) headSha=5bc1033f92c30f5734c9631f71851ee6350edaa9. 649-650 events, first seen 2026-07-06, last seen 2026-07-10, substatus escalating. Every event carries the same pullNumber: 4816, repo: JSONbored/awesome-claude, headSha.

Root cause (Sentry Seer — straightforward, matches the evidence)

Seer's summary: "Rate-limit the ci_stuck_review_repeat_suppressed console.error to emit at most once per headSha per day, eliminating repeated Sentry noise from the same stuck PR." This matches the evidence directly — the suppression logic (#orb-ci-stuck-repeat) is correctly preventing repeat PR-facing noise, but the observability side of it was never given the same treatment.

Requirements

  1. Rate-limit this specific log line to at most once per (repo, pullNumber, headSha) per day (or similar bound) — don't change the underlying suppression behavior itself, only the logging frequency.
  2. While in this code: separately investigate why PR fix(review): never let an inconclusive linked-issue recheck downgrade a propagated label #4816 on awesome-claude has been stuck on the same head SHA for 4+ days without resolving — that's the real underlying condition this log line exists to flag, and it's still unresolved.

Deliverables

  • Rate-limited log line with a test proving repeat suppressions within the window don't re-log.
  • A finding (in the PR description, not necessarily a code change) on what's actually wrong with awesome-claude#4816.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions