- expose whether native backend initialization has completed
- distinguish completed initialization from backend availability
- wait up to one second for asynchronous initialization in benchmark mode
- exclude AT-SPI registration activity from notification timing
- report backend readiness latency in benchmark results
- verify disabled backends complete initialization immediately
- Balanced disabled/enabled execution order to avoid systematic cache/frequency bias.
- Added 10 confirmation sample pairs only when the initial batch fails.
- Recalculate medians using all samples before deciding.
- Print complete JSON measurements to stderr on failure, so CI diagnostics are no longer lost.
- expose eepp windows and widgets through Cocoa NSAccessibility
- add lazy, stable native wrappers with safe lifecycle invalidation
- support hierarchy, focus, geometry, actions, values, and UTF-16 text APIs
- deliver coalesced native notifications for UI and model changes
- preserve surviving secondary windows when the primary closes
- add macOS semantic, notification, lifecycle, and performance harnesses
- add native unit coverage and accessibility example scenarios
- keep dormant accessibility overhead negligible
- Add inactive and active accessibility benchmarks to protect against startup, notification, and AT-SPI scaling regressions.
- Extend the AT-SPI benchmark with text, focus, action, value, geometry, hit-testing, and model-update operations. Run both benchmarks in Linux CI and preserve their JSON results as artifacts.
- Add an explicit null accessibility backend for baseline measurements and optional accessibility disabling.
- Harden the Windows UIA backend by caching client availability per update, validating root providers, and preventing recursive window procedure forwarding.