test(browser): execute controlled Agent Task on pinned Chrome - #70
Draft
seonghobae wants to merge 6 commits into
Draft
test(browser): execute controlled Agent Task on pinned Chrome#70seonghobae wants to merge 6 commits into
seonghobae wants to merge 6 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 11, 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 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 headcd4115e1b7e06717c3fdd8464da191fa3ca0cc60; this PR is now exact head33ec162e932b99f9f7bd78ea0108b5e8501e7694.The prerequisite added fixture-contract hardening after this stack was opened. Exact blob comparison showed the hardened
tests/test_agent_task_fixture_contract.pywas 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 withbehind_by=0and merge base exactlycd4115e1b7e06717c3fdd8464da191fa3ca0cc60. No prerequisite review/check is transferred.TDD / RCA sequence
197ce14a5e407d61ac35b38b45c0cd042dd6278cintroduced the Agent Task pinned-browser contract before the executable runner boundary existed.31453444370, Rust contracts job93662306248, 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.f9917cdd8050c9fdf0aefa669f4d981af85479d6with real pinned-Chrome clear/type/click/post-condition execution and temporary-profile cleanup.9ed317b5053ed3027cb1420e3da69a29ee88eff0requiredinitial_url,post_submit_url,url_unchanged, and a fail-closedAgent Task URL changed during submissionboundary. CI run31504267126, Rust contracts job93821739447, 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.65be355e6f771ea8bbe5f0418ce31e5f86832abereads 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-freeurl_unchangedboolean in trial evidence, and requires that boolean in the repeatability gate.33ec162e932b99f9f7bd78ea0108b5e8501e7694changes 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:31536541578: success;93928872621: success, including repository contracts, formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc;93928872549: success, including exact owned production function/line/region/branch enforcement;31536541569, job93928872792: success with the exact Chrome for Testing fixture;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.