Judgment QC gate (Gemma variant) — v6, Q8_0 GGUF

⚠️ Not the served gate. This is the Gemma arm of a two-base comparison. Its judgment matches the Qwen3-4B sibling, but it breaks the one-line output contract on 5 of 58 held-out cases, which any parser reads as a block. Qwen ships. This is published so the comparison is reproducible and because a Gemma-4-E4B fine-tune that converts and serves cleanly is a useful starting point on its own.

Merged Q8_0 GGUF of the v6 Gemma adapter: a LoRA that reviews work the way one operator does. Adapter, corpus methodology, full evaluation and limitations live in the companion LoRA repo, read that before using this: https://huggingface.co/AltronisSG/judgment-qc-gate-gemma-4-e4b-lora

  • File: judgment-gemma-4-e4b-v6-Q8_0.gguf, 7.4 GiB
  • Built: 2026-07-25, llama.cpp convert_hf_to_gguf.py, no special flags. Its converter already registers the Gemma4 architectures, so claims that llama.cpp cannot convert gemma4 are out of date.

Serve

llama-server -m judgment-gemma-4-e4b-v6-Q8_0.gguf \
  --host 127.0.0.1 --port 8005 \
  --ctx-size 4096 --parallel 1 -ngl 99 -fa 1 \
  --jinja --reasoning-budget 0 --no-warmup

Loads in about 2 seconds from page cache on a Strix Halo box.

Output contract

Input is one line describing a work situation, prefixed with its phase. Output is meant to be exactly one line:

VERDICT: <TAG> | <one-sentence correction>
VERDICT: OK
VERDICT: ABSTAIN | <what is missing>

<TAG> comes from a closed 14-tag vocabulary. Treat VERDICT: OK as pass and anything else as a correction to act on.

Measured behaviour

58 held-out examples never trained on, temperature 0, served through llama.cpp. Identical corpus and identical 156/58 split to the Qwen sibling, so the base model is the only variable:

Check This model Qwen3-4B sibling
Returns a parseable one-line verdict 53/58 58/58
False blocks on clean work 0/16 0/16
Real violations caught 33/34 33/34
Exact tag match 13/34 12/34

On the decision a gate actually makes, block or pass, both are 49 of 50. The exact-tag column differs by one case out of 34, which is noise.

The 5 failures are one pathology, and you should expect it: it writes its reasoning where the verdict belongs, almost always on cases whose correct answer is ABSTAIN. It reasons toward "not enough information" and never commits to the line. If you wire this up, either add a stop sequence and re-prompt on a non-conforming reply, or treat unparseable output as a pass rather than a block. Do not treat it as a block: that converts a genuine 0/16 false-block rate into roughly 9% false blocks through formatting alone.

Wiring it as a gate

Fail open, loudly. If the gate is unreachable, let the work through and say the gate was down. A quality gate that silently blocks is worse than no gate.

Attribution

Base model: google/gemma-4-E4B-it (Apache-2.0) by Google. Adapter and this conversion released under Apache-2.0.

Built by Altronis, private LLMs and governed AI delivery, Singapore. Trained, merged, converted and evaluated on a single desk-side AMD Strix Halo machine. Setup notes and the Unsloth ROCm writeup: https://github.com/sypherin/strix-halo-setup

Downloads last month
173
GGUF
Model size
7B params
Architecture
gemma4
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AltronisSG/judgment-qc-gate-gemma-4-e4b-GGUF

Quantized
(298)
this model