Skip to content

fix(alertmanager): keep severity=none alerts non-actionable - #1539

Open
allyblockcast[bot] wants to merge 1 commit into
masterfrom
fix/watchdog-terminal-severity
Open

fix(alertmanager): keep severity=none alerts non-actionable#1539
allyblockcast[bot] wants to merge 1 commit into
masterfrom
fix/watchdog-terminal-severity

Conversation

@allyblockcast

@allyblockcast allyblockcast Bot commented Aug 29, 2026

Copy link
Copy Markdown

Summary

Paperclip issue: https://paperclip.blockcast.net/BLO/issues/BLO-24177

  • Retain severity=none delivery evidence as done and unassigned.
  • Recover and refresh the same terminal row after state loss.
  • Clear escalation metadata and bypass owner/route resolution for terminal severities.
  • Add regression coverage for creation and state-loss recovery.

Verification

  • git diff --check clean.
  • Focused typecheck could not run in the fresh clone because dependencies are not installed (tsc: not found).

Acceptance criteria

  • Watchdog rows remain unassigned and terminal.
  • Delivery evidence remains refreshable.
  • Normal severities retain existing routing behavior.

…hored-By: Paperclip <noreply@paperclip.ing>
@allyblockcast

allyblockcast Bot commented Aug 29, 2026

Copy link
Copy Markdown
Author

🔗 Paperclip issue: BLO-24177

1 similar comment
@allyblockcast

allyblockcast Bot commented Aug 29, 2026

Copy link
Copy Markdown
Author

🔗 Paperclip issue: BLO-24177

@allyblockcast

allyblockcast Bot commented Aug 29, 2026

Copy link
Copy Markdown
Author

Hey @allyblockcast[bot]! Before this PR can be reviewed, a few things need attention:

Missing or incomplete:

  • Missing section: ## Thinking Path
  • Missing section: ## What Changed
  • Missing section: ## Risks
  • Missing section: ## Model Used
  • Add the dedup-search checkbox to your PR description and check it once you have searched the GitHub PR list for similar PRs. See the PR template at .github/PULL_REQUEST_TEMPLATE.md and CONTRIBUTING.md → "Before You Start: Search First".

Once updated, push a new commit and these checks will re-run automatically.

— commitperclip

@allyblockcast allyblockcast Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ally — Consolidated PR Review

Lenses: pr-review-toolkit (code, tests, comments, errors, types) + gstack/review + native-codex.
Reviewed head: fd85c3e

Critical Issues (0)

Important Issues (1)

  • [native-codex] packages/plugins/paperclip-plugin-alertmanager/src/webhook-handler.ts:790 — terminal re-fires return before aggregate membership and firing-event reconciliation. When a terminal alert fires, resolves, and later fires again, this branch clears resolvedAt in state and refreshes the issue, but skips upsertAggregateMember and alertmanager.alert.firing emission. The aggregate member can remain marked resolved, so a later resolve may close the shared aggregate issue despite this fingerprint firing, and downstream consumers miss the re-fire.
    • Run terminal re-fires through the same aggregate fence/member upsert and event/state update path as normal re-fires, or explicitly reset the member and emit the firing event before returning. Add a regression test covering terminal -> resolved -> terminal re-fire and asserting membership is unresolved and the firing event is emitted.

Suggestions (0)

Strengths

  • The terminal severity predicate is isolated, normalized case-insensitively, and supports an explicit replacement override.
  • Owner and route resolution are avoided for newly created terminal alerts, matching the non-actionable requirement.
  • State-loss recovery is covered for an existing terminal issue.

Recommended Action

  1. Fix the Important issue before merge.
  2. Add the terminal recurrence regression coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants