Pulse/pkg
rcourtman e4e43c3f11 feat(telemetry): attribute approved-action failures to cause buckets
The 30d window said 18 of 26 approved action attempts failed but
carried zero cause information. Every approved attempt that is not a
verified success now lands in exactly one content-free bucket:

- pre_dispatch: terminally refused before dispatch (plan drift, expiry,
  emergency stop, policy authorization)
- execution: dispatched execution failed or ended inconclusive
- unverified: execution succeeded but outcome verification was not
  confirmed (reads as success in the UI, counted as failure here)
- stuck_executing: still executing over an hour after dispatch

plus one sanitized machine reason code for the most recent failure.
Successes, failure buckets, and recent in-flight attempts partition the
attempt count, so the next window explains its own gap.

RefuseActionExecution now persists the specific refusal code
(plan_drift, action_plan_expired, ...) as the canonical execution
reason code instead of the generic pre_dispatch_refused, so audit truth
and telemetry distinguish refusal causes without message parsing.

Privacy disclosures updated in both PRIVACY.md copies; the adoption
report script surfaces the new counters.

Contract-Neutral: additive content-free telemetry counters + specific pre-dispatch refusal reason codes; privacy disclosures updated in-commit per security-privacy extension point
2026-07-17 23:39:34 +01:00
..
agents Use authoritative Docker OOM evidence 2026-07-15 17:55:26 +01:00
aicontracts Add coverage tests for agentexec lifecycle codec and aicontracts pure helpers 2026-07-17 06:53:16 +01:00
audit Harden remaining CodeQL security boundaries 2026-07-09 19:46:40 +01:00
auth Enforce server-owned action approval authority 2026-07-11 19:49:17 +01:00
cloudauth fix(hosted): preserve direct handoff membership continuity 2026-03-26 23:40:02 +00:00
db feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
discovery Harden remaining CodeQL security boundaries 2026-07-09 19:46:40 +01:00
edition Block in-app self-update on the Pro binary to prevent silent downgrade 2026-07-08 10:02:04 +01:00
extensions Allow clearing SSO provider restriction fields from Settings 2026-07-07 22:04:46 +01:00
fsfilters Improve Machines disk summaries 2026-06-03 11:09:58 +01:00
licensing Add Go branch-coverage tests for alerts monitoring model-resolution ai and licensing helpers 2026-07-16 15:17:45 +01:00
metrics Preserve customer data across plan downgrades 2026-07-14 11:47:25 +01:00
pbs Fix PBS job task history filters 2026-05-13 17:09:45 +01:00
pmg Harden outbound URLs and file-backed storage 2026-03-29 12:47:55 +01:00
proxmox Use checked int parsing for Proxmox conversions 2026-07-09 17:47:23 +01:00
pulsecli Enforce server-owned action approval authority 2026-07-11 19:49:17 +01:00
reporting reporting: fit and wrap operator-controlled cover title and brand lines 2026-07-10 00:42:06 +01:00
securityutil fix(securityutil): dial every permitted resolved IP instead of pinning the first 2026-07-17 23:35:45 +01:00
server feat(telemetry): attribute approved-action failures to cause buckets 2026-07-17 23:39:34 +01:00
tlsutil fix(tlsutil): discard the subprocess kill error explicitly 2026-07-17 17:26:55 +01:00