Skip to content

Fix Windows provider descendant cleanup - #25

Merged
rhein1 merged 2 commits into
mainfrom
codex/fable-windows-cleanup-20260930
Oct 14, 2026
Merged

rhein1 merged 2 commits into
mainfrom
codex/fable-windows-cleanup-20260930

Conversation

@rhein1

@rhein1 rhein1 commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Windows provider timeouts could leave a descendant alive after the deadline because cleanup depended on taskkill. The parent now owns a kill-on-close Job Object, starts the supervisor suspended, assigns it before resuming, and terminates the job directly on timeout. Startup interruption and thread-start failure also close the job. Processes remain hidden.

Pipe-read failures now report provider_failed even when termination returns reserved supervisor codes 124/125; genuine supervisor startup failures still report provider_unavailable. Regression coverage checks both classifications and cleanup, alongside the existing descendant timeout and successful-background-child checks. The PowerShell wrapper assertion tolerates line wrapping while preserving version/error requirements.

Final local validation at 3ab154b on Windows: 119 Node tests, 116 passed and three skipped; 77 Laya Python tests, 76 passed and one unavailable Windows symlink test skipped; package validation passed. The new regression failed for both reserved codes before the fix and passed afterward. Independent automated source review found no remaining issue. All eight hosted checks passed on this exact head, including Ubuntu/macOS/Windows on Node 18/24, packed artifact and the release gate.

This is local subprocess cleanup, not a sandbox or OpenShell containment claim. No model, paid provider, installed plugin, or live runtime was changed.

@rhein1
rhein1 marked this pull request as ready for review September 30, 2026 19:03
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-30T19:07:38.073634Z f726729 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f72672979a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/fable5-codex/experiments/laya/selector.py

@jmborden1112-beep jmborden1112-beep left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Needs Fixing

None. The Windows job cleanup paths fail closed and retain descendant cleanup on assignment, resume, thread-start and read failures.

Requires Human Review

None beyond the repository approval gate fulfilled here under the owner's second-account authorization. This is agent source review, not independent human sign-off.

Recommended Optional

None.

Create Follow-up Issue

None.

Workflow Trace: exact head3ab154be0dd72a6a1ef7967afbdb4b6b39297b00; source review by /root/fable_stack_review plus root verification. Actual worker fallback was gpt-6-luna medium because the skill-preferred worker was unavailable. Local npm test:116passed,3platformskips,0failed; Python selector suite77tests with1skip; package validators and diff check passed. All eight final-head hosted checks passed. No live models, installation into the user's Codex configuration, publication, or activation. Older #22/#23 snapshots reproduce the descendant-cleanup failure, while this parent fixes it; they will be refreshed after this merge.

@rhein1
rhein1 merged commit 6bdb347 into main Oct 14, 2026
8 checks passed
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