fix(eval): bake python3-dev so Triton can find Python.h - #240
Merged
Conversation
cursor
Bot
force-pushed
the
cursor/proof-eval-python-headers-d65e
branch
from
September 8, 2026 10:25
256d259 to
4c00e72
Compare
Live 1x BYOK harvest after #239 still refused PROOF_EVAL_OK: gcc works, but Triton's nvidia/driver.c fails on missing Python.h. Co-authored-by: Mathis <echobt@users.noreply.github.com>
cursor
Bot
force-pushed
the
cursor/proof-eval-python-headers-d65e
branch
from
September 8, 2026 10:30
4c00e72 to
7d9ffde
Compare
|
@greptileai review |
Greptile SummarySummary
Confidence Score: 5/5Safe to merge: the built scoring image contains the evaluator virtual environment's CPython headers and can preprocess No defects were found. The changed image contract completed successfully in a built container. Files Needing Attention: None.
What T-Rex did
|
| Filename | Overview |
|---|---|
| eval/Dockerfile.scoring | Installs python3-dev and verifies the evaluator virtual environment's Python header is usable by GCC. |
| .github/workflows/publish-proof-eval-image.yml | Checks the published scoring image for the compiler and Python header preprocessing contract. |
Reviews (2): Last reviewed commit: "fix(eval): bake python3-dev so triton ca..." | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Live 1× BYOK harvest on prod failed again after #239 (
424fb12a, pinsha256:996cb5f4…).gccis present now, but Triton still dies compilingbackends/nvidia/driver.c:PROOF_EVAL_OKnever printed, so the control plane stayed 503.eval/Dockerfile.scoringinstalledbuild-essential+python3/python3-pip/python3-venvbut notpython3-dev. The venv is CPython 3.12; Triton's host launcher compile needsPython.hfrom that version.What changed
eval/Dockerfile.scoring: keepbuild-essentialandCC/CXX/CUDAHOSTCXX=gcc/g++from fix(eval): install host C compiler for Triton on scoring image #239. Addpython3-dev(Ubuntu 24.04 → 3.12 headers matching the venv). Bake-time checks:Python.hexists viasysconfig.get_path("include"), andgcc -Ecan preprocess#include <Python.h>against that path.publish-proof-eval-image: after the existing gcc check, assertPython.his findable the same way (venv include path, not a hardcoded 3.12).baked_proxies.json. No invented sha256.Operator: republish + re-pin
This PR does not bump
config/proof-pin.toml. Do not invent a digest.Branch
publish-proof-eval-imagealready built and pulled a scoring digest (run 34214757296): bake found/usr/include/python3.12/Python.h,gcc -Epreprocess passed, harvest-PATH / gcc /Python.h/ emptybaked_proxies/selftestall green.PROOF_GIT_SHAis a build-arg, so a merge-to-main republish will mint a new digest. Pin the digest from the post-merge job summary, not this branch one, unless you intentionally pin the branch image.publish-proof-eval-imagerun on thiscursor/**branch — it buildseval/Dockerfile.scoring).mainto finish green.eval_image_digest = "sha256:…").eval_image_digest(and the pin comment /proof_git_sha) inconfig/proof-pin.tomlto that published digest.sha256:996cb5f4…(gcc, noPython.h).Empty digest stays fail-closed (503). A pin +
can_scoreis not proof of scientific reproduction.Greptile
Python.hpreprocess)@greptileai reviewTest plan
publish-proof-eval-imageon this branch: digest pull, gcc present,CC=gcc,Python.hpreprocess via venv include path (/usr/include/python3.12/Python.h), emptybaked_proxies,proof-eval selftestPROOF_EVAL_OKRust fmt/clippy/xtask gates are not in scope (Dockerfile + workflow only).
Risk
Live Proof scoring image only. No
BASE_*rename, no emission/consensus change, no invented sha256. Next live rent still 503 until operators republish and re-pin.Naming
I did not rename
BASE_*environment variables, deployed host paths, GHCR package names, orbase-*-v1cryptographic domain tags.