emozilla
24c86e160b
fix(telemetry): aggregate requires local telemetry to be on
...
Aggregate metrics are derived from the local tel_* tables — they're a coarsened
view of local data, not an independent capture path. With telemetry.local=false
nothing is written, so an aggregate opt-in had nothing to aggregate, yet
may_upload_aggregate() returned True and `status` showed "Aggregate metrics: on".
The config could claim a state it couldn't fulfill.
Gate aggregate on local being enabled:
- may_upload_aggregate() now requires local_enabled AND allow_aggregate AND
consent_state == aggregate.
- `telemetry status` computes aggregate_enabled the same way and, when consent is
aggregate but local is off, prints "inert: local telemetry is off — nothing to
aggregate" instead of the opt-in hint.
Happy path is unchanged (local on + consent aggregate -> on). Adds policy and CLI
tests for the inert combo.
2026-07-24 18:54:45 +00:00
..
2026-07-24 11:45:57 -07:00
2026-07-05 13:42:46 -07:00
2026-07-24 11:45:57 -07:00
2026-07-24 11:45:57 -07:00
2026-07-24 18:54:45 +00:00
2026-07-24 11:45:57 -07:00
2026-07-22 10:58:22 -07:00
2026-07-24 22:58:47 +05:30
2026-07-24 22:58:47 +05:30
2026-07-24 11:45:57 -07:00
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-07-23 17:26:24 -07:00
2026-07-14 17:19:46 +05:30
2026-07-21 13:54:11 -05:00
2026-07-23 11:45:07 -07:00
2026-07-22 18:08:59 -05:00
2026-07-18 14:30:24 +05:30
2026-07-21 12:20:25 +05:30
2026-07-05 14:00:20 -07:00
2026-07-24 23:22:11 +05:30
2026-07-15 09:47:37 -07:00
2026-07-22 12:02:40 -05:00
2026-07-21 20:18:43 -05:00
2026-06-29 09:18:10 -04:00
2026-07-23 17:03:49 -07:00
2026-07-23 19:44:35 -07:00
2026-07-24 11:45:57 -07:00
2026-07-24 01:49:22 -05:00
2026-07-23 19:44:35 -07:00
2026-07-24 11:45:57 -07:00
2026-07-02 13:17:41 -07:00
2026-07-24 22:58:47 +05:30
2026-07-02 13:17:41 -07:00
2026-07-23 01:28:58 -05:00
2026-07-18 02:31:20 -07:00
2026-07-23 21:06:56 -07:00
2026-07-23 07:33:36 -07:00
2026-07-18 12:28:59 -07:00
2026-07-23 11:54:47 -07:00
2026-07-17 13:49:12 -07:00
2026-07-22 04:40:07 -07:00
2026-07-23 17:26:24 -07:00
2026-07-17 04:54:06 -07:00
2026-07-24 12:10:03 -05:00
2026-07-23 08:32:09 -07:00
2026-07-24 18:54:45 +00:00
2026-07-14 16:47:33 +05:30
2026-06-30 16:56:01 -07:00
2026-07-05 00:59:35 -07:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:21 -05:00
2026-07-16 07:57:51 -07:00
2026-07-23 08:19:14 -07:00
2026-07-24 13:00:53 +05:30
2026-07-23 21:07:18 -07:00
2026-07-01 04:07:46 -07:00
2026-07-23 11:21:04 -07:00
2026-07-20 11:05:52 -07:00
2026-07-22 12:10:58 -05:00
2026-07-16 01:13:43 -07:00
2026-07-05 03:14:55 -07:00
2026-07-23 16:58:06 -07:00
2026-07-09 14:35:14 +05:30
2026-07-10 05:41:59 -05:00
2026-07-20 02:25:44 -07:00
2026-07-20 02:25:57 -07:00
2026-07-19 08:25:35 +05:30
2026-07-07 11:57:01 +05:30
2026-07-16 04:32:23 -07:00
2026-07-22 04:39:17 -07:00
2026-07-24 11:45:57 -07:00
2026-07-05 14:48:11 -07:00
2026-07-23 21:06:56 -07:00
2026-07-24 11:45:57 -07:00
2026-07-23 21:06:56 -07:00
2026-07-02 04:51:56 +05:30
2026-07-17 18:31:09 +00:00
2026-07-01 04:55:15 -07:00
2026-07-22 08:11:09 +05:30
2026-07-18 19:03:51 -04:00
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-06-30 17:28:33 -07:00
2026-07-16 23:07:13 -07:00
2026-07-16 04:26:32 -07:00
2026-07-20 13:04:12 -07:00
2026-07-18 02:08:39 -07:00
2026-07-11 05:41:58 -07:00
2026-07-24 11:45:57 -07:00
2026-07-14 02:59:39 +05:30
2026-07-14 02:59:39 +05:30
2026-07-23 16:38:06 -07:00
2026-07-23 19:44:35 -07:00
2026-07-22 12:02:40 -05:00
2026-07-20 05:38:45 -07:00
2026-07-23 17:32:38 +05:30
2026-07-12 04:32:52 -07:00
2026-06-30 00:59:29 -05:00
2026-07-02 06:07:56 +05:30
2026-07-14 02:59:39 +05:30
2026-07-14 02:59:39 +05:30
2026-07-06 02:42:24 -07:00
2026-07-06 04:38:17 -07:00