Symptom: No per-user daily conversation-count telemetry exists anywhere. hourly_usage (Firestore, users/*/hourly_usage) has no conversation counter — record_usage(insights_gained=N) increments by N per processed conversation, not by "1 conversation." users/*/conversations exists (~9.9M docs) but a collection-group filter on created_at/started_at fails for lack of a COLLECTION_GROUP_ASC index, so an unfiltered scan isn't a usable 30-day distribution. No PostHog event fires once per non-discarded processed conversation either.
Impact: Blocks evaluating a conversation-anchored cap for mobile Proactive AI (the pricing-tier rework's preferred cap unit, since insights/memories fire once per processed conversation) — see the pricing handoff (formed2forge/handoffs, omi-pricing.md §4/§5/§7/§14) for full context.
Fix identified: emit a conversation_processed event, or add a hourly_usage.conversations_processed int field, from backend/utils/conversations/process_conversation.py after a non-discard — same call site as the existing record_usage call.
Evidence: production usage-distribution report (30-day window, 2026-07-29 to 2026-08-27, prod Firestore hourly_usage collection group) explicitly flagged this as unmeasurable from existing data.
Symptom: No per-user daily conversation-count telemetry exists anywhere.
hourly_usage(Firestore,users/*/hourly_usage) has no conversation counter —record_usage(insights_gained=N)increments byNper processed conversation, not by "1 conversation."users/*/conversationsexists (~9.9M docs) but a collection-group filter oncreated_at/started_atfails for lack of aCOLLECTION_GROUP_ASCindex, so an unfiltered scan isn't a usable 30-day distribution. No PostHog event fires once per non-discarded processed conversation either.Impact: Blocks evaluating a conversation-anchored cap for mobile Proactive AI (the pricing-tier rework's preferred cap unit, since insights/memories fire once per processed conversation) — see the pricing handoff (formed2forge/handoffs, omi-pricing.md §4/§5/§7/§14) for full context.
Fix identified: emit a conversation_processed event, or add a hourly_usage.conversations_processed int field, from backend/utils/conversations/process_conversation.py after a non-discard — same call site as the existing record_usage call.
Evidence: production usage-distribution report (30-day window, 2026-07-29 to 2026-08-27, prod Firestore hourly_usage collection group) explicitly flagged this as unmeasurable from existing data.