Files
hermes-agent/acp_adapter
teknium1 928daa63af feat(telemetry): v5 engagement rollup, turns-before-switch, per-conversation sessions, relay source platform
Engagement (local daily rollup, emitted once the UTC day closes, exactly once per profile):
- hermes.engagement.surface_day.count {surface, active_minutes_bucket} per surface used
  (cli/tui/desktop/gateway/acp/cron); active time = inter-interaction gaps capped at 5 min.
- hermes.engagement.day.count {active_minutes_bucket, surfaces_used_count, primary_provider,
  primary_model, active_profile_count_bucket}; primary model = most attended turns that day.
  Active profiles are folded into one host accumulator in the root profile's store (opaque local
  hashes); only the root profile's row reports the count, other profiles report 0.
- Days-active-per-week / return-by-model are derived server-side; no weekly state, no new id.

Model satisfaction:
- hermes.model_switch_after.count {provider, model, turns_before_switch_bucket}: turns the model
  being left served in the conversation, from every /model site (CLI, TUI, ACP, gateway).

Decisions:
- hermes.session.count counts once per conversation across compression rotation (merged over the
  v4 conversation lineage), and gains message/model-call/tool-call count buckets with a longer
  tail (251_to_1000, gte_1001); rows recorded before the upgrade still package.
- Relay-delivered hermes.gateway.reply_latency and hermes.platform.delivery report the originating
  platform instead of `relay`.
2026-09-28 12:43:03 -07:00
..
…
…