feat(browser): retain cleanup evidence for failed Agent Tasks - #139
feat(browser): retain cleanup evidence for failed Agent Tasks#139seonghobae wants to merge 13 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 |
Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Verified the existing repair on exact head The earlier documentation findings were attached to I also checked the informational cleanup thread: both wrappers catch the reviewed failure classes inside the temporary-profile context, verify profile removal afterward, retain only the failure type, and apply all-trial cleanup gates before acceptance. All 179 current Python contracts passed with Resolving the two repaired documentation findings and the informational thread does not establish current hosted GREEN, real pinned-browser evidence, process-termination proof, independent approval, or protected-main delivery. Keep this dependency-stacked PR Draft. |
Partial implementation of #28, stacked on current parent #136
1cffb2e23d4002f12e8462c4c8c24f404a4eeee7.Buyer/reliability gap
Failed ordinary and forced-close Agent Task trials previously discarded temporary-profile cleanup evidence. The bounded repair retains credential-free failure classification and verifies profile removal after the temporary-directory lifecycle, including the reviewed ChromeDriver teardown timeout class. Failed trials remain failures; cleanup evidence does not grant task completion.
Exact reviewed lineage
Current head:
b7ea5bfe336456fb263dd479a60b1cd0193d8a47. Current parent:1cffb2e23d4002f12e8462c4c8c24f404a4eeee7. The unique delta is three files: CHANGELOG, the controlled runner, and the failure-cleanup contract suite.The preceding head
10a60f59046c1a29a6e73084804aee0203798bbbaccidentally dropped inherited documentation. Existing repairb7ea5bferestores the documentation and its regression contracts to the exact parent versions. Both canonical indexes again link ADRs 0007–0010; ADR 0009 remains Proposed. No documentation deletion remains in the current unique delta. The two stale documentation findings and informational cleanup thread were resolved after this verification; see current-head evidence.Implemented contract
Both trial wrappers classify only OSError, ValueError, RuntimeError, JSONDecodeError, and subprocess.TimeoutExpired inside the temporary-profile lifecycle. They retain only failure type, never exception text or command paths, verify removal afterward, reject retained profiles, and return failed-trial cleanup evidence only after that check. Unreviewed exception classes remain unnormalized. Ordinary and forced-close acceptance gates require cleanup evidence from every trial, including failures.
Verification and historical provenance
All 179 Python contracts passed locally on exact head
b7ea5bfeduring this review. Current-head Rust contracts, Production coverage, and pinned-Chromium hosted jobs are cancelled; no fresh hosted GREEN, 100% Rust coverage, or real-browser success is claimed here.The earlier timeout regression was introduced at RED head
0e66b24395aae595c569ad86b46e76ca3aad3a4a(recorded CI32443705971, job96659262887); source repair10a60f59046c1a29a6e73084804aee0203798bbbadded TimeoutExpired to the two reviewed catch lists. Its previously recorded CI32444083415, MV332444083543, Semgrep32444083450, and Security Scan32444083490remain predecessor-only evidence and do not transfer to the current documentation-restoration head.Integration and truth boundary
Keep Draft while #136/#132 and their prerequisites remain active. No force-push, destructive rebase, base mutation, self-approval, workflow edit, or weakened gate is included. This controlled fixture proves neither browser-process termination nor adversarial filesystem erasure, arbitrary-task recovery, browser authenticity, durable incident evidence, policy authorization, or #28 completion. Parent integration and current-head verification remain required.