What each half contributes
Measured on the TIES base, the Schierling adapter takes hembench from 10.1% to 65.0%
(4/38 → 26/38 tasks), where every generated program is executed by the real interpreter and its
stdout compared against expected output:
Table with columns: level, TIES, + Schierling| level | | TIES | + Schierling |
|---|
| L1 | syntax | 1/9 | 8/9 |
| L2 | stdlib | 0/5 | 1/5 |
| L3 | algorithms | 0/7 | 5/7 |
| L4 | systems | 0/7 | 5/7 |
| L5 | translation | 0/5 | 3/5 |
| L6 | debugging | 3/5 | 4/5 |
| overall | weighted | 10.1% | 65.0% |
22 tasks fixed, 0 broken. Generated code that fails to execute drops from 30 tasks to 8.
Vorarbeiter contributes the operator behaviour: delegation of non-Hemlock engineering work to a
code agent, and factual answers on topics the base sanitises. See its card for those numbers.
Benchmarks
Measured on the merged weights. Tool use is the 47-case egirl bench at temperature 0; Hemlock is
hembench, where every generated program is executed by the real interpreter and its stdout
compared against expected output.
Table with columns: TIES, Vorarbeiter, Hemlock, Wichtel | TIES | Vorarbeiter | Hemlock | Wichtel |
|---|
| tool use | 35/47 | 41/47 | — | 47/47 |
| delegation | 0/10 | 7/10 | — | 10/10 |
| hembench | 10.1% | — | — | 67.6% |
The concern flagged when this model was uploaded — that 5,562 rows of tool-free code generation
might teach the operator to write code instead of delegating — did not materialise. Adding
the Hemlock adapter to a base with 0/10 delegation left it at 1/10 and lifted total tool use
35/47 → 37/47; nothing was lost. Adding the egirl tool-use adapter on top then took delegation
to 10/10, which is Wichtel.
If you want the operator model, use Wichtel — same lineage plus the tool-use adapter, and it
is the configuration that was benchmarked end to end. This model is the useful intermediate: the
Hemlock capability without the egirl-specific tool schema baked in, which is what you want if
your agent uses different tools.
MTP head
peft merge_and_unload() silently drops the 15 mtp.* tensors and current llama.cpp then
refuses to load the model. They are grafted back from the pre-merge base and verified
bit-identical. This architecture has 1,199 tensors (850 language, 333 vision, 15 MTP,
1 lm_head).
llama-server -m Hemlock-Q8_0.gguf -ngl 99 -c 8192 --jinja -fa on -np 1 \
--spec-type draft-mtp --spec-draft-n-max 4
Limitations
- stdlib is the weak spot (1/5 on the adapter's own evaluation). Check API calls against docs.
- Merge behaviour unbenchmarked at upload time — see above.
- 38 hembench tasks is a small sample; per-level scores carry wide error bars.
- Everything Vorarbeiter carries: single-turn tool use, delegation bound to egirl's tool schema,
and a persistent Chinese-language gap on the censorship axis.
Lineage
Qwen/Qwen3.6-27B
└─ huihui-ai/Huihui-Qwen3.6-27B-abliterated
└─ nbeerbower/Qwen3.6-27B-TIES
└─ + Bubba-3ep (GreatFirewall ORPO)
└─ + delegation LoRA = Vorarbeiter
└─ + Schierling (Hemlock SFT) ← this model