mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
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.
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_cli_telemetry.py | ||
| test_emitter.py | ||
| test_export_redaction.py | ||
| test_exporter_bulk.py | ||
| test_governance.py | ||
| test_insights_integration.py | ||
| test_otlp_exporter.py | ||
| test_plugin_autoload.py | ||
| test_plugin_e2e.py | ||
| test_plugin_hooks.py | ||
| test_policy_consent.py | ||
| test_rollup.py | ||
| test_schema_migration.py | ||