hermes-agent/tests/telemetry
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
..
__init__.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_cli_telemetry.py fix(telemetry): aggregate requires local telemetry to be on 2026-07-24 18:54:45 +00:00
test_emitter.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_export_redaction.py refactor(telemetry): drop "plane" terminology 2026-07-24 18:54:45 +00:00
test_exporter_bulk.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_governance.py refactor(telemetry): drop "plane" terminology 2026-07-24 18:54:45 +00:00
test_insights_integration.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_otlp_exporter.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_plugin_autoload.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_plugin_e2e.py test(telemetry): end-to-end plugin dispatch coverage 2026-07-24 18:54:45 +00:00
test_plugin_hooks.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_policy_consent.py fix(telemetry): aggregate requires local telemetry to be on 2026-07-24 18:54:45 +00:00
test_rollup.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00
test_schema_migration.py feat(telemetry): local-first telemetry & observability 2026-07-24 18:54:45 +00:00