Skip to content

ci: validate Python 3.14 across supported runtime profiles - #353

Merged
abruption merged 3 commits into
mainfrom
ci/350-python314
Oct 30, 2026
Merged

abruption merged 3 commits into
mainfrom
ci/350-python314

Conversation

@abruption

@abruption abruption commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Summary

Add standard CPython 3.14 validation on Ubuntu/macOS while retaining the core 3.9 floor, existing 3.13 and Windows 3.13 coverage, MCP 3.10 minimum/latest SDK profiles, Relay 3.11 floor and all aggregate release-gate dependencies.

The expanded matrix contains seven core cells, twelve MCP cells, six Relay cells and three package cells. New 3.14 package cells build wheel/sdist and install each in its own environment, verifying isolated purelib import origin, exact version, CLI help and pip check. Existing latest-resolution audits and the exact MCP 1.30.0 constraint remain intact.

Refs #350

CI evidence and support metadata

The first matrix run passed all 42 checks at ef0aaf7c6164105156797c195f1179fed1ed1ae4, including all ten new Python 3.14 cells and the release gate. Only after observing that result, commit 507fc2bdb9cfa96a89b0ed33300faca0bf188d00 adds the pre-reviewed single classifier line Programming Language :: Python :: 3.14, after 3.13; no other file changed in that commit. The fresh classifier-head CI run also passed all 42 current-head checks before Ready/automatic review. Repository protections require the unchanged release gate context; expanded package display names are not separately required checks.

Downloaded all twelve MCP dependency-profile artifacts and independently checked each installed SDK version and audit result. All exact-minimum profiles use 1.30.0; latest compatible also currently resolves 1.30.0. The new 3.14 profiles recorded macOS Python 3.14.8 and Ubuntu Python 3.14.9, each with a 32-package audited environment and zero known vulnerabilities. These remain SDK-floor/latest-resolution tests, not tests of every transitive dependency's minimum.

Local validation and limits

  • macOS arm64, standard CPython 3.14.10, GIL enabled: documentation/workflow tests 73 pass; targeted workflow contracts 19 pass on both 3.9 and 3.14. Generator, compile, YAML and diff checks pass.
  • Clean 3.14 MCP minimum/latest environments each pass 28 integration tests and a 32-package runtime audit with no known vulnerabilities, including fresh-cache verification. The initial cache warning is retained in local logs.
  • Actual 3.14 wheel/sdist builds and separate fresh installs pass import-origin/version/help/pip-check verification. Distribution suite: 41 tests, three PowerShell skips on macOS.
  • The initial full extras discovery ran 1761 tests with six failures, 32 errors and 24 skips. Thirty-seven storage-refusal case identities reproduce under 3.13 on this external APFS volume that ignores ownership (five failures/32 errors). One new probe fixture had same-sized-version timestamp-pyc reuse; distinct fixture mtimes fixed it, and targeted tests pass on both interpreters. The unfiltered full suite was not rerun after that fixture correction and is not claimed green. No product guard or volume setting was weakened. The successful remote internal-runner checks provide the supported-matrix evidence separately from this non-green local result.
  • These are fixture/package checks, not new live native-agent, real-host SSH, Windows 3.14 or free-threaded Python acceptance. Runtime version and minimum Python requirements are unchanged.

Independent review

Claude Code 2.1.312, response-confirmed claude-opus-5-5, and Codex CLI 0.165.0, isolated default model (actual model ID unexposed), reviewed the same frozen input SHA-256 23055c106a46819b7db872848d3c931e7d64362fad9542bc445c449ede0b0998 in parallel, without tools/writes/tests/network. Both found the conditional classifier sequence appropriate; source inspection and the current required-status API resolved the package-check-name question. Local failure evidence is kept distinct from the pending remote matrix. No merge, release, service change or native model call is performed by this PR.

@abruption
abruption marked this pull request as ready for review October 29, 2026 13:36
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 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-10-29T13:38:21.909110Z 507fc2b Draft marked ready
🔒 Security Review ✅ Completed 2026-10-29T13:38:22.898732Z 507fc2b 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.

@abruption

Copy link
Copy Markdown
Owner Author

Current-head verification

Reviewed head: 507fc2bdb9cfa96a89b0ed33300faca0bf188d00. All 42 checks succeeded, including CI 40882642483. The PR is Ready.

Automatic code and security reviews both report completed at this exact head. Code findings flags are false; security finding flags are null/unavailable, so they are not represented as an affirmative false result. No review threads are posted.

All ten new standard-Python-3.14 cells passed before the classifier was added; the classifier head then passed a fresh whole CI run. All twelve initial MCP runtime graphs were downloaded and independently checked, including all four new 3.14 graphs (SDK 1.30.0, audit exit 0/no known vulnerabilities). The non-green external-volume local full run remains disclosed in the PR body.

GitHub closingIssuesReferences is empty: this PR references issue #350 without scheduling automatic issue closure. No merge, tag, publication or operational change was performed.

@abruption
abruption merged commit 88f2c90 into main Oct 30, 2026
43 checks passed
@abruption
abruption deleted the ci/350-python314 branch October 30, 2026 00:44
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