Build history for GGUF files

See what changed
in your GGUF.

ModelBake remembers the model, converter, settings, and files from your last build. Build again and it shows the difference.

  • runs locally
  • never uploads your model
  • free and open source
  • macOS + Linux
THEN RUNpip install ~/Downloads/modelbake_ai-0.1.0-py3-none-any.whlmodelbake tour

FREE FOREVER · APACHE-2.0 · NO ACCOUNT

EXAMPLE RELEASE DIFFPUBLISHER ACCEPTANCE
WHAT CHANGED?One change.
Easy to review.
MODELSameno change
LLAMA.CPPChangednew converter
Q4_0 FILEChangednew GGUF bytes
NEXT STEPReview this buildEverything else stayed the same.
SEE THE REAL RELEASE RECORD
Build a GGUFModelBake remembers how
Build it againsame steps, new release
See the differencereview only what changed

Why Git is not enough

Git says clean.
The release changed.

Your code can stay the same while the downloaded model, converter, or finished GGUF changes. ModelBake checks all of them.

The actual product

Every build gets one readable record. The next build gets a clear before-and-after.

Remember.
Then compare.

ModelBake build record showing the source, toolchain, runner, and release graph.
Build recordOpen any step. Inspect the input, tool, command, output digest, and evidence scope.
ModelBake release comparison showing reused and newly added outputs.
Release diffSee reused work and new outputs without reconstructing the release from logs.

No model required

Try a sample build.

Replay a tiny example and open any step. Nothing is uploaded and no real model is needed.

Msample GGUF build
loading example
SOURCEloading…
TOOLCHAINfixture/v0
RUNNERmodelbake.fixture/v0
SCOPEthis fixture runner
F16
$ modelbake demoLoading the bundled acceptance manifest.

Why you come back

Every new build
gets easier.

Unchanged work is reused. Changed work is obvious.

FIRST RUN62f84e2a…
4 produced · 3 fixture-observed new evidence written
REPEAT RUNac8717d1…
7 digest-verified cache hits no adapter step re-executed
RECORDED FIXTURE EXPANSIONq4 → q4 + q8
$ modelbake compare approved/manifest.json candidate/manifest.json
recipe: changed                    recorded source digest: same
declared runner: same              observed runner: same

↺ source             reused_from_cache       recorded digest same
↺ convert-f16-base   reused_from_cache       recorded digest same
↺ quantize-q4        reused_from_cache       recorded digest same
↺ smoke-q4           reused_from_cache       recorded digest same
+ quantize-q8        added                   recorded output added
+ smoke-q8           added                   fixture observation added

No promotion decision inferred.

Add it to your current workflow

Keep Git.
Add one check.

ModelBake runs beside Git and llama.cpp. Add one CI step and every GGUF release gets a record and a comparison.

Download source
MODEL RELEASE / CI
- uses: ./.github/actions/modelbake
  with:
    recipe: modelbake.yaml
    baseline-store: .modelbake/baselines
    baseline-name: production
    enable-github-cache: "false"
    upload-evidence: "false"

 record the artifact bytes produced
 verify the current bytes
 compare with the accepted predecessor
 stop local acceptance when bytes move
SOURCE + CI EXAMPLE INCLUDED ↓

Evidence, correctly named

Know what
green means.

THE BUILD ESTABLISHESTHE BUILD DOES NOT ESTABLISH

Output bytes were produced and digested.

×

No model quality conclusion.

The fixture adapter decoded each requested test artifact.

×

That any model runtime opened them.

The manifest records source, recipe, runner, and output digests.

×

Future reproduction, license, security, or production readiness.

A green process exit is not a green model.

Local from the first build

Run the
first diff.

The local CLI stays free. No account. No model upload. One command shows the complete baseline → candidate → diff loop.

Exact quickstart
01 python -m pip install ./modelbake_ai-0.1.0-py3-none-any.whl
02 modelbake tour

     baseline → candidate → exact release diff
Copied to clipboard