Repository navigation
frontier caches each spec's gen hashes by content: 68 s -> 3 s (Closes #8739) - #8741
Merged
Merged
Conversation
…#8739) H1 of #8737. frontier regenerated all four backends of every spec on each walk. specs/verified/gen_hash_cache.t27 decides when a cached entry is used (found, all four outputs) and stored (a fresh success only); the key is the spec plus its whole use closure (an imported constant changes the importer's Zig), the t27c binary's bytes and GEN_CACHE_VERSION, under ~/.cache/t27/genhash. frontier --list is byte-identical with the old binary, a cold cache and a warm one; a warm walk takes 3.0 s instead of 67.7 s. Paid for by deleting scripts/gen_w312.py. Census: fetches "files read" 48 -> 49, because the new generated module bootstrap/gen/rust/verified/gen_hash_cache.rs is one more file in its scope; re-blessed with tri census pin --bless. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 10, 2026 18:39
Contributor
This was referenced Oct 10, 2026
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.
Closes #8739
This is H1 of #8737, hot reload everywhere t27 waits.
t27c frontierregenerated all four backends of every spec on every walk to judge the toolchain part, which took 55-68 s over the corpus. It now takes those hashes from a content-addressed cache when nothing they depend on changed.specs/verified/gen_hash_cache.t27.gen_cache_use(found, outputs): use an entry only when it holds all four outputs.gen_cache_store(ok, served): write only a fresh success, never a failure.useclosure, the t27c binary's bytes, andGEN_CACHE_VERSION. The closure is needed: changing a constant inreuse.t27changes the Zig generated forseal_identity.t27, which imports it, because constants are inlined across imports.~/.cache/t27/genhash/, outside the repository (1822 entries, 7.1 MB). Nothing a seal records changes.Measured
t27c frontier --listis byte-identical across the old binary, the new one with a cold cache, and the new one with a warm cache.Budget and census
scripts/gen_w312.py.🤖 Generated with Claude Code