Skip to content

Register physical infrastructure alert owner routes - #512

Merged
kkroo merged 5 commits into
masterfrom
blo-12202-physical-infra-alert-routes
Jun 27, 2026
Merged

Register physical infrastructure alert owner routes#512
kkroo merged 5 commits into
masterfrom
blo-12202-physical-infra-alert-routes

Conversation

@allyblockcast

@allyblockcast allyblockcast Bot commented Jun 26, 2026

Copy link
Copy Markdown

Thinking Path

  • Paperclip is the open source app people use to manage AI agents for work.
  • The bundled paperclip-plugin-alertmanager turns Alertmanager webhooks into Paperclip issues and uses ownerMap class routes to assign operational ownership.
  • Physical infrastructure alert rules for Proxmox, Ceph, BMC/iDRAC, and disk health need stable class names so they do not fall through to default/unassigned routing.
  • The existing plugin already ships durable DEFAULT_OWNER_MAP.class routes and merges instance config on top, which is the right place for fresh-deploy defaults.
  • This pull request adds the four physical infrastructure classes to the shipped default map, keeps the broad support queue default, and documents override behavior.
  • The benefit is that synthetic and real physical infrastructure alerts land in an owned operational queue immediately while preserving operator-specific owner overrides.

Linked Issues or Issue Description

No GitHub issue exists. Paperclip task: /BLO/issues/BLO-12202.

Subsystem affected

packages/plugins — plugin system

Problem or motivation

Physical infrastructure alerts delivered by Alertmanager need explicit Paperclip owner-map class routes so they create or update owned issues instead of defaulting to unassigned. The new alert families are Proxmox, Ceph, BMC/iDRAC, and disk/RAID/SMART health.

Proposed solution

Register physical_infra_proxmox, physical_infra_ceph, physical_infra_bmc, and physical_infra_disk in the bundled Alertmanager plugin DEFAULT_OWNER_MAP.class, add resolver coverage for each class, and document the expected owner/escalation policy.

Alternatives considered

Relying only on runtime plugin settings would work after manual configuration but would still leave fresh deploys and reinstalls without durable routing defaults. Routing by alertname would be more brittle because each telemetry area can contain multiple alert rules.

Roadmap alignment

This is operational alert routing for the Paperclip plugin system, not roadmap-level core feature work.

Additional context

Acceptance requires each synthetic physical-infra alert class to create or update a Paperclip issue under the intended owner/queue while existing alert classes continue routing unchanged.

What Changed

  • Registered physical_infra_proxmox, physical_infra_ceph, physical_infra_bmc, and physical_infra_disk in DEFAULT_OWNER_MAP.class.
  • Added owner-resolver regression coverage asserting each physical infra class resolves through the shipped default map.
  • Updated the plugin README example and owner/escalation table for the new physical infra classes.

Verification

  • Not run locally: this Paperclip execution workspace was empty and not a git checkout of Blockcast/paperclip.
  • Expected CI/maintainer check: pnpm --filter paperclip-plugin-alertmanager test covers src/__tests__/owner-resolver.test.ts.
  • Expected CI/maintainer check: pnpm --filter paperclip-plugin-alertmanager typecheck.
  • Expected CI/maintainer check: pnpm --filter paperclip-plugin-alertmanager build.

Risks

  • The chosen default owner is broad (support@blockcast.net) rather than a more specific physical-infra queue. This matches existing shipped operational routes and avoids unassigned alerts on fresh deploys; narrower routing can be applied by instance ownerMap override without code changes.
  • Runtime routing depends on Alertmanager alert payloads setting labels.class to one of the registered class names.
  • Local tests were not run because no repo checkout was available in this Paperclip workspace.

For core feature work, check ROADMAP.md first and discuss it in #dev before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See CONTRIBUTING.md.

Model Used

OpenAI GPT-5.5, exact model ID openai/gpt-5.5, tool-using coding/review agent.

Checklist

  • I have included a thinking path that traces from project context to this change
  • I have specified the model used (with version and capability details)
  • I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work
  • I have searched GitHub for duplicate or related PRs and linked them above
  • I have either (a) linked existing issues with Fixes: # / Closes # / Refs # OR (b) described the issue in-PR following the relevant issue template
  • I have run tests locally and they pass
  • I have added or updated tests where applicable
  • If this change affects the UI, I have included before/after screenshots
  • I have updated relevant documentation to reflect my changes
  • I have considered and documented any risks above
  • All Paperclip CI gates are green
  • Greptile is 5/5 with no open P2s, recommendations, or follow-ups
  • I will address all Greptile and reviewer comments before requesting merge

@allyblockcast

allyblockcast Bot commented Jun 26, 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
  • No linked issue or inline issue description found — either tag an existing issue with Fixes #NNN / Closes #NNN / Refs #NNN, or describe the underlying issue inline in the PR body following one of our issue templates (https://github.com/paperclipai/paperclip/tree/master/.github/ISSUE_TEMPLATE). See CONTRIBUTING.md → "Link Issues or Describe Them In-PR".
  • 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 commented Jun 26, 2026

Copy link
Copy Markdown
Author

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

Missing or incomplete:

  • Thinking Path needs more detail (2 sentences — aim for 3+)
  • No linked issue or inline issue description found — either tag an existing issue with Fixes #NNN / Closes #NNN / Refs #NNN, or describe the underlying issue inline in the PR body following one of our issue templates (https://github.com/paperclipai/paperclip/tree/master/.github/ISSUE_TEMPLATE). See CONTRIBUTING.md → "Link Issues or Describe Them In-PR".
  • 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 commented Jun 26, 2026

Copy link
Copy Markdown
Author

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

Missing or incomplete:

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

— commitperclip

@allyblockcast

allyblockcast Bot commented Jun 26, 2026

Copy link
Copy Markdown
Author

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

Missing or incomplete:

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

— commitperclip

@allyblockcast

allyblockcast Bot commented Jun 26, 2026

Copy link
Copy Markdown
Author

@ally please review the Alertmanager owner-map change for BLO-12202, focusing on whether the shipped DEFAULT_OWNER_MAP.class defaults preserve runtime override semantics and whether the README/test coverage is enough for physical-infra class routing (physical_infra_proxmox, physical_infra_ceph, physical_infra_bmc, physical_infra_disk).

@kkroo
kkroo merged commit d6ad770 into master Jun 27, 2026
15 checks passed
@kkroo
kkroo deleted the blo-12202-physical-infra-alert-routes branch June 27, 2026 01:32
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.

1 participant