Skip to content

test(browser): verify semantic role and name before controlled action - #71

Draft
seonghobae wants to merge 2 commits into
test/agent-task-pinned-chrome-executionfrom
test/agent-task-semantic-role-name-evidence
Draft

test(browser): verify semantic role and name before controlled action#71
seonghobae wants to merge 2 commits into
test/agent-task-pinned-chrome-executionfrom
test/agent-task-semantic-role-name-evidence

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, stacked on PR #70.

Buyer-visible gap

PR #70 proves real pinned-Chromium input/click/post-condition execution for the controlled Agent Task, but its controlled targets are located only by fixture CSS and the branch explicitly does not claim semantic role/name evidence. This lane adds a bounded browser-computed accessibility evidence check before either controlled action proceeds.

Dependency

This Draft is stacked on unchanged exact PR #70 head f9917cdd8050c9fdf0aefa669f4d981af85479d6 and must remain Draft while #70/#65 are active.

TDD / RCA sequence

  1. Exact test-only head 977d2682dc191ca6b26b9de631a3642680abdbc0 required _get_element_semantics, W3C WebDriver computed-role/computed-label endpoints, exact textbox / Task text and button / Submit task semantics, and credential-free evidence booleans.
  2. CI run 31454219111, Rust contracts job 93664601520, checked out that exact test-only head and failed at the intended repository contract because _get_element_semantics did not exist. This is the observed RED boundary.
  3. Current exact head 5f1f972f3e9888faa44af184fd54a466d20b6ddb adds only the bounded semantic read/verify step around the existing controlled elements. The runner still uses CSS solely to obtain the synthetic fixture element handle, then reads browser-computed role/name through WebDriver before clear/type or click. Mismatched or malformed semantics fail closed with bounded credential-free errors.

Exact-head proof

On exact head 5f1f972f3e9888faa44af184fd54a466d20b6ddb against unchanged exact prerequisite #70 head f9917cdd8050c9fdf0aefa669f4d981af85479d6:

  • CI run 31454448709: success, including Python repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, rustdoc and exact owned production function/line/region/branch coverage;
  • pinned real-browser run 31454448710, job 93665257103: success using Chrome for Testing 150.0.7871.129 / revision r1639810;
  • Agent Task repeats 3/3, pass rate 1.0; every trial reports input_semantics_verified=true, submit_semantics_verified=true, post_condition=true, input_echo_verified=true, extensions_disabled=true, and profile_cleaned=true;
  • bounded evidence artifact mv3-compatibility-5f1f972f3e9888faa44af184fd54a466d20b6ddb, artifact ID 9087505678, upload SHA-256 81a0fe4190a413a088a9fd8b3094367966b84c77770c8a7fce1f85bba3c888e5;
  • CodeRabbit exact-head commit status: success; and
  • GitHub reports the Draft mergeable against its unchanged prerequisite base.

No predecessor-head result is transferred.

Truth boundary

This remains executable CI evidence, not the final OriginWeave browser runtime. CSS selectors remain controlled test-harness locators; verifying browser-computed role/name does not itself implement role/name search, a versioned WebDriver BiDi/CDP product adapter, OriginWeave SemanticNodeObservation composition, opaque node-handle registration, typed policy dispatch, source-node/network provenance, resource telemetry, or real-site compatibility. Those remain separate boundaries of issue #28.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d1339923-35ac-440f-a05a-2bd4720fbb63

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant