test(browser): locate controlled Agent Task targets semantically - #100
Draft
seonghobae wants to merge 3 commits into
Draft
test(browser): locate controlled Agent Task targets semantically#100seonghobae wants to merge 3 commits into
seonghobae wants to merge 3 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 12, 2026
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.
Partial implementation of #28, stacked on exact PR #73 head
6ba2d03345fa3153230a7d365fba8284696541a1.Buyer-visible gap
The controlled pinned-Chromium task verified browser-computed role/name before each action, but it still located the fixture targets by CSS identifiers first. Issue #28 requires the first real workflow to locate the form field by semantic role/name, so the test harness now proves bounded semantic discovery rather than merely validating semantics after selector-based discovery.
Dependency
This Draft targets PR #73 branch
test/agent-task-process-set-evidence. Keep Draft while #73/#72/#71/#70/#65 remain active. No prerequisite check, review, status, mergeability, or real-browser result transfers to this branch.TDD / implementation
e0e4cef2546c0564ba86b6301a3375656ed988aerequired a bounded_find_element_by_accessible_role_namehelper, a finite candidate limit, exact browser-computed role/name matching, explicit zero/multiple-match failures, and removal of direct#task-text/#submit-taskdiscovery. CI run31552226676reached the intended Python repository-contract RED because the helper and semantic discovery path did not exist.0a10234d32603175344dd337f41bbddb5515becaadded only the bounded controlled-fixture locator: enumerate at most 128 WebDriver candidates, validate each W3C element identifier, read computed role/name, and require exactly one exact match before clear/type or click. CI31553300188and Manifest V3 Compatibility31553300076succeeded on that head.13f49b7fc4f11d0fd851f51d816dc0cc94003b91adds focused behavior regressions for the helper itself: exact-match success plus zero-match, duplicate-match, oversized candidate-set, and malformed-candidate fail-closed cases.The helper uses the existing W3C WebDriver HTTP element enumeration only as a bounded fixture transport, then filters by browser-computed role/name. This does not become a product selector API. A later product adapter must use a versioned browser protocol boundary rather than treating this compatibility-runner helper as durable authority.
Exact-head proof
On unchanged exact head
13f49b7fc4f11d0fd851f51d816dc0cc94003b91against unchanged exact prerequisite #73 head6ba2d03345fa3153230a7d365fba8284696541a1:31553583901: success, including repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, rustdoc, and exact owned production function/line/region/branch coverage;31553583902: success against the pinned real-Chromium lane;No predecessor-head or prerequisite result is transferred.
Truth boundary
This slice is executable pinned-browser evidence only. It does not implement the production WebDriver BiDi adapter, expose CSS/XPath/model-generated selectors as OriginWeave authority, mint node handles, authorize or dispatch typed actions, prove source/network provenance, or complete issue #28.