-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Surface missing sink implementations instead of silently dropping sends
Context
I misconfigured a sink name in a rule and saw alerts vanish with no warning. The runner logged nothing and carried on, making it hard to spot the wiring mistake.
Problem
In handleEvents, if a rule references a sink missing from the sinks map, we skip delivery when s == nil without any error or log. Misconfigured rules quietly drop events.
Expected behavior
If a rule references a missing sink, we should error (or at least log loudly) instead of silently continuing. Valid configurations should behave exactly as before.
Scope / non-goals
Don’t redesign sink construction; just ensure missing sinks are surfaced clearly.
Acceptance criteria
- Runner handling fails or logs an explicit error when a rule references an unknown sink.
- Existing valid configs continue to process events.
- A test covers the missing-sink scenario.
Hints
handleEvents in internal/engine/runner.go is the likely spot; validation in NewRunner would also work. Add a test in internal/engine/runner_test.go. Run go test ./internal/engine.