AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Fifty years of reuse let the compiler delete and specialize, never restructure. AI knocks that wall down — and once ideas are the unit of reuse, every project gets to be bespoke.
Developer toolsRust · MLIRGitHub @AI-native-Systems-ResearchOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Inference serving... from scratch
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Fifty years of software reuse let the compiler delete and specialize,
but never restructure. The generality of your dependencies was your
generality, whether or not you ever wanted it.
AI knocks that wall down — not by making compilers smarter, but by
making faithful transcription cheap. When you can re-express someone's
algorithm inside your own structure in an afternoon instead of over
two quarters of pull requests, the unit of reuse stops being the
module. It becomes the idea. And once ideas are the unit, every project
gets to be bespoke.Read the full README ↗Fifty years of software reuse let the compiler delete and specialize, but never restructure. The generality of your dependencies was your generality, whether or not you ever wanted it.
AI knocks that wall down — not by making compilers smarter, but by making faithful transcription cheap. When you can re-express someone's algorithm inside your own structure in an afternoon instead of over two quarters of pull requests, the unit of reuse stops being the module. It becomes the idea. And once ideas are the unit, every project gets to be bespoke.
Scratchy is what that looks like for inference: a full-stack compiler that builds inference runtimes from scratch — or as close to that as is possible. It takes as input a triple:
Given that triple input, Scratchy generates an inference server specialized for that input. Scratchy extensively utilizes Rust's Turing complete procedural-macros to avoid much of the complexity of writing a compiler, to allow for rapid integration of new architectures, and to generate faster specialized code. In scratchy, everything is a constant. This turns complex analysis into arithmetic, greatly simplifying our code. It also can enable more constant-prop optimizations, reducing register pressure in key kernels.
The whole point is that ideas are cheap to carry and generality is not. 25 model architectures fit in 1,580 lines of DSL — LLaMA is 22 of them — because the specializer absorbed everything that was ever generic about them. The serving algorithms are vLLM's, transcribed into Rust and credited by file and line at each site: seventy citations to a repository that isn't in our build graph.
Scratchy's initial design point is IBM Spyre
AIU — the real test, because
novel silicon is where the library era has nothing to offer you. Each
Spyre core has a 2Mi scratchpad, of which 1,677,721 bytes are yours,
and every tile of every operation must fit. Overflow it and you don't
get an error message; you get DtException 1535 on the card, minutes
later, about a tile you can no longer inspect. Because scratchy knows
every tile size at compile time, that fault is a cargo build error on
your laptop instead. CUDA and Apple Silicon are also supported, and
were the easier cases.
Install a recent Rust toolchain. Then, pick your
target via feature
flag:
-Fcuda requires the CUDA build toolkit; -Fmetal requires macOS 26.2
or newer (and its Xcode SDK);
-Fspyre requires the Spyre build toolkit. For example, you can
compile support for Apple Silicon, the Llama 3.2 3B models, and the
MLX 4-bit quant:
cargo build -F metal,model/llama-3.2-3b,quant/mlx --release
By default, only the simple scr chat CLI command is compiled
in. Provide -Fserve or -Fbench to bring more features into the
binary. To run a quick test of the build:
./target/release/scr chat mlx-community/Llama-3.2-3B-Instruct-4bit -q "why is the sky blue?"
Note the convention for selecting models and quants:
model/<stem> — one checked-in model config, e.g. model/qwen2.5-7b
(model/<arch> for every config in an arch, model/all for everything).quant/<preset> — compiles that quantization instead of dense/bf16
(e.g. quant/mlx for every MLX affine int4 preset at once).metal: every selected model whose
checkpoint carries a head (Qwen3.5/3.6 MoE) compiles it, and so does every
selected model whose drafter is published as a model of its own (Gemma 4
26B-A4B's assistant at MLX 4-bit g32, under quant/mlx, downloaded from
guardiangate1775/gemma-4-26B-A4B-it-assistant-4bit); serving the model
drafts with it (--num-speculative-tokens 0 serves without). spec/mtp
adds the other published drafters (the bf16 and QAT assistants, which draft
when --speculative-model names them).model/hf-completions — shell tab completion over the real HuggingFace ids
this build can actually run (scr completions zsh --install). On by default;
it resolves that list against huggingface.co at build time, so an air-gapped
build wants --no-default-features. See docs/BUILD.md.metal, for every model
whose geometry takes it (the build names the ones that stay dense); off for
cuda and spyre, and fixed at build time: --kv-cache-dtype can only assert
it. metal-base in place of metal builds the same engine with a dense KV
cache and no MTP heads (metal-base,model/mtp-heads keeps MTP).docs/blogs/REUSE.md — What does "reuse" mean in
the age of AI?docs/BUILD.md for the full feature-scoping
mechanics.docs/COMPILER.md for more information on the procmacro approach.docs/MODELS.md if you are interested in adding support for a new model architecture.docs/BENCHMARKING.md for the cache ladder, the
fairness rules, and how to review the startup harness without a GPU.docs/spyre/KUBERNETES.md for help using OpenShift to build an image for Spyre.CONTRIBUTING.md for the PR workflow, CI gates, and architecture invariants.docs/TESTING.md for the five test tiers and the tests that must stay tests.Apache License 2.0 — see LICENSE.