Pulse/pkg/server
rcourtman 5b07bdc3d8 feat(telemetry): add business_estate to the ping at schema v8
The 2026-08-07 telemetry read showed installs at or above 5 PVE nodes, 10
Docker hosts, or 3 VMware hosts convert to paid at ~8x the rate of smaller
estates. The ping now carries that classification as a server-derived
boolean so receiver-side cohort queries keep a stable column even if the
thresholds move later; it is derived in the pkg/server snapshot closure
from the same AggregateInstallSnapshotCounts values the payload already
sends, so no new information leaves the install.

The thresholds move to internal/monitoring/business_estate.go as the
single definition; the session-capability surface behind the in-product
business-estate card delegates to it, and dropping the now-unneeded direct
pkg/licensing import there restores TestPkgLicensingImportBoundary, which
f0e2243b4 had left red. All three payload surfaces (Ping struct, private
receiver, TelemetryPingPreview) move together per
check_telemetry_schema_parity.py, and both PRIVACY.md copies document the
field.

Verified live on an isolated worktree backend with 6 mock PVE nodes: the
Settings telemetry preview renders schema_version 8 with business_estate
true, and /api/security/status still reports
sessionCapabilities.businessEstate true through the delegated thresholds.
2026-08-07 19:44:52 +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 feat(telemetry): add business_estate to the ping at schema v8 2026-08-07 19:44:52 +01:00
server_helpers_test.go Harden remaining CodeQL security boundaries 2026-07-09 19:46:40 +01:00
server_test.go feat(telemetry): add business_estate to the ping at schema v8 2026-08-07 19:44:52 +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 Measure Pro feature adoption and drop the dead Patrol autofix counter 2026-08-05 14:34:50 +01:00
telemetry_pulse_intelligence_test.go Measure Pro feature adoption and drop the dead Patrol autofix counter 2026-08-05 14:34:50 +01:00