Source: Full code review 2026-07-17 (docs/reviews/2026-07-17-full-code-review.md), finding F15.
Category: config UX · Severity: low · Effort: small
Problem
With alerts.enabled: false but alerts.webhooks populated, the notifier is built and its worker started (cmd/pimonitor/main.go:46-64), but the disabled engine never produces events — the webhooks silently never fire. Alerts.validate() (internal/config/config.go:237-259) deliberately validates webhooks even when disabled, but emits no hint about the inert combination.
Suggested fix
Log a startup warning ("alert webhooks configured but alerts.enabled is false — no notifications will be sent"), and skip starting the notifier worker in that case.
Source: Full code review 2026-07-17 (
docs/reviews/2026-07-17-full-code-review.md), finding F15.Category: config UX · Severity: low · Effort: small
Problem
With
alerts.enabled: falsebutalerts.webhookspopulated, the notifier is built and its worker started (cmd/pimonitor/main.go:46-64), but the disabled engine never produces events — the webhooks silently never fire.Alerts.validate()(internal/config/config.go:237-259) deliberately validates webhooks even when disabled, but emits no hint about the inert combination.Suggested fix
Log a startup warning ("alert webhooks configured but alerts.enabled is false — no notifications will be sent"), and skip starting the notifier worker in that case.