Problem
tabby/Support/PartialAXDiagnostics.swift defines a diagnostic that records "partial-AX" snapshots — the asymmetric state where AX reports the focused element as supported and we have caret bounds, but the element's text value reads as empty. This is the lazy-AX warm-up signature in Chromium/Electron.
The file is in the tree but has no call sites. It will not emit anything in Console.app.
Why it matters
The decision to close #17 (prefix-tracker) was made on instinct, not evidence. The whole point of PartialAXDiagnostics is to generate the data that decision should be made on. Without call sites the data never accumulates and we can't tell whether the partial-AX window is wide enough to swallow real keystrokes after the Chromium AX wake (#78) lands.
Acceptance
- Call
PartialAXDiagnostics.record(_:) from the focus-snapshot pipeline once per snapshot (the predicate inside is idempotent and silent on the non-partial path).
- Verify entries appear in
Console.app filtered by subsystem:app.tabby category:ax-partial after a normal work session.
- File header doc already explains how to read the output — no doc changes needed.
Problem
tabby/Support/PartialAXDiagnostics.swiftdefines a diagnostic that records "partial-AX" snapshots — the asymmetric state where AX reports the focused element as supported and we have caret bounds, but the element's text value reads as empty. This is the lazy-AX warm-up signature in Chromium/Electron.The file is in the tree but has no call sites. It will not emit anything in Console.app.
Why it matters
The decision to close #17 (prefix-tracker) was made on instinct, not evidence. The whole point of
PartialAXDiagnosticsis to generate the data that decision should be made on. Without call sites the data never accumulates and we can't tell whether the partial-AX window is wide enough to swallow real keystrokes after the Chromium AX wake (#78) lands.Acceptance
PartialAXDiagnostics.record(_:)from the focus-snapshot pipeline once per snapshot (the predicate inside is idempotent and silent on the non-partial path).Console.appfiltered bysubsystem:app.tabby category:ax-partialafter a normal work session.