File size: 3,311 Bytes
2cc9db8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
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).