Skip to content

feat(alertmanager): ship durable paperclip_claude_k8s default owner route (BLO-9574) - #322

Merged
kkroo merged 1 commit into
masterfrom
ship/blo-9574-alertmanager-default-owner-route
Jun 9, 2026
Merged

feat(alertmanager): ship durable paperclip_claude_k8s default owner route (BLO-9574)#322
kkroo merged 1 commit into
masterfrom
ship/blo-9574-alertmanager-default-owner-route

Conversation

@allyblockcast

@allyblockcast allyblockcast Bot commented Jun 9, 2026

Copy link
Copy Markdown

Summary

Ships a durable plugin-side default owner route for class.paperclip_claude_k8s -> support@blockcast.net so ClaudeK8sConcurrentRunBlockedRate alerts are routed to a real owner on every fresh deploy or plugin reinstall — not only when an operator has applied the runtime config write.

Scope: packages/plugins/paperclip-plugin-alertmanager only — constants.ts, worker.ts, README, owner-resolver test.

Override semantics preserved: mergeOwnerMap() in worker.ts merges DEFAULT_OWNER_MAP with the instance runtime config; operator-supplied routes for the same keys win, so existing runtime-config writes are not clobbered.

Evidence trail:

Changes

  • constants.ts: adds DEFAULT_OWNER_MAP: OwnerMap export with class.paperclip_claude_k8s = "support@blockcast.net"; sets DEFAULT_CONFIG.ownerMap = DEFAULT_OWNER_MAP.
  • worker.ts: adds mergeOwnerMap() that deep-merges DEFAULT_OWNER_MAP with instance runtime config; applies merged map in applyConfig().
  • README.md: documents the bundled default and merge semantics under the ownerMap example block.
  • owner-resolver.test.ts: adds regression test verifying the default route resolves ClaudeK8sConcurrentRunBlockedRate to support@blockcast.net via DEFAULT_OWNER_MAP.

Test plan

  • pnpm --filter paperclip-plugin-alertmanager test — 71 tests pass (3 files)
  • pnpm --filter paperclip-plugin-alertmanager typecheck — clean
  • pnpm --filter paperclip-plugin-alertmanager build — clean

🤖 Generated with Claude Code

…oute (BLO-9574)

Adds DEFAULT_OWNER_MAP to constants.ts with class.paperclip_claude_k8s ->
support@blockcast.net so ClaudeK8sConcurrentRunBlockedRate alerts are routed
to a real owner on every fresh deploy / reinstall.

Worker merges DEFAULT_OWNER_MAP with instance runtime config (operator
overrides win) so existing operator-managed routes are preserved. README
documents the bundled default and the merge semantics. Regression test
in owner-resolver.test.ts locks the default route in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@kkroo
kkroo merged commit 19ef131 into master Jun 9, 2026
13 checks passed
@kkroo
kkroo deleted the ship/blo-9574-alertmanager-default-owner-route branch June 9, 2026 21:27
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.

2 participants