Skip to content

Test native Windows replay descendant cleanup - #2452

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
ywz65:codex/round-076-windows-process-tree
Oct 16, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
ywz65:codex/round-076-windows-process-tree

Conversation

@ywz65

@ywz65 ywz65 commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

The registered replay launcher had native Windows timeout cleanup but no test that observed its descendants. This adds a process-handle observer for a ready parent, child and grandchild, answering the explicit Windows handoff in discussion #1472.

All three processes terminate under the real timeout path. A successful-looking parent-only kill is rejected because the two descendants remain live. Joined completion is the positive control. Retained handles, a checked taskkill result and a cleanup-duration check prevent PID reuse or eventual fixture self-exit from masquerading as successful cleanup.

Scope: ordinary descendants while the leader is alive. The separate already-exited-leader Windows gap in #2377 remains open. This changes no production launcher, scientific input, selected result or kappa.

Validation on native Windows 11 build 26300: all three tests pass on CPython 3.12.7 normal, CPython 3.12.7 -O, and CPython 3.14.5 normal, with no skips. A separate AI agent reviewed readiness, handles, teardown and failure controls with no blocking finding. Hosted CI and the full mathematical cold replay are not claimed.

python3.12 -B tests/test_research_windows_process_tree.py -v
python3.12 -O -B tests/test_research_windows_process_tree.py -v
python3.14 -B tests/test_research_windows_process_tree.py -v

Canonical base 0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2, priority revision 4. Task portable-replay, explicitly changed to the named native coverage gap. Exact source hashes, overlap limits, scope, reproduction and open next questions are in docs/research/windows-replay-timeout-audit.md. The source lineage is Douglas Colkitt's launcher, Paul Romeo's merged #1484 Linux fixture and Windows handoff, and #1298's portability work. #2377's POSIX cleanup change is credited and not duplicated.

Prepared for ywz65 with substantial OpenAI Codex assistance in implementation, verification and writing. Apache-2.0; no independent human review is claimed.

@Mister-Meeseeks
Mister-Meeseeks merged commit 484a8ad into CrocSwap:main Oct 16, 2026
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.

2 participants