src/window-tracking/TrackingTelemetrySpecs.md
What the tracking pipeline reports about itself: provider health, the click channel's own lifecycle, and the
attention decisions that were committed and refused. It is written after decisions, never before, by a
recorder that owns nothing — the deciding is AttentionEngine's (AttentionOrderSpecs.md). Switching
telemetry off cannot change what AltTab does.
The QA harness is the consumer: --qa-state reads summary, and --qa-telemetry drains the ring as NDJSON.
v, seq, at and kind; every other field is optional and omitted when unsetdroppedCount reports the gapsource is the CHANNEL that named the window (workspace, altTab, accessibility, annotatedSession),
so a disagreement is attributable to one of them rather than to "focus" in generallastAttention always reflects the most recent COMMITTED decision — a refusal is recorded as its own event
rather than overwriting it, because a reader asking "where does the model think the user is" is not helped
by the answer it just declined