Repository navigation
Verify keyboard journeys and reduce browser observation overhead - #6
Merged
Merged
Conversation
PerchAnton
marked this pull request as ready for review
October 28, 2026 18:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Independent target and role reads previously waited for each other. Resolve them concurrently while awaiting every read before observing DOM state or disposing handles. Preserve deterministic error ordering, fresh locator resolution and the existing keyboard/time limits. Add delayed-sibling cleanup and five-value canary regressions for every journey type.
Add a source-bound repeatability verifier and a fixture-specific native Playwright benchmark. The recorded checkpoint contains 45 complete sequential rounds of 153 tests (6,885 executions), without retries or semantic differences, plus a matching final four-worker run. The maintainer accepted this reduced scope; the interrupted next round is excluded and the original 100-round criterion remains explicitly unmet. A version-bound policy and package gate enforce the recorded scope and source hashes.
The benchmark uses 5 warmups and 30 alternating measured pairs per workload, semantic equivalence checks and three negative controls. Paired median overhead is 8.7% for dialogs, 0.8% for manual tabs and 4.8% for forms; each also meets the 20% target by ratio of medians. README graphics link to raw pairs, median/p95, environment and limitations. These synthetic fixtures do not establish universal performance or accessibility claims.
Validation: strict types; 30 unit tests; 48 actual subprocess exit-code cases; 6,885 sequential fixture executions and 153 final isolation tests with 6,900 unique journey UUIDs; clean offline tarball installation, ESM/CJS imports and declarations, six browser examples and three guarded journeys. Final Linux/macOS CI passed on 94dccde: https://github.com/PerchAnton/keytrail/actions/runs/40747597014.
Source candidate 0.1.0-alpha.5; no package or release is published. DEV10 remains separate.