feat(browser): retain MV3 failure profile cleanup evidence - #141
feat(browser): retain MV3 failure profile cleanup evidence#141seonghobae wants to merge 12 commits into
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 |
…evidence' into test/mv3-failure-profile-cleanup-evidence Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Exact-head review on No new production change is warranted for the two informational threads:
All 183 repository Python contracts pass on the unchanged current head, including browser-failure, surface-failure and teardown-timeout regressions. The temporary-profile probes are diagnostics, not real pinned-browser compatibility evidence. The worktree is unchanged. Current hosted runs |
Bind the #246 parent integration and complete local coverage to its exact head. Record #141's unchanged-head cleanup diagnostics and informational thread resolution without promoting cancelled hosted checks or local tests to protected delivery. Commit-Message-Assisted-by: Codex (via Codex) Signed-off-by: Seongho Bae <me@seonghobae.me>
Partial implementation of #27 and #28. Current exact head
fbdf64f5818ce0c53b475196d5bcfa2ac9900846is based on #139b7ea5bfe336456fb263dd479a60b1cd0193d8a47.Buyer/reliability boundary
The Manifest V3 repeatability lane retains cleanup evidence even when the initial or restarted browser pass fails. The owning trial catches only reviewed browser/process-teardown failure classes, retains a bounded failure type and verifies temporary-profile removal before returning cleanup evidence. Surface failures preserve their failing surface map and are not mislabeled as cleanup failure. Unexpected programming errors remain unnormalized; every trial must supply cleanup proof before the aggregate gate passes.
This is credential-free evidence for a controlled temporary profile, not proof of browser-process termination, adversarial filesystem erasure, unrelated extension cleanup, browser/adapter authenticity, durable recovery or completion of #27/#28.
TDD and historical evidence
Original test-only head
7df005847ffc45526de42bf6bf7a8ec6c959cbe0exposed missing failure-path cleanup evidence. Surface-regression test-only head645a71017c4603884da4cc6866e4e2a79c72e313failed before repair4fc623effbeaaa50963fec7c370671ca12bceee9. Existing regressions cover browser failure, compatibility-surface failure, aggregate cleanup admission and process-teardown timeout.Earlier success for CI
32540508018and pinned MV332540508974belongs to predecessorbc9b265f31f2c4c7ddb700e865ec1f7b3daa6b01; neither it nor the later historical repair GREEN transfers to the current head.Current exact-head verification
On 5 September 2026, all 183 repository Python contracts passed on unchanged current head
fbdf64f5818ce0c53b475196d5bcfa2ac9900846. Controlled probes confirmed that an unexpected exception propagates after real temporary-profile cleanup, and that a cleanup-exit failure cannot return false success evidence. No source changes were needed for the remaining two informational findings; all four review threads are now resolved.Exact-head review evidence records the scope and limits. Current hosted CI
33916583623and pinned-Chromium compatibility33916583506are cancelled. Current full Rust, coverage, hosted or real-browser GREEN is not claimed. Thread resolution is not counted approval.Stack / authority
Draft while #139/#136 and the prerequisite stack remain active. Exact-current hosted verification, parent-first integration and live policy requirements remain mandatory. No workflow, secret, ruleset, release, tag, publication or approval mutation is included.