Skip to content

test(browser): require Agent Task browser-process termination evidence - #142

Draft
seonghobae wants to merge 4 commits into
test/mv3-failure-profile-cleanup-evidencefrom
test/agent-task-browser-process-termination-evidence
Draft

test(browser): require Agent Task browser-process termination evidence#142
seonghobae wants to merge 4 commits into
test/mv3-failure-profile-cleanup-evidencefrom
test/agent-task-browser-process-termination-evidence

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, stacked on exact current PR #141 head 42af52f77336112c4fbe1da5c5283899f6bd288e.

Buyer/reliability gap

The controlled pinned-Chromium Agent Task proved temporary-profile teardown, bounded process/RSS sampling, and WebDriver session cleanup, but did not prove that the original browser root process actually terminated. A surviving browser process can retain task state or resources after its temporary profile path has been removed.

Dependency

This Draft targets exact current #141 head 42af52f77336112c4fbe1da5c5283899f6bd288e and must remain Draft while its prerequisite stack remains active. No prerequisite check, review, status, coverage, mergeability, synthetic-merge, predecessor-head, skipped, cancelled, queued, or absent evidence transfers.

TDD and implementation sequence

  1. Exact test-only RED head 146f742b140b54577b1e349be9c4a815fd6691d9 required PID/start-time identity binding through bounded Linux /proc/<pid>/stat parsing and post-shutdown process termination evidence. CI 31660930985, Rust contracts job 94325412054, failed first at the Python repository-contract boundary because production support was intentionally absent.
  2. Production support was added on 52b6ca22a1edf3367cb8ca4adc82c9e91f4233d6.
  3. b9201c8176d15f2bc5d9d2fbdc4577a580c2828d hardened malformed /proc/<pid>/stat suffix rejection.
  4. Current exact head a66fb27532a689e2e2458c7ff3cb79b340d113ce adds the truthful changelog record for the implemented boundary.

Implemented contract

The runner now:

  • binds the ChromeDriver-reported positive root PID to its exact Linux process start-time field rather than relying on PID existence alone;
  • parses command text containing spaces or closing-parenthesis characters without confusing the fixed suffix fields;
  • applies bounded process-exit waiting;
  • treats absence or a reused PID with a different start time as termination of the original process;
  • fails closed when the same PID/start-time identity remains live at the deadline; and
  • retains browser_process_terminated: true in successful controlled Agent Task evidence only after browser/driver shutdown proves that exact identity has ended.

Current exact-head proof

On a66fb27532a689e2e2458c7ff3cb79b340d113ce against exact base 42af52f77336112c4fbe1da5c5283899f6bd288e:

  • CI 31666834834: completed successfully;
  • Manifest V3 Compatibility 31666834858: completed successfully;
  • GitHub reports the Draft mergeable against its exact prerequisite; and
  • no formal reviews, requested reviewers, or unresolved review threads are currently returned.

Truth boundary

This lane proves the exact Chrome root process identified by ChromeDriver for the controlled Agent Task path. Descendant-process-set teardown and later failure-path preservation are separate descendant lanes. It does not prove OS-wide orphan absence, cgroup/task ownership, cross-platform process supervision, Chromium/ChromeDriver provenance, or completion of #28.

@coderabbitai

coderabbitai Bot commented Aug 13, 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: dbfafd88-2035-458a-bd9d-cc39203bbf34

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