Repository navigation
refactor(compile): drop fine-grained edit reuse in favour of coarse caches - #1030
Merged
Merged
Conversation
kvlonge
force-pushed
the
refactor/simplify-compile-caches
branch
2 times, most recently
from
October 8, 2026 15:11
3ba65d8 to
6505ae3
Compare
…aches Remove render reuse after model-only edits, the discovery, analysis and artifact-write reuse built on it, and the per-file compile fact cache. Every edit now compiles the whole project; whole-project no-change reuse, the analysis cache, the macro-call store and the rules caches remain. The expanded SQL-test extraction and expected-model scans run uncached; both are lexical native scans. Rule caches take the code identity from the rule engine. The edit-sequence oracle covers the remaining caches, including sequences that advance the analysis cache between compiles and sabotaged invalidation that the oracle must detect.
Store whole per-file expanded SQL-test CTE extraction and expected-model scans as a new kind of the shared native store, keyed by the scanned text, adapter lexical rules, native build and scan version. Failed scans are not stored and damaged or foreign entries are rescanned. Digest installed code before the custom-rules worker starts so its file walk no longer waits on the GIL beside built-in rules. Give the same-runner one-model edit mode its own ratio limit until native rendering is the default.
… cache files Stored expected-model names can come from the Python extractor, so the scan store environment now includes the installed code identity, which moves from the rule engine to the compiler frontier for both to share. Opening the compiler cache root deletes every engine's retired fact cache, and storing a reuse entry deletes render files older releases left in the store directory.
kvlonge
force-pushed
the
refactor/simplify-compile-caches
branch
from
October 8, 2026 16:46
9add490 to
5c7abf2
Compare
kvlonge
enabled auto-merge (squash)
October 8, 2026 16:46
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
Compile caching grew fine-grained edit-reuse layers that are hard to keep correct. We keep a few coarse, content-addressed caches, each checked by edit sequences against
--no-cache, until the native compiler lands.Changes
Cache inventory:
project-reuse-v1); analysis cache; macro-call store; rules caches.sql-test-scans.bin, a kind of the shared native store. One whole entry per SQL test file (expanded CTEs, expected models), keyed by file text, lexical rules, installed and native code identity, and scan version. Failed scans are not stored.facts-v1/folders and.renderfiles are deleted.Also:
--edit-max-ratiofor the same-runner edit mode only, 1.25 (dense) and 1.20 (fresh), above the observed 1.18 and 1.14, until native rendering is the default. Other limits unchanged.Verification
--no-cachecargo test --workspace --all-features, clippy on 1.99.0make compiler-differential(CI flags),-shipped,tests/e2e/scripts/compiler_differentialmake check-ci,make test, hygiene scan