test(browser): bound ordinary teardown to one deadline - #150
Draft
seonghobae wants to merge 11 commits into
Draft
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
seonghobae
marked this pull request as ready for review
August 14, 2026 04:41
seonghobae
marked this pull request as draft
August 14, 2026 08:09
seonghobae
marked this pull request as ready for review
August 14, 2026 08:18
…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.
seonghobae
marked this pull request as draft
August 27, 2026 01:01
…red-teardown-deadline' into test/agent-task-shared-teardown-deadline Signed-off-by: Seongho Bae <me@seonghobae.me>
Adopt the current forced-close parent and reconcile inherited observer injections with the existing ordinary shared waiter. Retain every failure assertion and reject invented process-set evidence after root-only capture. No new production timeout or polling change. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Reuse the reviewed parent contract without changing its assertions. On the shared-deadline predecessor it exposes three sandbox-disabled lanes and the missing browser-crash lane. Keep this RED commit local until the ordinary parent merge restores the security contract. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Ordinarily merge #148 at 0135984 after the inherited sandbox contract reproduced RED. Preserve every parent production change and the existing ordinary shared-deadline delta, child tests, failure evidence and exact process identity boundaries. All 253 Linux Python contracts pass without skips; full Rust 1.97.1 gates and numerical production coverage remain 100%. Keep Draft and the canonical workflow startup failure distinct from source verification. No workflow, dependency, timeout or acceptance-gate change. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae
changed the base branch from
test/agent-task-forced-close-shared-teardown-deadline
to
test/agent-task-browser-crash-recovery-evidence
September 6, 2026 07:15
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. Current exact head is
6ab7fc9166f397f49442243492ae88d6ccad56cf, ordinarily adopting #1480135984f1bc1f68d89d7777f49c4999474105a12after local RED commitf0b2ab905df16ebc388e23c62c4191de201fad6b. Keep Draft.September 6 current sandbox-parent adoption
The unchanged parent sandbox contract reproduced three unsafe-launch assertion failures and one absent browser-crash lane on predecessor
d3c29359fd10e540ca9b3b2723bde6f94866cdb6. The ordinary merge preserves every parent production change, including all four sandbox-preserving launch paths, exact pidfd signal/exit evidence and primary/secondary failure handling. Relative to the new parent, production differs only by this child's existing ordinary shared-deadline hunk. Child regressions and reconciled cleanup injections remain; root-only capture cannot establish a complete sampled process set. No workflow, Rust source, dependency, browser pin, retry, deadline, acceptance predicate or denominator changed.Fresh combined-source verification: 253 Python contracts pass in existing Colima Linux
6.8.0-117-generic/ Python3.12.3, without skips, dependencies or VM changes. macOS runs the same 253 contracts with exactly three Linux-only pidfd skips, not passes. Final tracked-file SHA-256 manifest985411ef6a7d3b812be086b43b6341a96f6b8acace63c0161fa8453aae065bd3matches across host and Linux after the documentation update. Compileall, CodeGraph sync, diff checks and all Rust 1.97.1 fmt/check/workspace tests/strict Clippy/rustdoc gates pass. Fresh pinned nightly coverage is 415/415 functions, 3555/3555 lines, 4444/4444 regions and 476/476 branches. The separate unstable--branchwarning remains.Current acceptance boundary
Parent MV3 run 33990522248, job
101371812631, artifact9977680352(SHA-2565430103b6bae59acc0d62d3c21cce559b27a15eadc6f049a857551d9a92ef643) remains real-browser RED: all four lanes have 0/3 successful trials; crash trials fail at session creation. Cleanup does not establish browser startup. #212 owns the canonical sandbox-helper workflow prerequisite. The predecessor's unsandboxed success is historical and cannot be transferred to this head. Current-head native CI 34018588292 succeeded on this exact head at 2026-09-06T07:51:37Z. Current-head MV3 compatibility 34018588298, job101446865332, failed at 2026-09-06T07:50:41Z. Chrome150.0.7871.129/r1639810produced 0/3 successful trials in each of the ordinary MV3, ordinary AgentTask, forced-close and browser-crash lanes; all profiles were cleaned. Browser-crash trials identifysession_create/RuntimeError/runtime_error, which locates the failure stage but does not establish the underlying browser-startup cause. Artifact9985228944,mv3-compatibility-6ab7fc9166f397f49442243492ae88d6ccad56cf, has SHA-25605b6d1cd6092a9e2e18a5003a5a1faeb73b8a8d9b4fd7533f7f24bc938833436. The exact evidence handoff to #212 requests a bounded, credential-safe startup diagnosis and sandbox-preserving runner/helper correction before a fresh exact-head browser run. No unsandboxed retry, acceptance relaxation or successful-browser claim is made. Queued/skipped or predecessor checks are not current passing proof. The #147 ordinary-deadline review finding stays unresolved until this successor delta is actually integrated there. No counted approval, GitHub merge, protected-main delivery or release is claimed.Historical predecessor verification (not current-head evidence)
At the prior verification cut, the exact head was
d3c29359fd10e540ca9b3b2723bde6f94866cdb6, with ordinary merge parentsc208668ce3aa079059acc1016646ed7240797ac0and current #1473dff28d9bf2dd27b72507e39979d51b8bf140fb4.Current-parent repair
The existing ordinary-teardown implementation keeps one monotonic shared polling deadline for the exact browser root and already sampled process identities, with separate evidence outcomes. Its production delta and two child-owned tests are retained. No new timeout, polling rule, success exemption or retry is added.
Before adoption, native discovery collected zero of the current parent's six cleanup-review methods. Restoring them exposed two ordinary protocol-fault subcases still injecting the old individual root waiter (6 methods, 2 failures in 10.108 seconds). The full 229-test replay then exposed three sibling failure-observer cases with the same stale injection. Both existing tests now inject paired outcomes into the actual shared observer and assert the exact root-only identity tuple. All prior failure, cleanup, error-type and redaction assertions remain; incomplete capture explicitly cannot invent full process-set termination evidence.
Fresh verification
All 229 Python contracts and compileall pass on macOS. The same 229 contracts pass without skips in the existing Colima Linux environment, with complete tracked-file SHA-256 manifest parity
0f5f93ed8789843ca4f228d1117328d029e3fab461f0450c75964f2ef6b98324. The parent four shared-observer tests, ordinary call-order contract, five root-failure tests and six review-evidence methods remain executed. All Rust 1.97.1 fmt/check/workspace tests/strict Clippy/rustdoc gates pass; pinned nightly enforces numerical 100% coverage at 415 functions, 3555 lines, 4444 regions and 476 branches.warning: --branch option is unstableremains distinct from numerical enforcement.Acceptance boundary
This is a local/source integration result, not real pinned-Chromium teardown, cross-platform supervision, cgroup ownership, post-sample descendant discovery or OS-wide orphan-absence proof. Parent #147's ordinary-wait review thread stays unresolved until this child delta is actually integrated there. New exact-head hosted CI/compatibility and review evidence must execute independently; predecessor, cancelled, queued and skipped checks are not passing evidence. Keep Draft. No workflow/ruleset/secret change, force push, counted approval, GitHub merge, protected-main shipment or release is claimed.