Skip to content

test(browser): execute controlled Agent Task on pinned Chrome - #70

Draft
seonghobae wants to merge 6 commits into
test/agent-task-controlled-fixturefrom
test/agent-task-pinned-chrome-execution
Draft

test(browser): execute controlled Agent Task on pinned Chrome#70
seonghobae wants to merge 6 commits into
test/agent-task-controlled-fixturefrom
test/agent-task-pinned-chrome-execution

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

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

Buyer-visible gap

PR #65 provides the deterministic controlled Agent Task fixture, but static fixture coverage is not sufficient evidence that a real pinned browser can execute the bounded action without silently leaving the authorized document. This lane proves real WebDriver input/click/post-condition execution and explicitly proves that submission preserves the loaded fixture URL.

Dependency and exact stack state

This Draft targets the active PR #65 branch test/agent-task-controlled-fixture. The independently refetched live prerequisite remains exact head cd4115e1b7e06717c3fdd8464da191fa3ca0cc60; this PR is now exact head 33ec162e932b99f9f7bd78ea0108b5e8501e7694.

The prerequisite added fixture-contract hardening after this stack was opened. Exact blob comparison showed the hardened tests/test_agent_task_fixture_contract.py was already content-identical on both branches, so a non-destructive merge-topology commit added current #65 as the second parent while preserving the existing #70 tree. Fresh compare now reports #70 ahead of current #65 with behind_by=0 and merge base exactly cd4115e1b7e06717c3fdd8464da191fa3ca0cc60. No prerequisite review/check is transferred.

TDD / RCA sequence

  1. Exact test-only head 197ce14a5e407d61ac35b38b45c0cd042dd6278c introduced the Agent Task pinned-browser contract before the executable runner boundary existed.
  2. CI run 31453444370, Rust contracts job 93662306248, checked out that exact head and failed in Python repository contracts with the intended absent Agent Task runner surface. This established the original RED boundary.
  3. The prior implementation reached exact head f9917cdd8050c9fdf0aefa669f4d981af85479d6 with real pinned-Chrome clear/type/click/post-condition execution and temporary-profile cleanup.
  4. A later contract hardening at head 9ed317b5053ed3027cb1420e3da69a29ee88eff0 required initial_url, post_submit_url, url_unchanged, and a fail-closed Agent Task URL changed during submission boundary. CI run 31504267126, Rust contracts job 93821739447, checked out that exact head and failed only the four new URL-invariant assertions because the runner did not yet observe the current WebDriver URL around submission. This is the observed RED for the new invariant.
  5. Production head 65be355e6f771ea8bbe5f0418ce31e5f86832abe reads the WebDriver current URL immediately after loading the controlled fixture, fails if it is not the requested fixture URL, reads it again immediately after the real submit click, fails closed if it changed, records only the credential-free url_unchanged boolean in trial evidence, and requires that boolean in the repeatability gate.
  6. Current head 33ec162e932b99f9f7bd78ea0108b5e8501e7694 changes no implementation tree relative to that production head; it only aligns ancestry to current test(browser): add controlled Agent Task fixture #65 after proving the prerequisite hardening is already content-equivalent.

Exact-head proof

On exact current head 33ec162e932b99f9f7bd78ea0108b5e8501e7694:

  • CI run 31536541578: success;
  • Rust contracts job 93928872621: success, including repository contracts, formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc;
  • Production coverage job 93928872549: success, including exact owned production function/line/region/branch enforcement;
  • pinned real-browser Manifest V3 Compatibility run 31536541569, job 93928872792: success with the exact Chrome for Testing fixture;
  • GitHub reports this Draft mergeable against exact current test(browser): add controlled Agent Task fixture #65 with no dependency lag; and
  • no formal reviews or inline review threads are currently returned for this exact head.

No predecessor-head check, review, status or mergeability result is transferred to this current head.

Implemented boundary

The Agent Task CI evidence uses a fresh temporary profile with extensions disabled, performs real WebDriver clear/type/click operations, verifies the deterministic data-state="submitted" and synthetic echo post-condition, verifies that the browser remains on the exact loaded fixture URL, emits bounded credential-free repeatability evidence, and proves profile removal after each trial.

Truth boundary

This lane is executable CI evidence, not the final OriginWeave browser runtime. CSS selectors are controlled test-harness locators and are not represented as semantic role/name authority. URL equality proves only that this synthetic same-document action did not navigate away; it does not prove origin authorization, WebDriver BiDi/CDP product-adapter semantics, OriginWeave semantic observation/node-handle composition, deterministic Agent policy dispatch, source-node/network provenance, trusted telemetry/process attribution, secret brokerage, model execution, persistence, or completion of issue #28. Those remain separate boundaries.

Keep Draft while #65 is active.

@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: a71c39f6-4ced-43f7-83f4-06f715f09138

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