Skip to content

test(mv3): prove ephemeral Agent Task profile isolation - #49

Draft
seonghobae wants to merge 14 commits into
test/mv3-downloadsfrom
test/mv3-ephemeral-profile-isolation
Draft

test(mv3): prove ephemeral Agent Task profile isolation#49
seonghobae wants to merge 14 commits into
test/mv3-downloadsfrom
test/mv3-ephemeral-profile-isolation

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Buyer-visible gap

Partial implementation of #28. The pinned real-Chromium compatibility lane must prove that every Agent Task trial starts from an empty profile, reuses only that trial-local profile across the controlled restart pair, removes it afterwards, and does not leave inherited Chromium descendants alive after ChromeDriver exits.

Repaired live stack

Current exact prerequisite PR #43 head: c5e33b47b7a2ade47ecf962a41220b62c96a88db.
Current exact child head: 4344b2d22e945a6ceddf0667faf6ad6f60534a42.

The prior child head 3dc0cfd1fc6636ab3b258e00e01715f96c7ca535 had diverged from the moved prerequisite. The child was reconstructed non-destructively from the exact current #43 tree and advanced by a two-parent commit whose first parent is the previous child and whose second parent is the current prerequisite. Fresh comparison reports behind 0, merge base exactly c5e33b47b7a2ade47ecf962a41220b62c96a88db, and a remaining semantic delta of exactly three child-owned files:

  • scripts/ci/run_mv3_compatibility.py;
  • tests/test_mv3_ephemeral_profile_contract.py; and
  • tests/test_mv3_process_group_cleanup_contract.py.

No prerequisite/predecessor check or review is transferred.

Implemented boundary

The current head preserves all prerequisite download/diagnostic/cleanup hardening and adds:

  • one fresh temporary Chromium profile per compatibility trial;
  • reuse of only that trial-local profile across the controlled initial/restart pair;
  • profile deletion after the pair, with the profile path absent from returned evidence;
  • ChromeDriver launch in a fresh operating-system session;
  • process-group SIGTERM with bounded SIGKILL recovery so inherited Chromium descendants do not retain the supposedly ephemeral profile;
  • bounded fallback behavior for already-gone or failing process-group signals without catch-all suppression; and
  • causal error preservation: a primary browser-pass failure remains primary if session cleanup/process teardown also fail; a reviewed session-delete failure remains the cause of typed WebDriverSessionCleanupError when teardown also fails.

The process-group behavior is controlled Linux CI evidence, not a claim of a complete cross-platform production process supervisor.

Exact-current verification

On unchanged exact head 4344b2d22e945a6ceddf0667faf6ad6f60534a42 against exact prerequisite c5e33b47b7a2ade47ecf962a41220b62c96a88db:

  • ancestry: ahead, behind 0, merge base exactly the live prerequisite;
  • Manifest V3 Compatibility run 31979916749: success;
  • CI run 31979916762: success;
  • Rust contracts job 95244934137: repository contracts, formatting, workspace checks, full tests, strict Clippy and rustdoc success;
  • Production coverage job 95244934130: exact production coverage enforcement success;
  • the exact-head check-run set contains only the successful Rust-contract, production-coverage and pinned-Chromium fixture checks; and
  • GitHub freshly reports the Draft mergeable.

Feature-base organization security/review workflows that did not execute on this exact head are absent evidence and are not represented as passing.

Scope / governance

This remains compatibility evidence, not a production browser adapter. It adds no default-profile access, raw credential handling, persistent profile storage, extension grant widening, general browser-protocol authority, model call, workflow mutation, or release claim. Keep Draft while #43 remains active. Protected-main AGENTS.md forbids this scheduled actor from merging, self-approving, altering workflows, adding secrets, weakening checks, tagging, or publishing.

@coderabbitai

coderabbitai Bot commented Aug 10, 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: e0c194d7-d9dd-4f1f-b2cc-3b230f11107d

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