Pulse/internal
rcourtman e087eff00e Stop polluting Patrol finding lifecycle with no-op heartbeats
Every Patrol scan that re-detected an already-active finding was
appending a "detected (same_state -> same_state)" lifecycle event
with the message "Detected by Pulse Patrol". A finding active for
6 scans rendered as 6 stacked rows reading
"Detected Detected by Pulse Patrol (detected -> detected)".

Backend: drop the unconditional re-detection lifecycle append in
findings.go. The lifecycle should record state transitions, not
heartbeats — TimesRaised and LastSeenAt already track recurrence,
and the genuine transition events ("regressed", "reminded",
"suppression_lifted") are emitted from their own branches upstream.

Frontend: defensively hide (from -> to) spans where from === to
and strip the type-label prefix from the message so already-
persisted polluted lifecycle entries also render cleanly until
they age out of the per-finding event cap.

Adds a test that locks in the new backend behavior.
2026-05-10 17:13:07 +01:00
..
actionplanner Fail closed dry-run action execution 2026-05-05 09:22:04 +01:00
agentexec Align Patrol prober with agent command policy 2026-05-01 20:28:11 +01:00
agenttls Add fingerprint-pinned TLS mode for unified agent 2026-04-22 01:36:46 +01:00
agentupdate Harden unified agent runtime and installer 2026-04-23 23:04:18 +01:00
ai Stop polluting Patrol finding lifecycle with no-op heartbeats 2026-05-10 17:13:07 +01:00
alerts refactor: finish alerts manager decomposition 2026-05-06 15:00:30 +01:00
api Surface cached preflight in Patrol tools readiness check 2026-05-10 16:41:16 +01:00
bootstrap
cloudcp Remove monitored-system volume caps 2026-05-05 12:59:59 +01:00
config Keep direct DeepSeek Patrol models selectable 2026-05-08 11:57:04 +01:00
crypto Harden secure local key file handling 2026-04-22 05:13:01 +01:00
deploy Remove monitored-system volume caps 2026-05-05 12:59:59 +01:00
discovery
dockeragent Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
hostagent Fix PVE version detection on agent hosts 2026-05-08 15:30:08 +01:00
hosted Canonicalize legacy hosted signup principals 2026-05-04 22:52:00 +01:00
hostmetrics
kubernetesagent Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
license Remove monitored-system volume caps 2026-05-05 12:59:59 +01:00
logging
metrics
mock Drive agent host profiles from platform manifest 2026-05-07 23:42:15 +01:00
mockmode
mockmodel
mockruntime
models Fix platform identity source contracts 2026-05-08 14:54:08 +01:00
monitoring Mark failed PBS poll as failure and lock down with regression tests 2026-05-08 19:53:03 +01:00
notifications Fix notification queue race test 2026-05-01 22:26:01 +01:00
platformsupport Show platform versions in system badges 2026-05-08 15:07:09 +01:00
recovery
relay Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
remoteconfig Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
repoctl Retire product upgrade metrics runtime 2026-04-30 12:24:22 +01:00
securityutil Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
sensors
servicediscovery Route hostname lookups through canonical equivalence 2026-04-21 22:47:23 +01:00
ssh/knownhosts
storagehealth Fix Unraid storage health explanations 2026-05-08 12:18:09 +01:00
system
telemetry
testutil
truenas
unifiedresources Merge duplicate map keys in TestActionExecutionContractStaysAPIOwned 2026-05-09 15:08:51 +01:00
updates Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
updatesignature Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
utils
vmware
websocket Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00