Activation funnel
Distinct accounts that reached each step. Steps whose event type
isn't yet wired show as not-yet-wired.
First-plan outcome
Of the accounts that started an AI plan generation in this
window, how many succeeded, how many failed, and why?
Account-level distinct counts — retries don't double-count
the numerator. Latency from
plan.ai_generation_completed.duration_seconds.
Per the architect's funnel priority list (arch review
2026-05-28-arch-ios-analytics-v1-handover.md §2).
Active use (weekly)
Weekly counts of plan.viewed ("checking in")
and tonight.meal_logged ("consuming"). Engaged
accounts did both in the same week — that's the retention
proxy. Weeks start Monday in UTC. Per the architect's funnel
priority list §3.
Household formation
Inviter / redeemer activity over the window. We can't join invite-to-redemption directly (codes excluded from the wire by design — ADR-031 §6); these are aggregate counts plus a window-naive redemption-per-invite ratio. Source split distinguishes "new user via onboarding fork" from "existing user accepting in settings." Per the architect's funnel priority list §4.
Producer health
Counts per (source, type, schema_version) over the
selected window. Unregistered types are flagged.
| source | type | v | count | state |
|---|
Admin activity
ADR-054 admin audit signal. Each row is one
admin.apply or admin.bootstrap event
from a service-binding producer (router / identity / mcp).
Full before/after state lives in Workers Logs at the owning
service (search admin.apply.diff +
request_id).
| ingest_ts | type | service | op | target_kind | target | tier | actor | reason | agent |
|---|
Recent events
Sorted by ingest_ts desc (the server-stamped time).
Up to 50 rows.
| ingest_ts | event_ts | source | type | account | payload keys |
|---|