Skip to content

test(browser): retain Agent Task process teardown evidence after failure - #143

Draft
seonghobae wants to merge 5 commits into
test/agent-task-browser-process-termination-evidencefrom
test/agent-task-failure-process-termination-evidence
Draft

test(browser): retain Agent Task process teardown evidence after failure#143
seonghobae wants to merge 5 commits into
test/agent-task-browser-process-termination-evidencefrom
test/agent-task-failure-process-termination-evidence

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, based on current PR #142 head 015025f2539e4fb1dbd7d259ec22dad50f944396.

Buyer / reliability boundary

After the controlled browser's PID/start-time identity is captured, a reviewed browser failure retains a bounded failure type and an observed root-process teardown result. Temporary-profile cleanup is recorded separately. Successful cleanup never converts a failed task into a pass. Raw exception messages and command paths are not retained.

This is evidence about the original controlled Chrome root identity only: descendant-process teardown, cross-platform supervision, arbitrary browser recovery and OS-wide orphan absence remain separate work.

Current review repair and RED → GREEN

Current head: 44fd9a450f864feff5cf2ba2883425a71ba10b9b; parent: 015025f2539e4fb1dbd7d259ec22dad50f944396. Runtime behavior is unchanged from c1dd380be91c0604b797b6914f8cfef2e96f99b7.

A new release-record regression failed before the missing Unreleased entry and evidence-limit documentation were added. A controlled regression invokes both real browser-pass and isolated-trial helpers without launching a browser. It checks observed exit, a surviving identity, and process-observation failure; each remains a failed trial, driver shutdown occurs, and private exception text does not enter the result.

If process observation itself fails, termination remains unproven. The outer trial records the bounded observation-error type and profile cleanup, without a termination flag; the original browser-failure type is not retained in this fallback record. This limitation is documented rather than replaced with fabricated success or an unimplemented causal chain.

Exact-current local verification

  • Five focused failure/cleanup contracts pass; all 192 repository Python contracts and compileall pass.
  • Rust 1.97.1 formatting, workspace/all-target check and tests, strict Clippy, and strict rustdoc pass.
  • Pinned nightly coverage passes: 415/415 functions, 3555/3555 lines, 4444/4444 regions, and 476/476 branches.
  • The production compatibility runner is byte-for-byte unchanged by this review repair.

Local controlled tests are not real Linux process or pinned-Chromium runtime evidence. Fresh exact-head hosted checks must be evaluated independently; queued or historical successful runs are not current acceptance.

Historical provenance — not current acceptance

The original test-only head e847d0768d7006771b6ee10d56c52e555c0fc168 produced the failure-path retention RED. An earlier stack integration 452927dd0c6040fc7814b277e553ce6eff9e1479 had successful CI 32606887326 and Manifest V3 Compatibility 32606887322; those runs do not attest this current head or base.

Stack / authority

This remains Draft while #142 and earlier prerequisites are active. #144 must adopt and revalidate this exact head before downstream acceptance. Informational thread resolution is not a formal eligible approval, and no local result substitutes for required hosted CI, current rules, or independent approval. No merge, workflow, secret, ruleset, tag, release or publication mutation is included.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Open in Devin Review

Comment thread scripts/ci/run_mv3_compatibility.py
Comment thread scripts/ci/run_mv3_compatibility.py
@seonghobae
seonghobae marked this pull request as draft August 27, 2026 11:34
…termination-evidence' into test/agent-task-failure-process-termination-evidence

Signed-off-by: Seongho Bae <me@seonghobae.me>
Exercise the real controlled failure and cleanup path for observed exit, a surviving identity, and process-observation errors. Record the evidence limits without changing runtime behavior.

Commit-Message-Assisted-by: Codex (via Codex)
Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae added a commit that referenced this pull request Sep 5, 2026
Record #249 parent adoption, #142/#143 verified failure boundaries, and the exact #255 remaining quality failures. Preserve historical snapshots and separate local proof from hosted acceptance.

Commit-Message-Assisted-by: Codex (via Codex)
Signed-off-by: Seongho Bae <me@seonghobae.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant