Skip to content

Fix Sentry fingerprinting for 3 fragmented issue groups (analyzer_timeout, AI-review-notes, publish-failed) #5010

Description

@JSONbored

Summary

Three distinct root causes are each currently fragmented across multiple separate Sentry issues, which dilutes their apparent severity (each fragment individually looks small) and defeats "existing issue" alert-trigger logic (each fragment is technically a separate "new" issue the first time it appears).

Evidence

  • "Error: analyzer_timeout" — 3 issues (GITTENSORY-V, 18, 13), same culprit POST /v1/enrich, 21 combined events.
  • "AI review did not produce public notes for the PR head" — 2 issues (GITTENSORY-C, W), same culprit runAiReviewForAdvisory, 434 combined events.
  • "PR public-surface publish failed — review produced output but nothing was posted to the PR" — 2 issues (GITTENSORY-5, 10), two different culprits shown (finishPublicSurfacePublication vs maybePublishPrPublicSurface) — confirm whether these are genuinely the same failure mode from two call sites (in which case still worth a shared fingerprint) or meaningfully different.

Requirements

  1. Find the capture site(s) for each of these three event families (likely all going through the same forwardStructuredLogToSentry-style path, or the analyzer/enrichment service's own exception capture).
  2. Add an explicit Sentry fingerprint at capture time so repeat occurrences of the same underlying condition group into one issue, instead of relying on Sentry's default message-based grouping (which is being defeated by some dynamic value in the message/context).
  3. For the "PR public-surface publish failed" pair specifically: confirm same-vs-different-root-cause before merging the fingerprint — don't force two genuinely distinct bugs into one issue just because the message text matches.
  4. Consider whether Sentry's server-side Fingerprinting Rules (project settings, no code change) are sufficient for these three cases instead of a code-level fingerprint call — cheaper to maintain if so.

Deliverables

  • The 3 groups consolidated (via code-level fingerprint or Sentry fingerprinting rules, whichever is the better fit per group).
  • A brief note confirming whether the "publish failed" pair is one root cause or two.

Part of #5007.

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