Pulse/internal
rcourtman 53faa4e46a fix(unifiedresources): stop fabricating sightings and online stamps for never-seen resources
Ingest stamped every resource's SourceStatus "online" and replaced a zero
LastSeen with time.Now(), so a source that never delivered a resource
(synthesized offline PVE placeholders, never-polled instances) reported a
fresh sighting and a healthy source forever: markStaleLocked skips zero
LastSeen entries, so the stamp was permanently exempt from stale-marking.
That fabricated freshness fed monitor previous-state reads (the
resurrection loop mitigated in 8372a22c5), the frontend lastSeen display,
the monitored-systems ledger, and AI/agent context.

- ingest/mergeInto/IngestResources/presentation coalesce: stamp per-source
  delivery status from the actual sighting ("unknown" when the source has
  never delivered, "online" otherwise) and preserve zero LastSeen instead
  of substituting ingest time.
- replaceRegistry: run MarkStale over the fully assembled registry. The
  IngestSnapshot stale pass ran before record sources (TrueNAS, VMware)
  were ingested, leaving them stamped "online" at any age.
- monitorLastSeenUnix: report 0 for never-seen instead of time.Now(), so
  the frontend renders a dash rather than "just now".
- connected infrastructure: clamp zero LastSeen to 0 ms instead of the
  negative UnixMilli of the zero time.

preserveOrExpireNodes keeps requiring a real online sighting for grace;
the registry no longer manufactures the timestamps that made that guard
necessary, so the 8372a22c5 failure mode is impossible by construction.
2026-06-11 10:23:49 +01:00
..
actionplanner Fail closed dry-run action execution 2026-05-05 09:22:04 +01:00
agentcontext Add discovery readiness to Assistant context 2026-06-04 21:56:36 +01:00
agentexec Make agent command-exec token rejection actionable, not a silent 'Invalid token' 2026-06-09 17:55:09 +01:00
agenttls Add fingerprint-pinned TLS mode for unified agent 2026-04-22 01:36:46 +01:00
agentupdate Fall back to argv0 for agent self-update path on FreeBSD (#1457) 2026-06-04 10:19:45 +01:00
ai Dedupe AI runtime guest-family, tool-pipeline, and provider clones 2026-06-10 09:38:52 +01:00
alerts Dedupe alerts PMG queue checks, vmware clones, licensing and proxmox client clones 2026-06-10 09:49:03 +01:00
api fix(licensing): surface unreadable persisted v5 licenses and retry failed startup exchanges 2026-06-11 08:44:35 +01:00
bootstrap feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
cloudcp Rename CP_TRIAL_ACTIVATION_PRIVATE_KEY to CP_ENTITLEMENT_SIGNING_PRIVATE_KEY in the provider MSP bundle 2026-06-10 14:08:52 +01:00
config fix(config): restore legacy PORT fallback for FRONTEND_PORT with deprecation warning 2026-06-10 22:32:28 +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 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
dockeragent Use node-local task counts for node-scoped swarm services 2026-06-04 10:16:09 +01:00
hostagent fix(disks): ground SMART disk discovery in /sys/block so no physical disk vanishes 2026-06-10 15:14:34 +01:00
hosted Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
hostmetrics Prefer the root-mounted dataset for ZFS pool summaries 2026-06-04 09:43:07 +01:00
kubernetesagent Clear all errcheck and gofmt violations so make lint gates on real findings 2026-06-09 21:42:21 +01:00
license Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
logging Stabilize backend race tests for v6 RC publish 2026-04-11 22:46:34 +01:00
maintenancesentinel Record maintenance evidence in resource timelines 2026-05-13 14:19:59 +01:00
metrics Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
mock fix(mock): derive all fixture identities from stable hashes so IDs survive restarts 2026-06-10 21:49:15 +01:00
mockmode Gate release mock fixtures behind demo entitlement 2026-04-10 12:33:57 +01:00
mockmodel Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
mockruntime Gate release mock fixtures behind demo entitlement 2026-04-10 12:33:57 +01:00
models Prepare v6.0.0 release candidate 2026-06-04 14:07:14 +01:00
monitoring fix(unifiedresources): stop fabricating sightings and online stamps for never-seen resources 2026-06-11 10:23:49 +01:00
notifications Pin metadata GET zero-record payload contract 2026-06-10 10:53:57 +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 Aggregate simplify-review cleanups (no behavior change) 2026-05-12 17:32:11 +01:00
remoteconfig Fix default agent rollout status noise 2026-05-14 14:37:24 +01:00
repoctl Fix pre-commit sibling roots in worktrees 2026-05-13 15:56:19 +01:00
securityutil Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
sensors Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
servicediscovery Make the discovery abstention message name the real cause, not a wrong fix 2026-06-09 16:35:00 +01:00
ssh/knownhosts feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
storagehealth Fix Unraid storage health explanations 2026-05-08 12:18:09 +01:00
system Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
telemetry Clear all errcheck and gofmt violations so make lint gates on real findings 2026-06-09 21:42:21 +01:00
testutil Stabilize rc1 mock mode and metrics history 2026-04-11 16:47:37 +01:00
truenas Fix TrueNAS unavailable SMART disk health 2026-05-28 12:53:46 +01:00
unifiedresources fix(unifiedresources): stop fabricating sightings and online stamps for never-seen resources 2026-06-11 10:23:49 +01:00
updates Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
updatesignature Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
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 Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00