Skip to content

test: preserve late-failure teardown evidence - #145

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

test: preserve late-failure teardown evidence#145
seonghobae wants to merge 6 commits into
test/agent-task-process-set-termination-evidencefrom
test/agent-task-failure-process-set-termination-evidence

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Partial #28. Stacked on current PR #144 exact head fea7bec6a3ef3f378884b717d36028d9103bde92. Current exact head is 5ee76849a1dc22f10ddcd291c8bac4cd612fa6a1.

Late-failure teardown TDD

  • Test-only RED head f65d1ba45939605d577203e2bb1d1b3f183fbba1: CI 31680812328 / Rust contracts job 94385604530 failed at the new late-failure process-set teardown contract while production still returned only browser-root termination evidence.
  • Production head 69b43c004c7c93419069bff472eac6b50d0ef97c moved sampled Chromium process-set shutdown verification before the failure return and propagated optional teardown evidence through the trial result.
  • Head 77baa9581596dd2b195afb03182c5c730a704685 removed an irrelevant dict-shape coupling while retaining the behavioral contracts for preserving a sampled-set False result and omitting process-set evidence when identities were never captured.

Current branch boundary

After that late-failure slice, this same branch also gained the forced-close process-termination foundation now used as the exact prerequisite for PR #146. The current delta therefore includes the controlled forced-close process-termination contract and runner support in addition to the original late-failure evidence preservation. PR #146 remains the descendant lane for retaining that forced-close teardown evidence through its reviewed failure envelope; no descendant behavior is promoted into this PR by inference.

Current exact-head proof at 5ee76849a1dc22f10ddcd291c8bac4cd612fa6a1:

Truth boundary

When a controlled Agent Task fails after the bounded Chromium root-plus-descendant PID/start-time identities have been captured, shutdown waits for and preserves that exact sampled process-set termination outcome as well as browser-root termination. Failures before process-set capture do not invent descendant evidence. The additional forced-close foundation remains bounded Linux /proc PID/start-time evidence. None of this attests cgroup/task ownership, processes created only after sampling, cross-platform teardown, or OS-wide orphan absence.

This PR remains Draft behind its dependency stack and does not transfer prerequisite, descendant, review, or merge authority.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

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: 88bf3341-c11d-49eb-9b26-ce67d5a220ef

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.

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