9696 --expected-failures ./.github/actions/conformance/expected-failures.yml
9797 --output-dir conformance-results/server-all
9898 - name : Upload conformance results
99- # The suite summary only prints counts for warning-level findings; the
100- # per-check measurements live in the checks.json files saved above.
99+ # The log has only summary counts; per-check data is in checks.json.
101100 if : failure()
102101 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
103102 with :
@@ -131,22 +130,17 @@ jobs:
131130 echo "CONFORMANCE_PKG=file:/tmp/conformance.tgz" >> "$GITHUB_ENV"
132131 ;;
133132 esac
134- # --compile-bytecode: the harness spawns every scenario's client
135- # concurrently; without pre-compiled site-packages, ~40 fresh
136- # interpreters race to byte-compile the same modules on a 2-core
137- # runner, saturating it for the first ~20s of the suite — exactly when
138- # timing-sensitive scenarios take their measurements.
133+ # --compile-bytecode: without it, ~40 concurrently spawned interpreters
134+ # race to byte-compile site-packages during the timing-sensitive window.
139135 - run : uv sync --frozen --all-extras --package mcp --compile-bytecode
140136 - name : Pre-compile bytecode (editable sources)
141137 run : uv run --frozen python -m compileall -q src .github/actions/conformance
142138 - name : Run client conformance (all suite)
143139 # The harness runs all scenarios via unbounded Promise.all; with 40
144140 # scenarios on a 2-core runner the slowest one (sse-retry, which has a
145141 # real-time SSE reconnect wait) needs more than the 30s default budget.
146- # The client command execs the synced venv's interpreter directly:
147- # `uv run` would re-check the lockfile in every one of the ~40
148- # concurrent spawns, compounding the startup storm. run-client.sh
149- # re-verifies unexpected failures solo before failing the job.
142+ # `.venv/bin/python` (not `uv run`) avoids lockfile re-checks in ~40
143+ # concurrent spawns; run-client.sh re-runs unexpected failures solo.
150144 run : >-
151145 ./.github/actions/conformance/run-client.sh
152146 --command '.venv/bin/python .github/actions/conformance/client.py'
@@ -164,10 +158,8 @@ jobs:
164158 --expected-failures ./.github/actions/conformance/expected-failures.2026-07-28.yml
165159 --output-dir conformance-results/client-2026-07-28
166160 - name : Upload conformance results
167- # The suite summary only prints counts for warning-level findings; the
168- # per-check measurements live in the checks.json files saved above.
169- # Also upload when run-client.sh rescued a flake (job green, but the
170- # contention evidence should not be discarded).
161+ # The log has only summary counts; per-check data is in checks.json.
162+ # Also on FLAKE_RESCUED: rescued-flake evidence is otherwise discarded.
171163 if : failure() || hashFiles('conformance-results/**/FLAKE_RESCUED') != ''
172164 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
173165 with :
0 commit comments