mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
3420fcdee4
The 2026-09-01 Patrol assessment could not answer four questions from telemetry: what share of Patrol installs run local versus cloud models, what Patrol costs an install per month (issue 1789 estimates ~104k input tokens per full run at ~5.5 runs a day, above the Pro fee on non-Flash tiers), how the 240 of 255 fleet investigations that produced no plan actually ended, and which effective Patrol mode an install runs. Schema v17 adds closed buckets only. ai_provider_class classifies the Patrol model route (none, local, cloud_byok, cloud_subscription, hosted_quickstart, unknown) with a syntactic private-host check on custom OpenAI-compatible endpoints; it never resolves DNS or carries a provider, model, endpoint, or account. pulse_intelligence_patrol_autonomy_level is the effective level after licence and Autopilot gating. The two token fields bucket the existing local usage ledger's Patrol events, so exact counts and prices stay on the install. Thirteen investigation outcome counters partition the findings already counted as investigated, one bucket per finding, adding no finding, resource, or session identity. The strings are never omitted, so an empty value can only mean a pre-v17 sender; the receiver stores those as unknown. PRIVACY.md, its shipped mirror, the Settings preview interface, and the security-privacy and api-contracts subsystem notes carry the disclosure, and the coverage gap is registered in status.json. The agent-lifecycle and storage-recovery contracts name internal/api under their extension points, so both record that this telemetry is adjacent adoption analytics and never agent or storage state. The stable E2E tier pins the public schema version, so the disclosure spec moves to 17, and the Settings preview interface change carries a browser receipt from a scratch build of this tree at 1280x800 and 390x844. status.json also drops an identical duplicate of the ai-provider-guided-setup coverage-gap record that two merges each appended, which the private governance audit rejects. The bucket for a legacy config still pointing at the retired Pulse-hosted route is named hosted_legacy: the shipped privacy document discloses the vocabulary verbatim and the frontend copy contract keeps that document free of the retired hosted quickstart wording, so the telemetry package now pins the vocabulary at the source.