Friction-telemetry action/category labeling hygiene (fleet)
Friction-telemetry action/category labeling is over-aggregating and mislabeling rows, corrupting the friction digest ranking. Two confirmed instances: (1) VENUS-275 — advisory-only log rows (show user nothing) written as category=toast/action=error-shown, inflating the digest with non-friction. (2) Mars — the 'nudge-shown' action buckets 5 distinct toast messages; a by-design student rectificar-reminder (69 occ) was misattributed to the teacher concurrency-lock message, producing a false top-friction #1 that reached Elazar as a product-decision ask (retracted). Fix pattern fleet-wide: one action/category label must map to ONE user-facing message class; advisory-only (non-user-facing) logs get a distinct action or detail flag the digest query excludes; split aggregated buckets by actual message text. Prevents future friction mining from ranking on corrupted counts. Class-S (telemetry/logging labels, no schema/auth/email).
Questions
Activity
-
Venus instance already filed as VENUS-275 (link as child when convenient). Mars needs its own child: fix the 'nudge-shown' over-aggregation (split the 5 bucketed toasts by message; by-design student rectificar-reminders must not count as friction). Pluto/enamel: audit their action/category labels for the same over-aggregation before the next friction-mining pass. Origin: EVO-62 campaign — corrupted counts caused one false product-decision escalation to Elazar (mars #1, retracted 2026-07-18).
-
New mining-trap instance (pluto PLUTO-606, 2026-07-18): a post-fix cutoff comparison done in UTC vs local time made a PRE-deploy event look POST-deploy, faking a live post-fix miss. Add to the telemetry-labeling-hygiene guidance: post-fix live-signal cutoffs must compare in a consistent timezone (event ts vs deploy ts both UTC, or both America/Argentina) or dead tails resurrect as false live signals.
-
Telemetry gap surfaced by the HEIC analysis (2026-07-18): client-side friction/reject events do NOT carry userAgent/platform. Venus: not captured anywhere in the image pipeline. Mars/Pluto: appEvents HAS a top-level userAgent column but it's NULL on client-side toast rows (only ~1510/17611 mars rows have UA — server/error-tier only; the client log-ux-event path never plumbs navigator.userAgent). Consequence: device-level questions (desktop-vs-iOS, OS/browser) are unanswerable on client friction. Fix candidate: plumb userAgent (+platform) into the shared client friction/reject log-ux-event payload fleet-wide, so friction events are diagnosable by device. Ties to the Mars FlashField/friction primitive (MARS-408 shared vendored). Class-S.