You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(apple): share snapshot classification conformance cases across producers #4052
Bridge trait-based tab/text-input/focused/selected classification is repeatedly aligned to XCTest. Existing bridge tests alone do not independently establish cross-producer semantic parity; collapsed-tab geometry already demonstrates shared-fixture use.
Owner and scope
Shared fixture owner plus packages/platform-apple/src/snapshot-source/tree tests and provider-limrun trait classification/adaptation tests. Swift runner participates only if an existing pure function already consumes equivalent fixture semantics.
Required behavior
Add bounded independent expected classification/state cases for the AX bridge and Limrun, which classify from traits. Identify supported producer inputs and mark unsupported/non-applicable rows. XCTest gets element types from XCUIElement; mark trait-classification rows runner:not-applicable and retain live conformance as the authority for XCTest semantics. Only reuse or extend an existing pure Swift fixture consumer where its semantics actually apply. No test-only production exports, synthetic XCTest parity or new conformance framework.
API or evidence example
Corpus rows may have producer-specific raw inputs plus independent normalized expected role/state; they must not compute expected results with the tested implementation.
Observable completion
Shared independent expected cases cover recent tab/text-entry semantics plus nearest negatives at actual trait-based producer seams.
Every row names its applicable backends; XCTest trait classification is not claimed as pure fixture parity.
No public behavior change, fabricated raw-input equivalence or production test-only seam.
If a pure Swift function changes, its discovery/build requirements are met; otherwise this task requires no new native build or device lane.
Dependencies and sequencing
Blocked by: none.
Validation
Focused bridge and Limrun TypeScript suites and existing fixture integrity. Native selection/build only if native pure code is touched. Live XCTest semantics stay with existing live conformance; do not substitute fixture results for live evidence.
Base audit SHA: 144bd59890277fd4717995588ad817597c9d6552. Re-read the issue and all Decision: comments before work. Read applicable AGENTS.md routes. Keep one owner boundary per PR. Independent review and serialized exact-head validation are coordinated by the umbrella orchestrator.
Decision: accept the three fixture review findings at 3b8a3bc13b. Corrected at 0cee693486f2b5e59e69dec2b2d05c622c5a86a8: each producer input identifies captured versus rule basis; description says expected fields pin producer rules and captured words do not establish live XCTest parity. Limrun has its own fact labels, including TabButton collapsed-bar candidacy rather than bridge type override. Bridge semantics now run per row, separate from applicability metadata. Added cheap nearest negatives for search/secure bits without text entry. No production or Swift edits. Parent focused4files /103tests pass, plus lint/typecheck/full format. This shared named corpus is the value; existing detailed tests were retained and applicability metadata is not counted as semantic evidence. Exact validation and any selected native-lane status remain pending.
Current state: PR #4073 is published at 0cee693486f2b5e59e69dec2b2d05c622c5a86a8. All three review corrections are committed. Four focused suites passed 103 tests. Exact-head affected validation passed all runnable stages: format, lint, typecheck, layering, Fallow, related tests and full unit; receipt .tmp/validation/run-v6NGvL/receipt.json, exactCommit: true, merge base 144bd59890. Native lanes are selected by the fixture prefix and skipped locally as GitHub-authoritative. Coverage and other skipped lanes remain CI obligations. No production or Swift changes, no live XCTest parity or mutation proof is claimed.
Activity
thymikee commentedon Oct 29, 2026
Decision: accept the three fixture review findings at
3b8a3bc13b. Corrected at0cee693486f2b5e59e69dec2b2d05c622c5a86a8: each producer input identifies captured versus rule basis; description says expected fields pin producer rules and captured words do not establish live XCTest parity. Limrun has its own fact labels, including TabButton collapsed-bar candidacy rather than bridge type override. Bridge semantics now run per row, separate from applicability metadata. Added cheap nearest negatives for search/secure bits without text entry. No production or Swift edits. Parent focused4files /103tests pass, plus lint/typecheck/full format. This shared named corpus is the value; existing detailed tests were retained and applicability metadata is not counted as semantic evidence. Exact validation and any selected native-lane status remain pending.thymikee commentedon Oct 29, 2026
Current state: PR #4073 is published at
0cee693486f2b5e59e69dec2b2d05c622c5a86a8. All three review corrections are committed. Four focused suites passed 103 tests. Exact-head affected validation passed all runnable stages: format, lint, typecheck, layering, Fallow, related tests and full unit; receipt.tmp/validation/run-v6NGvL/receipt.json,exactCommit: true, merge base144bd59890. Native lanes are selected by the fixture prefix and skipped locally as GitHub-authoritative. Coverage and other skipped lanes remain CI obligations. No production or Swift changes, no live XCTest parity or mutation proof is claimed.