Skip to content

test(browser): bound ordinary teardown to one deadline - #150

Draft
seonghobae wants to merge 7 commits into
test/agent-task-forced-close-shared-teardown-deadlinefrom
test/agent-task-shared-teardown-deadline
Draft

test(browser): bound ordinary teardown to one deadline#150
seonghobae wants to merge 7 commits into
test/agent-task-forced-close-shared-teardown-deadlinefrom
test/agent-task-shared-teardown-deadline

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #28, stacked on live PR #147 branch test/agent-task-forced-close-shared-teardown-deadline.

Falsifiable defect

Ordinary controlled Agent Task teardown previously waited for the exact browser-root identity and the already sampled Chromium process set with two independent bounded waits. A slow or stuck teardown could therefore consume the configured timeout twice even though the product evidence describes one bounded teardown phase.

RED -> RCA -> GREEN

  1. Test-first contracts require ordinary teardown to share one monotonic deadline across exact root-identity termination and sampled process-set termination while preserving those as separate evidence fields.
  2. The pre-fix contract exposed that the two helpers each created or consumed their own full timeout budget; sequential invocation could extend nominal teardown latency without changing the caller-visible timeout.
  3. The smallest production remedy computes one ordinary-teardown deadline after session/driver shutdown and passes only the remaining budget to each observation boundary. The existing fail-closed root/process-set evidence semantics remain separate, and None remains preserved when no complete process set was captured.
  4. CHANGELOG.md records this exact behavioral boundary and its limits; no cgroup/task ownership, post-snapshot process discovery, cross-platform supervision, or OS-wide orphan-absence claim is added.

Fresh stack reconstruction

The live prerequisite #147 moved to exact 962e179b53ed0342fde5b50c3deac0e7454b0d4f after this child was last validated. The child was therefore reconstructed non-destructively from GitHub's current conflict-free synthetic merge tree, preserving both the prerequisite changes and this PR's unique ordinary-teardown delta.

Current exact head: f42b388d92c03a2f2ccbe7ca07803e5f5d2aea44.
Exact prerequisite/base head: 962e179b53ed0342fde5b50c3deac0e7454b0d4f.
Fresh ancestry comparison: 7 commits ahead / 0 behind, with merge base exactly the current prerequisite head.

The previous exact-head CI/coverage/MV3 evidence belongs to predecessor 4da223ac612ea52c04022f5380919ce85a868d15 and is not promoted to the reconstructed head. Fresh exact-head checks and review evidence must complete on f42b388d92c03a2f2ccbe7ca07803e5f5d2aea44 before this child can advance.

Truth boundary

This proves only bounded ordinary controlled Linux/pinned-Chromium teardown observation for the exact browser root and the already sampled Chromium process set. It does not claim cgroup/task ownership, discover processes created after the sample, prove OS-wide orphan absence, authenticate Chromium/ChromeDriver provenance, implement cross-platform supervision, or turn this CI compatibility runner into a product browser API.

The scheduled actor does not merge to protected main, self-approve, force-push, alter workflows/rulesets/secrets, tag, release, or publish.


Open in Devin Review

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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: 0f8b55ae-a146-486b-a90e-9160da0048a3

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.

@seonghobae
seonghobae marked this pull request as ready for review August 14, 2026 04:41
@seonghobae
seonghobae marked this pull request as draft August 14, 2026 08:09
…teardown deadline

- Resolve run_mv3_compatibility.py by keeping the ordinary-teardown
  process-set termination evidence computation alongside the realigned
  parent's session/driver cleanup-failure classification.
- Resolve CHANGELOG.md by keeping the parent's refined pinned-Chromium
  identity entry plus this lane's forced-close and ordinary teardown
  shared-deadline entries.
- Update the shared-teardown contract to assert the same one-waiter
  ordering invariant against the realigned bounded termination helpers.
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae marked this pull request as draft August 27, 2026 01:01
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