Pulse/pkg/server
rcourtman 63c40ebe5e fix(telemetry): make patrol run volume and refusal causes readable
Two counters could not answer the question they exist for.

pulse_intelligence_patrol_runs_30d was counted from the operator-facing
patrol run history, which is capped at MaxPatrolRunHistory (100). On any
install patrolling on a normal schedule that cap is reached within hours
of a thirty-day window opening, so the field reported the cap rather than
the run count, and the calls-per-run ratio derived from it was inflated by
a censored denominator. Patrol run history now carries an uncapped daily
tally beside the capped list, advanced from a persisted high-water mark so
repeated full-list saves cannot double count, pruned to 31 days, and read
in preference to the list. An install with no tally yet falls back to the
list, so the counter never regresses on upgrade.

Schema v8 split agent-side pre-mutation refusals into target-change,
prerequisite and contract categories so they would stop hiding in "other".
In production all three are zero fleet-wide and "other" still absorbs every
refusal, because the dominant reason code is the legacy preflight_refused
aggregate recorded when an agent sends no machine reason code at all.
Agents older than the typed refusal contract report every refusal that way,
so the split is starved rather than broken, and folding the two together
made those two states indistinguishable. Schema v9 counts uncoded refusals
separately.
2026-08-19 17:00:02 +01:00
..
gzip_middleware.go Preserve partial-response byte ranges 2026-08-17 20:02:47 +01:00
gzip_middleware_test.go Preserve partial-response byte ranges 2026-08-17 20:02:47 +01:00
memlimit.go Align the Go memory limit with the enclosing cgroup limit 2026-08-05 13:22:58 +01:00
memlimit_test.go Align the Go memory limit with the enclosing cgroup limit 2026-08-05 13:22:58 +01:00
metrics_port.go Fix security scan findings 2026-07-01 09:55:35 +01:00
metrics_port_test.go Fix security scan findings 2026-07-01 09:55:35 +01:00
metrics_test.go Fix security scan findings 2026-07-01 09:55:35 +01:00
server.go Compress API responses for clients that accept gzip 2026-08-16 10:28:08 +01:00
server_helpers_test.go Harden remaining CodeQL security boundaries 2026-07-09 19:46:40 +01:00
server_test.go Bind runtime version to packaged binary 2026-08-15 03:30:20 +01:00
telemetry_licensed_features.go Replace the two non-discriminating audit telemetry fields and guard the class 2026-08-05 17:33:57 +01:00
telemetry_licensed_features_guard_test.go Replace the two non-discriminating audit telemetry fields and guard the class 2026-08-05 17:33:57 +01:00
telemetry_licensed_features_test.go Measure Pro feature adoption and drop the dead Patrol autofix counter 2026-08-05 14:34:50 +01:00
telemetry_pulse_intelligence.go fix(telemetry): make patrol run volume and refusal causes readable 2026-08-19 17:00:02 +01:00
telemetry_pulse_intelligence_test.go fix(telemetry): make patrol run volume and refusal causes readable 2026-08-19 17:00:02 +01:00