--- license: apache-2.0 base_model: Qwen/Qwen3.5-2B library_name: peft tags: - opencodifier - decision-model - lora - structured-outputs - qwen3_5 --- # OpenCodifier Decision 2B — v6full arm (run t33p) A LoRA decision head for [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B) trained by the **OpenCodifier** decision runtime (Apache-2.0). The model maps unstructured state to small, machine-actionable typed decisions — **choice** (one of a runtime-defined candidate list), **boolean** (true/false with probability), and **score** (ordered levels) — with calibrated confidence and deterministic abstention. It is not a chat model; free-form generation fields are unsupported by design (`unsupported_generation_field`). ## Numbers (one number per surface, never a universal claim) | surface | n | accuracy | note | |---|---|---|---| | OpenCodifier suite holdout | 120 | **0.6917** | `oc-readout-v1` readout, fp16 | | suite relational slice (rel200) | 200 | **0.6607** | same readout | | JevBench public split | 231 | **0.6580** | family-macro, official harness `fstandhartinger/jevbench` @ `9ec6f15a`, llama.cpp fork lane (Q4_K_M base + F16 LoRA) | **Release gate (suite ≥ 0.68 AND JevBench ≥ 0.6494): PASS × 2.** This arm's JevBench row beats its base and the community 0.8B checkpoint row (0.6494) on both surfaces. Calibration: raw winner probabilities are overconfident (true everywhere we measured). Ship confidence only through the fitted per-kind temperature — `perkind_calibration.json` (T = 5.225, post-fit ECE 0.1313 on the holdout) ships with this repo. Raw softmax is not calibrated confidence. ## Training - Base: `Qwen/Qwen3.5-2B` (Apache-2.0), LoRA r=16 / α=32 / dropout 0.05 - 1 epoch, lr 1e-4 cosine, warmup 3%, effective batch 16 (2×8 accum), max_len 2048, fp16 + sdpa, seed 42 → 19,058 steps (~9.7 h, single GPU) - Data: withheld decision corpus, 306,999 rows (151,436 choice / 81,537 score / 72,026 no-outcome), confidence-gated teacher labels with two-family consensus lineage (Apache-2.0 / CC0 sources only) - Full recipe in `train-manifest.json` ## What is withheld, and why The training corpus, the teacher-facts, and the extraction/consensus machinery (VIVERE lane) are **withheld**. Weights alone are inspectable and replicable with a comparable corpus; the corpus — multi-family consensus over 183k+ typed decision labels with a per-question disputes ledger — is the part that is not cheaply reproducible by a single-model distill. This is the "Claims we refuse to make" posture: no fully-open claims, the withholding is stated plainly. ## Usage - **llama.cpp**: `llama-server -m Qwen3.5-2B-Q4_K_M.gguf --lora t33p-2b-v6full-lora-F16.gguf` (the board row above was produced through exactly this lane) - **transformers/PEFT**: load `Qwen/Qwen3.5-2B` + `PeftModel.from_pretrained` with this adapter - Download is opt-in: the OpenCodifier engine never auto-pulls weights at build or run time. ## Engine The engine that serves, verifies, and calibrates this model — rules, relational solver, BM25 narrowing, candidate-conditioned decision math in Rust f64, confidence-gated verification — is Apache-2.0 at [OpenCodifier](https://github.com/aliasfoxkde/OpenCodifier) (docs: `docs/BENCHMARKS.md` is the comparison page of record).