99# Each gate runs in its own job so failures land on distinct rows in the PR
1010# checks list — much easier to read than one giant `make check` log.
1111#
12- # `release.yml` (task 029 ) and `fuzz-nightly.yml` (task 027) are intentionally
13- # unchanged by this workflow.
12+ # `release.yml` (tag-driven publish ) and `fuzz-nightly.yml` (scheduled IPC
13+ # fuzzer) are intentionally unchanged by this workflow.
1414
1515jobs :
1616 lint :
1717 runs-on : ubuntu-latest
1818 strategy :
1919 fail-fast : false
2020 matrix :
21- python-version : ["3.12"]
21+ python-version : ["3.12", "3.13" ]
2222 steps :
2323 - uses : actions/checkout@v4
2424 - name : Install uv
3737 strategy :
3838 fail-fast : false
3939 matrix :
40- python-version : ["3.12"]
40+ python-version : ["3.12", "3.13" ]
4141 steps :
4242 - uses : actions/checkout@v4
4343 - name : Install uv
5656 strategy :
5757 fail-fast : false
5858 matrix :
59- python-version : ["3.12"]
59+ python-version : ["3.12", "3.13" ]
6060 steps :
6161 - uses : actions/checkout@v4
6262 - name : Install uv
7575 strategy :
7676 fail-fast : false
7777 matrix :
78- python-version : ["3.12"]
78+ python-version : ["3.12", "3.13" ]
7979 steps :
8080 - uses : actions/checkout@v4
8181 - name : Install uv
9494 strategy :
9595 fail-fast : false
9696 matrix :
97- python-version : ["3.12"]
97+ python-version : ["3.12", "3.13" ]
9898 steps :
9999 - uses : actions/checkout@v4
100100 - name : Install uv
@@ -110,14 +110,12 @@ jobs:
110110
111111 fitness :
112112 runs-on : ubuntu-latest
113- # Fitness functions are advisory while the full suite is being filled in
114- # (task 021 et al.). Surface failures in the PR check list, but don't
115- # block a merge on them yet.
116- continue-on-error : true
113+ # Pytest fitness job — the suite is fully filled in for v1.0; runs as a
114+ # blocking gate alongside `make-fitness` below.
117115 strategy :
118116 fail-fast : false
119117 matrix :
120- python-version : ["3.12"]
118+ python-version : ["3.12", "3.13" ]
121119 steps :
122120 - uses : actions/checkout@v4
123121 - name : Install uv
@@ -135,12 +133,11 @@ jobs:
135133 runs-on : ubuntu-latest
136134 # Runs scripts/fitness.sh — the canonical fitness entry point per
137135 # docs/spec/fitness-functions.md, complementary to the pytest fitness job
138- # above (the two cover different invariants). Blocking per task 043
139- # (honeypot P95 latency regression resolved via budget update).
136+ # above (the two cover different invariants). Blocking gate.
140137 strategy :
141138 fail-fast : false
142139 matrix :
143- python-version : ["3.12"]
140+ python-version : ["3.12", "3.13" ]
144141 steps :
145142 - uses : actions/checkout@v4
146143 - name : Install uv
0 commit comments