Skip to content

fix(windows): type worker pipes and scope POSIX lifecycle tests - #1676

Closed
knqiufan wants to merge 1 commit into
oceanbase:masterfrom
knqiufan:codex/windows-worker-types
Closed

knqiufan wants to merge 1 commit into
oceanbase:masterfrom
knqiufan:codex/windows-worker-types

Conversation

@knqiufan

@knqiufan knqiufan commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Withdrawn in favor of the existing community contributor on #1658. This draft is retained only as an optional reference for the reproduction, implementation and validation; it is not proposed for merge. Desktop #1663 continues to track #1658 as an unresolved prerequisite.

What changes are included in this PR?

Windows spawn pipes are PipeConnection objects, but the worker lifecycle annotated them as POSIX Connection objects. Select the platform's actual pipe type, preserving the lifecycle behavior. Refs #1658; prerequisite for Desktop qualification in #1663 and RFC #1455.

Keep failure-injection tests that patch POSIX Popen._launch on POSIX. Shared worker startup/shutdown tests run on Windows, with a read-only process-handle assertion instead of os.kill(pid, 0). Add a portable cancellation test that waits for owned child cleanup before cancellation returns. Add focused Windows worker type checking and real worker lifecycle tests to CI; existing Linux tests retain the POSIX cases.

Are there any user-facing changes?

No public API, schema, dependency or persisted-format changes. This fixes seven Windows type/platform diagnostics without blanket ignores or removing POSIX coverage. It does not qualify the Desktop product.

How was this change tested?

  • Windows and Linux targeted ty check for the worker source and lifecycle tests: passed.

  • Actual Windows lifecycle suite: 3 passed, 4 POSIX-only cases skipped; the final cancellation test was rerun after cleanup adjustment and passed.

  • Ruff checks/format and immutable Actions reference validation: passed.

  • Full pre-commit: all hooks except ty passed. Whole-repository Windows ty has zero errors but still returns nonzero for three existing url2pathname deprecation warnings in cli/opencode.py; these are explicitly outside fix(windows): resolve worker pipe typing and POSIX-only test assumptions #1658. No warnings were suppressed.

  • Windows CI passed, including the new worker type/lifecycle checks and existing portability suite. All upstream PR checks passed on 93c38b34, including Linux Python 3.11–3.14 unit/end-to-end suites and SQLite/OceanBase acceptance.

AI usage statement

Implemented and validated with OpenAI Codex (GPT-6), with scope directed by the Desktop task. Human review and CI confirmation remain required.

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