Results and limitations
Fresh base-versus-tuned rerun on the same frozen 30 conversations / 180 turns:
Table with columns: Model, Exact Spec adherence, Robustness, Full-conversation pass| Model | Exact Spec adherence | Robustness | Full-conversation pass |
|---|
| Base | 1.7% (3/180) | 2.9% (3/102) | 0% |
| N=128 | 70.6% (127/180) | 64.7% (66/102) | 53.3% (16/30) |
Both models used the same structured prompt, greedy/no-thinking decoding, max 128 new tokens, and NF4 inference. The base emitted invalid JSON on 140/180 turns. All 360 informed judge verdicts agreed with the deterministic simulator; the judge sees the oracle and explains its result, so it is not an independent correctness oracle. Full scores, reasoning, raw responses, generations, source, and hashes are in evidence/.
This evaluation set previously informed checkpoint selection. Robustness is a 102-turn rejection-recovery subset. No staff scenarios exist (the user clarified a PRD oversight). The 100% reliability target is unmet; do not claim a minimum viable dataset size or general frontier-model superiority. This fictional benchmark is not suitable for industrial control or real safety decisions.
Load the adapter
Use a CUDA GPU and the pinned versions in evidence/code/requirements.txt.
import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfigfrom peft import PeftModel base = "Qwen/Qwen3-1.7B"base_revision = "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e"# Replace with the exact published adapter commit from release.json/submission.adapter_revision = "d76a5c3c7d947653f6cbaabf4c85030cc610fa40"tokenizer = AutoTokenizer.from_pretrained(base, revision=base_revision)model = AutoModelForCausalLM.from_pretrained( base, revision=base_revision, device_map="auto", quantization_config=BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True, bnb_4bit_compute_dtype=torch.float16))model = PeftModel.from_pretrained( model, "Calm153/vitrion-qwen3-1.7b-qlora-n128", revision=adapter_revision).eval()
The model is released as a PEFT adapter; its public base weights are downloaded separately. Use apply_chat_template(..., enable_thinking=False), a system prompt from the frozen dataset.strategies()['structured'], and generate(max_new_tokens=128, do_sample=False). Only the first user turn should contain the initial state. Append the model's actual responses to its history, including mistakes.