From a458fc9d147778de454f06535fbd30406323c0f6 Mon Sep 17 00:00:00 2001 From: onlyxItachi Date: Sat, 18 Jul 2026 10:28:02 +0300 Subject: [PATCH] fix: windows+3.14t CI cell is a documented allowed-failure (pywin32 wheel gap) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The widened matrix's first run exposed a platform-marker blind spot: mcp requires pywin32 on win32 only, so no Linux-side resolve could see it, and pywin32==312 ships no cp314t wheel — uv sync fails on windows+3.14t before the suite runs. 17/18 legs green; Linux/macOS 3.14t are strict and passing. The failing cell becomes continue-on-error with a dated comment naming the blocking package (self-healing: it starts passing when pywin32 publishes cp314t wheels), and the README v1.2.0 entry states the gap honestly instead of claiming blanket 3.14t support. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci.yml | 11 ++++++++--- README.md | 7 +++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0d15af..c6ce62a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,11 +18,16 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] # The full requires-python range on every OS, floor (3.10) to - # free-threaded 3.14 ("3.14t" is uv's key for the cp314t build; the - # whole dep tree ships cp314t wheels for all three OSes — verified - # against PyPI before widening the matrix). + # free-threaded 3.14 ("3.14t" is uv's key for the cp314t build). python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] runs-on: ${{ matrix.os }} + # windows + 3.14t is a DOCUMENTED upstream gap, not our code (2026-07-18): + # mcp requires pywin32 on win32, and pywin32==312 ships no cp314t wheel, so + # `uv sync` fails before our suite can even run. Linux/macOS 3.14t legs are + # strict and green. This cell is allowed to fail so the matrix reports + # reality without going red on someone else's wheel gap — and it starts + # passing automatically the day pywin32 publishes cp314t wheels. + continue-on-error: ${{ matrix.os == 'windows-latest' && matrix.python == '3.14t' }} steps: - uses: actions/checkout@v4 - name: Install uv diff --git a/README.md b/README.md index 01d24a9..b8f70d0 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,11 @@ Claude Code and OpenAI Codex setup (both stdio MCP): see [`docs/clients.md`](doc ## Status -**v1.2.0 (pre-release, in review)** — the Development Observatory release: +**v1.2.0 (pre-release, in review)** — the Development Observatory release +(Python 3.10–3.14 incl. free-threaded 3.14t, CI-verified on Linux/macOS/Windows; +one known upstream gap: *Windows* 3.14t cannot install yet because `mcp`'s +`pywin32` dependency ships no cp314t wheel — that CI cell is a documented +allowed-failure until pywin32 catches up): seven new backends extend the digest matrix from profilers to the whole edit→build→verify→measure loop. BuildDigest: `clang_time_trace` (compiler-phase traces, with `[total]` aggregate tagging), `cmake_profile` (configure-step @@ -137,7 +141,6 @@ previous-green comparison proven on real two-run fixtures). RepoState: honest absence, never `0.0`). Zero new tools — every backend rides the same seven; 206 tests. Every fixture in the release was produced by the real tool it mimics — several briefs were corrected by what the artifacts actually contained. -Python 3.10–3.14 including free-threaded 3.14t, Linux/macOS/Windows CI-verified. **v1.1.1** — contract-hardening hotfix (issues #2/#4/#5): registry format collisions are detected on the normalized key (a case-variant format can no