Pulse/internal
rcourtman 74131e56e3 Fix no-op relationship_change spam from registry rebuilds
Every state update rebuilds the resource registry from scratch, which
reconstructs all relationship edges with fresh ObservedAt/LastSeenAt
stamps and fresh metadata maps. recordRegistryChanges compared the old
and new slices with reflect.DeepEqual, so every relationship-bearing
resource emitted a relationship_change row on every rebuild cycle even
when nothing changed. On the public demo this wrote roughly 450k rows
per day (1.2M of 1.6M rows were literal from==to no-ops), grew
unified_resources.db to 1.6GB in three days, starved the store's single
connection until retention pruning failed with SQLITE_BUSY, and drove
the droplet into the swap-thrash outage on 2026-07-08. Same mechanism
as issue #1496.

Compare relationship sets by edge identity instead: canonical source,
canonical target, type, and active state, order-insensitive. Volatile
provenance fields no longer count as change.

Also cap resource_changes at 200k rows during retention pruning so a
pathological writer can never grow the table unbounded inside the
30-day retention window, and record both invariants in the
unified-resources subsystem contract.
2026-07-08 08:10:15 +01:00
..
actionplanner Stabilize action plan drift hashing 2026-06-13 20:49:27 +01:00
agentcapabilities feat(mcp): add additive fleet-context filtering 2026-07-03 18:01:05 +01:00
agentcontext Add discovery readiness to Assistant context 2026-06-04 21:56:36 +01:00
agentexec Add governed Docker and Podman lifecycle actions 2026-06-12 21:17:58 +01:00
agenttls
agentupdate Allow local Pulse HTTP agent URLs 2026-07-03 00:24:40 +01:00
ai Fix Gemini Patrol tool-call readiness 2026-07-06 23:01:16 +01:00
alerts Let explicit disk temperature overrides beat per-type defaults 2026-07-07 23:15:59 +01:00
api Allow clearing SSO provider restriction fields from Settings 2026-07-07 22:04:46 +01:00
bootstrap
cloudcp Extend MSP install proof for portal rollups 2026-07-07 20:49:55 +01:00
config Add MSP report scheduling and alert rollup 2026-07-07 20:37:18 +01:00
crypto
deploy
discovery
dockeragent Allow local Pulse HTTP agent URLs 2026-07-03 00:24:40 +01:00
hostagent Prefer route-aware Proxmox host URLs 2026-07-07 10:37:10 +01:00
hosted Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
hostmetrics Fix patch-release follow-up regressions 2026-07-04 18:37:59 +01:00
kubernetesagent Allow local Pulse HTTP agent URLs 2026-07-03 00:24:40 +01:00
license backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
logging Make global logging reconfiguration race-safe 2026-07-04 11:52:20 +01:00
maintenancesentinel
metrics Coordinate incident recorder async persistence 2026-07-04 13:13:41 +01:00
mock Attach mock availability checks to services 2026-06-30 21:16:16 +01:00
mockmode
mockmodel Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
mockruntime
models Fix physical disk SMART/Proxmox merge identity 2026-07-07 09:46:51 +01:00
monitoring Fix PBS backup discovery regression from bounded polling 2026-07-07 22:48:34 +01:00
notifications Add MSP report scheduling and alert rollup 2026-07-07 20:37:18 +01:00
platformsupport Expand Docker Swarm metadata inventory 2026-05-24 12:07:10 +01:00
proxmoxidentity Fix PBS backup identity matching 2026-06-03 11:43:20 +01:00
recovery Fix PBS backup identity matching 2026-06-03 11:43:20 +01:00
relay
remoteconfig Allow local Pulse HTTP agent URLs 2026-07-03 00:24:40 +01:00
repoctl Update release control to use main 2026-07-05 15:20:37 +01:00
securityutil Allow local DNS agent HTTP URLs 2026-07-06 13:53:19 +01:00
sensors Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
servicediscovery fix(discovery): bring hosts into the fingerprint model so they auto-discover (#1479) 2026-07-07 22:55:04 +01:00
ssh/knownhosts
storagehealth feat(alerts): clean alert messages + highlight all platform node tables 2026-06-27 14:34:33 +01:00
system Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
telemetry Harden GA telemetry disclosure 2026-07-02 11:50:03 +01:00
testutil
truenas Emit TrueNAS pool status incidents 2026-06-29 22:54:19 +01:00
unifiedresources Fix no-op relationship_change spam from registry rebuilds 2026-07-08 08:10:15 +01:00
updates Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
updatesignature
utils Clear all errcheck and gofmt violations so make lint gates on real findings 2026-06-09 21:42:21 +01:00
vmware Dedupe alerts PMG queue checks, vmware clones, licensing and proxmox client clones 2026-06-10 09:49:03 +01:00
websocket Bound server state broadcast memory 2026-07-02 23:27:49 +01:00