Repository navigation
chore: bump interp-engine to 1.7.0, and fix graph-install - #236
Merged
Merged
Conversation
1.7.0 is one additive change to the package: GLM-4 joins `FUSED_GATE_UP_LAYOUTS` in `interp_engine.facts`, which is what lets `mlp_pre` and `mlp_pre_linear` serve on that family instead of being refused. Everything else in the release sits outside the sdist -- the engine's validator, its visualizer and its own CI pins -- so nothing an importing caller touches moved, and the engine's dependency set did not change either. No model served here is a GLM-4, so this bump buys nothing today. It is taken anyway because the pin is exact and the two repos move in lockstep: staying a release behind means the next bump carries two changes to reason about rather than one. Each app relocked on its own, and the only line that moved in all three lockfiles is interp-engine itself. `graph` is synced with `--extra circuit-tracer`, the way its CI row does it, so the default backend is still installed. Verified: `uv lock --check` on all three, pyright clean on all three, and the suites CI gates on -- inference 633 passed, graph 76, nla 27. Co-authored-by: Cursor <cursoragent@cursor.com>
…can serve `make graph-install` ran a bare `uv sync`. Graph declares one extra per attribution backend and they share no code, so a bare sync installs *neither*: on a clean checkout `make graph-install && make graph-dev` dies importing circuit_tracer, which is what `start.py` defaults to. On an existing checkout it is worse than a failure -- the sync uninstalls 83 packages, taking the backend out of a venv that was serving a minute earlier. The target now installs the backend `start.py` defaults to, matching the row graph-nla-sparsity-tests.yml already syncs with. `GRAPH_BACKEND=crm` gets the Lorsa and transcoder backend instead, and `make help` says so. The other apps are left alone. Their CI rows also carry flags, but those are `--no-install-package` for vllm and circuit-sparsity: a CPU runner declining a heavy wheel, not a choice the target should copy onto a machine with a GPU. Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Two changes, separate commits.
chore:bump the engine pin to 1.7.01.7.0 is one additive change to the package: GLM-4 joins
FUSED_GATE_UP_LAYOUTSininterp_engine.facts, which is what letsmlp_preandmlp_pre_linearserve on that family instead of being refused. Everything else in that release sits outside the sdist — the engine's validator, its visualizer, its own CI pins — so nothing an importing caller touches moved, and the engine's dependency set did not change.No model served here is a GLM-4, so this buys nothing today. It is taken anyway because the pin is exact and the two repos move in lockstep: staying a release behind means the next bump carries two changes to reason about rather than one.
Each app relocked on its own, and the only line that moved in all three lockfiles is interp-engine itself.
fix:make graph-installinstalls an attribution backendFound while relocking. Graph declares one extra per attribution backend and they share no code, so the bare
uv syncthe target ran installed neither. On a clean checkoutmake graph-install && make graph-devdies importingcircuit_tracer, which is whatstart.pydefaults to. On an existing checkout it is worse than a failure: the sync uninstalls 83 packages, taking the backend out of a venv that was serving a minute earlier.The target now installs the default backend, matching the row
graph-nla-sparsity-tests.ymlalready syncs with.GRAPH_BACKEND=crmselects the other one, andmake helpsays so.The other apps are deliberately left alone. Their CI rows carry flags too, but those are
--no-install-packagefor vllm and circuit-sparsity — a CPU runner declining a heavy wheel, not a choice the target should copy onto a machine with a GPU.Verification
Run, not assumed:
uv lock --checkpasses on all three apps, so CI's--lockedsync holdsmake python-lintpasses, including the config-parity and no-local-path-deps guardsmake graph-installre-run after the fix leaves the venv intact, withcircuit_tracerimportable and interp-engine at 1.7.0The
==1.6.0example inAGENTS.mdmoved to1.7.0so the prose does not drift from the pins.Made with Cursor