Pulse/internal/alerts
pulse-triage[bot] d813c936e4 Retire alert flapping episodes when cleanup expires their hold
Both cleanup owners removed only the deadline, leaving a latched episode that could suppress notifications without a new cooldown. Share dispatch expiry with cleanup, preserve unexpired policies and active occurrence identity, and verify renewed delivery, bounded rearming, diagnosis and one-shot callbacks without bypassing ordinary repeat-notification cooldown.

Change-source: pulse-maintainer
2026-10-03 00:33:08 +01:00
..
config Keep observed unacknowledged alerts through retention cleanup 2026-10-01 01:26:14 +01:00
eventlog fix(alerts): bound alert event log snapshot volume 2026-09-20 22:06:17 +01:00
reducer test(alerts): pin metric acknowledgement retention boundary 2026-09-08 01:12:54 +01:00
specs feat(alerts): cut the canonical lifecycle family over to the reducer core 2026-08-27 00:15:58 +01:00
ack_identity_branchcov0724pm_test.go Cover the missing arms of the SSRF, clone and classifier guards 2026-07-25 00:39:15 +01:00
ack_state.go Stabilize backend race tests for v6 RC publish 2026-04-11 22:46:34 +01:00
active_checkpoint_failure_test.go test(alerts): cover checkpoint recovery mirror write failures 2026-09-06 03:51:04 +01:00
active_cleanup.go Retire alert flapping episodes when cleanup expires their hold 2026-10-03 00:33:08 +01:00
active_lifecycle.go Harden alert durability and watchdog isolation 2026-08-28 10:14:02 +01:00
active_mirror_metadata_linux_test.go fix(alerts): avoid unchanged checkpoint directory chmod 2026-09-08 11:19:49 +01:00
active_mirror_unchanged_unix_test.go test(alerts): cover same-size stale recovery mirror repair 2026-09-08 04:26:38 +01:00
active_persistence.go Bound asynchronous alert checkpoints during bursts 2026-10-01 00:28:53 +01:00
active_persistence_sync_unix.go fix(alerts): make active restart state durable 2026-08-27 15:21:18 +01:00
active_persistence_sync_windows.go fix(alerts): make active restart state durable 2026-08-27 15:21:18 +01:00
active_state_bootstrap.go Harden alert recovery and qualification 2026-08-28 11:28:38 +01:00
active_state_bootstrap_test.go Harden alert recovery and qualification 2026-08-28 11:28:38 +01:00
alert_admission_test.go Preserve alert lifecycle truth and safe pinned updates 2026-09-24 17:43:50 +01:00
alert_identity_migration.go feat(alerts): migrate persisted alert identities 2026-08-27 12:04:49 +01:00
alert_identity_migration_test.go feat(alerts): migrate persisted alert identities 2026-08-27 12:04:49 +01:00
alert_payload.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
alert_policy.go feat(alerts): resolve alert policy through one declarative fold 2026-08-27 01:10:26 +01:00
alert_policy_test.go feat(alerts): resolve alert policy through one declarative fold 2026-08-27 01:10:26 +01:00
alert_store.go Preserve alert lifecycle truth and safe pinned updates 2026-09-24 17:43:50 +01:00
alerts_test.go Keep observed unacknowledged alerts through retention cleanup 2026-10-01 01:26:14 +01:00
async_checkpoint_test.go Bound asynchronous alert checkpoints during bursts 2026-10-01 00:28:53 +01:00
backup_snapshot.go fix(alerts): skip backup-age alerts for PBS host backups (#2136) 2026-09-22 08:01:27 +01:00
backup_snapshot_branchcov0724pm_test.go Cover the missing arms of the SSRF, clone and classifier guards 2026-07-25 00:39:15 +01:00
callback_config_coverage_test.go Keep monitor-only alerts out of escalation and replay 2026-09-29 20:06:55 +01:00
callbacks.go Make alert escalations destination-specific and repeatable 2026-08-27 19:51:12 +01:00
canonical_identity.go Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
canonical_identity_branchcov0724pm_test.go Cover the missing arms of the SSRF, clone and classifier guards 2026-07-25 00:39:15 +01:00
canonical_lifecycle.go fix(alerts): confirm physical-disk wearout recovery 2026-09-26 18:53:11 +01:00
canonical_metric.go Preserve alert lifecycle truth and safe pinned updates 2026-09-24 17:43:50 +01:00
canonical_metric_branchcov0724pm_test.go Cover the missing arms of the SSRF, clone and classifier guards 2026-07-25 00:39:15 +01:00
canonical_override_migration.go Integrate trust-gate reliability fixes 2026-07-20 16:03:29 +01:00
canonical_override_migration_test.go fix(alerts): key docker container overrides by name so toggles survive updates 2026-08-06 22:04:04 +01:00
canonical_stateful_test.go Fix MD RAID spare counts without hiding member failures 2026-10-01 19:56:47 +01:00
capacity_forecast.go fix(alerts): preserve storage override identity during config reload 2026-09-06 01:47:11 +01:00
capacity_forecast_test.go Add predictive storage capacity alerts 2026-08-27 20:41:08 +01:00
cleanup_observation_retention_test.go Keep observed unacknowledged alerts through retention cleanup 2026-10-01 01:26:14 +01:00
cleanup_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
clone_test.go Add unit tests for Alert clone and metadata utility functions (alerts) 2025-11-30 05:19:38 +00:00
concurrency_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
config_aliases_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
config_facade.go Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
config_facade_alias_branchcov0723am_test.go Cover agent policy, alias normalization and agent report helpers 2026-07-23 06:44:33 +01:00
config_runtime.go Retain observed Docker update alert age through cleanup 2026-09-28 05:03:26 +01:00
config_validation_test.go Bound alert escalation schedule delays 2026-08-27 20:12:36 +01:00
connection.go fix(alerts): correlate linked outage signals 2026-08-29 18:19:00 +01:00
connection_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
constants.go Bound server state broadcast memory 2026-07-02 23:27:49 +01:00
core.go feat(alerts): cut the stateful family over to the reducer core 2026-08-27 00:31:27 +01:00
correlation_test.go fix(alerts): correlate linked outage signals 2026-08-29 18:19:00 +01:00
critical_threshold_test.go Fix unreachable critical escalation for high percentage thresholds 2026-06-26 22:42:02 +01:00
default_config.go Keep observed unacknowledged alerts through retention cleanup 2026-10-01 01:26:14 +01:00
default_normalization_test.go Seed disk temperature type defaults 2026-05-13 10:44:11 +01:00
disk_health.go fix(alerts): resolve PVE disk alerts to physical-disk policy 2026-09-26 20:49:02 +01:00
disk_type_infer.go add disk-type-aware threshold field and device inference helper 2026-05-13 07:13:46 +01:00
disk_type_infer_test.go add disk-type-aware threshold field and device inference helper 2026-05-13 07:13:46 +01:00
docker.go Keep active Docker update age through restart 2026-10-01 16:58:21 +01:00
docker_override_migration.go Resolve docker alert resource IDs in Patrol scope resolution 2026-08-14 06:26:15 +01:00
docker_update_retention_test.go Retain observed Docker update alert age through cleanup 2026-09-28 05:03:26 +01:00
escalation.go Keep supported symptoms out of escalation delivery 2026-09-29 20:51:42 +01:00
escalation_policy_change_test.go fix(alerts): reject stale escalation callback admissions 2026-09-10 08:42:59 +01:00
escalation_repeat_test.go Make alert escalations destination-specific and repeatable 2026-08-27 19:51:12 +01:00
event_emission.go Preserve native filesystem evidence and Patrol action history 2026-09-07 09:45:31 +01:00
event_emission_test.go feat(alerts): append-only alert event log with suppression reasons 2026-08-26 21:15:37 +01:00
external_probe.go feat(alerts): resolve alert policy through one declarative fold 2026-08-27 01:10:26 +01:00
external_probe_test.go Harden external probe outage alerting 2026-07-29 20:09:23 +01:00
file_read_limits.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
filter_evaluation.go feat(alerts): resolve alert policy through one declarative fold 2026-08-27 01:10:26 +01:00
filter_evaluation_test.go fix: correct Proxmox guest rate sampling 2026-07-24 10:26:50 +01:00
flapping_callback_test.go fire flapping-detected callback on first transition 2026-05-13 00:28:24 +01:00
flapping_threshold_test.go Retire alert flapping episodes when cleanup expires their hold 2026-10-03 00:33:08 +01:00
guest.go fix(alerts): stabilize noisy lifecycle signals 2026-08-29 17:32:17 +01:00
guest_identity_branchcov0725am_test.go Cover the alert read-model, guest identity and action-planner validators 2026-07-25 06:34:48 +01:00
guest_metric_migration.go Preserve alert lifecycle truth and safe pinned updates 2026-09-24 17:43:50 +01:00
guest_override_identity.go Support guest filesystem alert overrides (#1205) 2026-07-30 10:59:27 +01:00
guest_snapshot.go fix: correct Proxmox guest rate sampling 2026-07-24 10:26:50 +01:00
guest_snapshot_test.go fix: correct Proxmox guest rate sampling 2026-07-24 10:26:50 +01:00
guest_tags_test.go docs(governance): record notification tag routing contract 2026-07-30 14:54:34 +01:00
health_assessment.go fix(alerts): notify on health assessment escalation 2026-09-09 13:10:03 +01:00
history.go fix(alerts): make incident timelines lifecycle-driven 2026-08-27 14:45:36 +01:00
history_concurrency_test.go Fix main CI fallout from the 50-node demo estate 2026-08-24 08:56:07 +01:00
history_dedup_test.go fix(alerts): deduplicate flapping history entries on load and periodic cleanup 2026-06-27 16:36:29 +01:00
history_lifecycle_test.go Make periodic alert-history persistence proof deterministic 2026-10-01 02:30:43 +01:00
history_migration.go fix(alerts): make incident timelines lifecycle-driven 2026-08-27 14:45:36 +01:00
history_migration_test.go fix(alerts): make incident timelines lifecycle-driven 2026-08-27 14:45:36 +01:00
history_projection.go Preserve native filesystem evidence and Patrol action history 2026-09-07 09:45:31 +01:00
history_projection_parity_test.go Preserve native filesystem evidence and Patrol action history 2026-09-07 09:45:31 +01:00
history_recurrence_test.go feat(alerts): cut the canonical lifecycle family over to the reducer core 2026-08-27 00:15:58 +01:00
history_test.go fix(alerts): harden event history recovery 2026-08-27 10:05:37 +01:00
host.go Fix MD RAID spare counts without hiding member failures 2026-10-01 19:56:47 +01:00
host_dedup_test.go feat(alerts): cut the canonical metric-threshold family over to the reducer core 2026-08-27 00:27:01 +01:00
host_disk_type_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
host_unraid_lifecycle_test.go fix(alerts): notify on health assessment escalation 2026-09-09 13:10:03 +01:00
incident_synthesis.go Add infrastructure-aware incident synthesis 2026-08-30 22:32:21 +01:00
incident_synthesis_test.go Notify continuing symptoms after primary recovery 2026-09-29 21:18:19 +01:00
intent_checkpoint_unchanged_unix_test.go fix(alerts): skip unchanged pending-intent checkpoints 2026-09-11 07:05:34 +01:00
intent_persistence.go fix(alerts): skip unchanged pending-intent checkpoints 2026-09-11 07:05:34 +01:00
intent_policy.go feat(alerts): add recurring scoped maintenance 2026-08-27 18:20:03 +01:00
intent_policy_branchcov0724pm_test.go Cover pure helpers and persistence round-trips across the backend 2026-07-25 00:21:35 +01:00
intent_policy_manager_branchcov0721am_test.go Add branch-coverage tests for unifiedresources helpers, smartctl targets, intent-policy manager 2026-07-21 06:14:26 +01:00
intent_policy_test.go Stop operator-suppressed alerts before delivery dispatch 2026-09-29 19:35:43 +01:00
issue1497_test.go fix(websocket): send resource deltas after initial state 2026-08-06 00:48:37 +01:00
lifecycle.go feat(alerts): append-only alert event log with suppression reasons 2026-08-26 21:15:37 +01:00
lifecycle_contract_test.go test(alerts): pin the lifecycle contracts as a release gate 2026-08-27 09:09:56 +01:00
manager.go Bound asynchronous alert checkpoints during bursts 2026-10-01 00:28:53 +01:00
metric_hooks.go refactor: finish alerts manager decomposition 2026-05-06 15:00:30 +01:00
metric_runtime.go Preserve alert lifecycle truth and safe pinned updates 2026-09-24 17:43:50 +01:00
migration_characterization_test.go fix(alerts): report clearing observation in metric recovery 2026-09-05 19:41:25 +01:00
model.go Add infrastructure-aware incident synthesis 2026-08-30 22:32:21 +01:00
node.go fix(alerts): correlate linked outage signals 2026-08-29 18:19:00 +01:00
notification_activation_boundary_test.go fix(alerts): make incident timelines lifecycle-driven 2026-08-27 14:45:36 +01:00
notification_policy.go Retire alert flapping episodes when cleanup expires their hold 2026-10-03 00:33:08 +01:00
offline_toggle_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
operational_contract.go Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
operational_contract_test.go feat(alerts): add per-alert snooze 2026-08-27 17:20:32 +01:00
operational_state_writers_test.go Harden Operational Trust rollout contracts 2026-07-19 15:11:02 +01:00
override_normalization_test.go Forward-port stable guest alert override identity 2026-04-01 12:40:51 +01:00
pbs.go fix(pbs): preserve metric alerts when node status is unavailable 2026-09-05 16:26:42 +01:00
pbs_datastore_override_alias_test.go Deduplicate PBS datastores and bridge their override key formats 2026-07-18 19:41:53 +01:00
pbs_datastore_restart_test.go test(alerts): verify PBS capacity callbacks across restart 2026-09-06 03:18:43 +01:00
pbs_offline_notification_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
pbs_restart_test.go test(alerts): preserve PBS incidents and recovery history across restart 2026-09-05 17:23:06 +01:00
per_metric_delay_example_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
pmg.go feat(alerts): resolve alert policy through one declarative fold 2026-08-27 01:10:26 +01:00
pmg_anomaly_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
powered_off_severity_override_test.go Let a per-resource severity override re-enable disabled offline alerts 2026-08-22 06:24:04 +01:00
powered_off_tolerance_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
quiet_hours_test.go Revalidate queued alert delivery against current quiet hours 2026-10-01 23:05:07 +01:00
read_model.go Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
read_model_branchcov0725am_test.go Cover the alert read-model, guest identity and action-planner validators 2026-07-25 06:34:48 +01:00
reducer_parity_ack_test.go Retain active alert acknowledgements through tracking cleanup 2026-10-01 02:14:32 +01:00
reducer_parity_backup_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
reducer_parity_discrete_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
reducer_parity_intent_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
reducer_parity_recovery_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
reducer_parity_refire_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
reducer_parity_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
resolved_lock_discipline_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
resource_monitoring_policy.go feat(alerts): add recurring scoped maintenance 2026-08-27 18:20:03 +01:00
shadow.go feat(alerts): cut the stateful family over to the reducer core 2026-08-27 00:31:27 +01:00
shadow_feed_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
snooze_lifecycle_test.go Bound alert escalation schedule delays 2026-08-27 20:12:36 +01:00
storage.go fix(alerts): keep normalized offline capacity suppressed 2026-09-06 08:45:39 +01:00
storage_crash_test.go test(alerts): cover storage lifecycle across abrupt process exit 2026-09-05 21:14:11 +01:00
storage_override_identity.go fix(alerts): preserve storage override identity during config reload 2026-09-06 01:47:11 +01:00
storage_restart_test.go test(alerts): protect storage connectivity recovery across restart 2026-09-06 12:24:27 +01:00
synology_test.go refactor: split alert health assessment runtime 2026-05-06 14:10:41 +01:00
system_alert.go Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
telemetry_quality.go Add privacy-safe alert quality telemetry 2026-08-29 14:00:28 +01:00
telemetry_quality_test.go test(pbs): protect missing-metric policy and outage precedence 2026-09-05 17:12:25 +01:00
test_helpers_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
threshold_resolution_shared_test.go fix(alerts): stabilize noisy lifecycle signals 2026-08-29 17:32:17 +01:00
threshold_update_test.go Port v5 alert lifecycle and linked agent overrides 2026-04-15 12:18:57 +01:00
time_threshold_test.go test(alerts): isolate pending threshold fixtures from persisted state 2026-09-06 02:46:05 +01:00
tracking_cleanup.go Retire alert flapping episodes when cleanup expires their hold 2026-10-03 00:33:08 +01:00
truenas_native_dispatch_test.go fix(truenas): retain emergency alerts in incident delivery 2026-09-05 02:10:51 +01:00
unified_eval.go fix(alerts): preserve storage override identity during config reload 2026-09-06 01:47:11 +01:00
unified_eval_critical_cap_test.go Keep high percentage triggers evaluable when the critical cap collides 2026-07-18 19:44:06 +01:00
unified_eval_parity_test.go Track alert save workers during shutdown 2026-06-28 01:39:12 +01:00
unified_eval_test.go fix(alerts): stabilize noisy lifecycle signals 2026-08-29 17:32:17 +01:00
unified_incident_confirmation_test.go chore(alerts): delete the legacy transition-state maps 2026-08-27 01:00:12 +01:00
unified_incidents.go Notify continuing symptoms after primary recovery 2026-09-29 21:18:19 +01:00
unified_incidents_test.go fix(alerts): honour PBS datastore capacity policy 2026-09-09 20:01:19 +01:00
update_alerts_test.go Establish initial delivery in restart lifecycle proof 2026-10-01 17:04:22 +01:00
utility_test.go Disambiguate linked host-agent alert names 2026-06-04 09:33:02 +01:00
windowed_metric.go Add rolling-window metric alert evaluation 2026-08-27 21:11:44 +01:00
windowed_metric_test.go Add rolling-window metric alert evaluation 2026-08-27 21:11:44 +01:00