Instructions to use wolffe-lang/wollf-v7sf3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use wolffe-lang/wollf-v7sf3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="wolffe-lang/wollf-v7sf3") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("wolffe-lang/wollf-v7sf3") model = AutoModelForMultimodalLM.from_pretrained("wolffe-lang/wollf-v7sf3", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use wolffe-lang/wollf-v7sf3 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L # Run inference directly in the terminal: llama cli -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L # Run inference directly in the terminal: llama cli -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L # Run inference directly in the terminal: ./build/bin/llama cli -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Use Docker
docker model run hf.co/wolffe-lang/wollf-v7sf3:Q6_K_L
- Llama new
- LM Studio
- Jan
- vLLM
How to use wolffe-lang/wollf-v7sf3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "wolffe-lang/wollf-v7sf3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wolffe-lang/wollf-v7sf3", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/wolffe-lang/wollf-v7sf3:Q6_K_L
- SGLang
How to use wolffe-lang/wollf-v7sf3 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "wolffe-lang/wollf-v7sf3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wolffe-lang/wollf-v7sf3", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "wolffe-lang/wollf-v7sf3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wolffe-lang/wollf-v7sf3", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use wolffe-lang/wollf-v7sf3 with Ollama:
ollama run hf.co/wolffe-lang/wollf-v7sf3:Q6_K_L
- Unsloth Desktop
- Pi
How to use wolffe-lang/wollf-v7sf3 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "wolffe-lang/wollf-v7sf3:Q6_K_L" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use wolffe-lang/wollf-v7sf3 with Docker Model Runner:
docker model run hf.co/wolffe-lang/wollf-v7sf3:Q6_K_L
- Lemonade
How to use wolffe-lang/wollf-v7sf3 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull wolffe-lang/wollf-v7sf3:Q6_K_L
Run and chat with the model
lemonade run user.wollf-v7sf3-Q6_K_L
List all available models
lemonade list
- Hermes Agent
How to use wolffe-lang/wollf-v7sf3 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default wolffe-lang/wollf-v7sf3:Q6_K_L
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use wolffe-lang/wollf-v7sf3 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wolffe-lang/wollf-v7sf3:Q6_K_L
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "wolffe-lang/wollf-v7sf3:Q6_K_L" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
wollf-v7sf3
wollf is Qwen3.6-27B fine-tuned by QLoRA to write wolf, a new compiled systems language, while keeping its general coding ability. No base model has wolf in its pretraining data. Every wolf row in the training set was checked by the wolf toolchain before it was kept. wollf-v7sf3 has been the project's model of record since 2026-09-26. It replaced wollf-v2.
This repository holds the full-precision merge (bf16 safetensors), the QLoRA adapter, the Q6_K_L GGUF that
every score on this card was measured on, and Qwen's license file. The training data is published separately
as the dataset wollf-sft.
Reading this card
The card names the machines the work ran on. wlNN numbers the project's work logs, and paths in backticks
are files in the project repository; both are kept as provenance. The repository is private, so those paths
will not resolve for a reader.
| name | what it is |
|---|---|
| hasu | the project's main workstation. NixOS; Intel Core i7-12700KF (20 threads); 46 GiB RAM; one NVIDIA RTX 3090 Ti, 24 GB. It serves models under llama.cpp for grading and holds the files of record. The full-precision merge was computed on its CPU. |
| kasumi | a second workstation. CachyOS Linux; Intel Core i9-11900K (16 threads); 31 GiB RAM; one NVIDIA RTX 4090, 24 GB. It runs the compilers and interpreters that verify training rows (gcc, node, python, under bwrap) and the wolf toolchain. |
| the L40S | a rented cloud GPU: one NVIDIA L40S, 48 GB (DigitalOcean gpu-l40sx1-48gb, Toronto). v7sf3 and v7sf were trained here, and the twelve-suite general instrument was run here. |
| the RTX 6000 Ada | a second rented 48 GB card, used for two later trainings of the same corpus as controls. |
Serving profiles named below: single-card is one llama-server on hasu's RTX 3090 Ti with nothing else on
the card; hasu-shared is the same server beside other work, with 26 layers on the card (-ngl 26);
l40s-single is one llama-server on the L40S.
Headline: the held-out wolf score
wolf programs, behave@1: 18 of the 21 clean items (36 of all 40). The untrained base scores 0 of 21 (0 of 40). The clean score leaves out every item tagged for overlap with public text or with a training row. The full score counts all 40.
Why the two differ: heldout-v3.2's 40 wolf-program items were written after the training templates and are
never trained on. A post-training audit tagged 19 of them (eval/heldout-tags-v3.2.json). All 19 share text
with the public wolffe-lang repositories (public-wolf): the language's own examples, tests and book. That
text could be in any model's pretraining data, and the wolf training rows quote from it.
Three of the 19 also have a near-twin row in the training corpus (corpus-twin): a row whose program
does what the item asks. They are wh-003, wh-004 and wh-009. v7sf3 passes 18 of the 19 tagged items and 18 of the 21
untagged ones. The bars were set on the full figure. The clean figure credits nothing to overlap. At n = 21,
one item is almost five points.
| heldout-v3.2, behave@1 unless named | bar (full leg) | Qwen3.6-27B base | wollf-v7sf3 |
|---|---|---|---|
| wolf program (40; clean 21) | 30/40 | 0/40 ยท c0/21 | 36/40 ยท c18/21 |
| wolf program compile@1 | 33/40 | 0/40 ยท c0/21 | 38/40 ยท c20/21 |
| wolf program run@1 | 34/40 | 0/40 ยท c0/21 | 39/40 ยท c20/21 |
| wolf program pass@3 | 32/40 | 0/40 ยท c0/21 | 36/40 ยท c18/21 |
| wolf diagnose acc@1 (12; clean 9) | none (reported) | 2/12 ยท c2/9 | 4/12 ยท c4/9 |
| general (136; clean 115) | 122/136 | 118/136 ยท c99/115 | 128/136 ยท c109/115 |
| python (25; clean 20) | 23/25 | 24/25 ยท c19/20 | 25/25 ยท c20/20 |
| C (25; clean 24) | 18/25 | 19/25 ยท c19/24 | 23/25 ยท c23/24 |
| javascript (86; clean 71) | 76/86 | 75/86 ยท c61/71 | 80/86 ยท c66/71 |
| js word-split class (42; clean 40) | 32/42 | 31/42 ยท c30/40 | 37/42 ยท c35/40 |
| gates clear (bars on the full leg) | 2/10 | 10/10 |
c k/n is the clean score. Source: eval/reports/wl64/clean-scores.json (the clean scores recomputed under
the tags) and eval/gates.py --heldout v3.2 table on the graded files (eval/reports/wl63/table-v32.txt).
Graded files: eval/reports/wl58-graded-{qwen3.6-27b-base,wollf-v7sf3}-v32-single.json.
The general leg has the same two figures. 21 of the 136 general items are tagged. 15 overlap a public
benchmark suite (public-suite), one overlaps public wolffe-lang text, and nine have a near-twin row in the
training corpus (corpus-twin). Four of those nine also overlap a public suite. v7sf3 passes 19 of the 21
tagged items. Its general figure is 128/136 on the full leg and c109/115 clean.
The instrument is heldout-v3.2, sealed on 2026-10-07 (eval/seal-heldout-v3.2.json, sha256
4a27333d40b5โฆ). It holds 188 items: 52 wolf (40 program, 12 diagnose) and 136 general (25 python, 25 C, 86
javascript). The items were written independently of the training templates and checked against the
toolchain when sealed. They live in a private repository (eval/POLICY.md, "Where the items live"); the
project repository carries only their seals, ids, tags and grades. The protocol is one system line,
temperature 0 for @1, and two more samples at 0.6 / top-p 0.95 for pass@3, with at most 1,600 tokens and
thinking off. The model is served as the Q6_K_L GGUF in this repository by llama.cpp on hasu's RTX 3090 Ti
(single-card). Wolf is graded by wolf 0.2.13 (pin 4cc3dcd) and lupin 0.1.36 (pin a7f517e), the pin
the seal names. General items are graded by python 3.11, clang and node, sandboxed. v3.2 is heldout-v3.1
with 13 items replaced: two whose code shapes had been in a teacher prompt and 11 C items whose text an
answer-form specification carried (wl57, wl58).
Seeds: v7sf3 is seed B (20260914) of a pair trained on one corpus and one recipe on the L40S. Its sibling
wollf-v7sf (seed A, 20260827) reads 35/40 ยท c17/21 on wolf and 128/136 ยท c108/115 on general, with 10/10
gates. The same corpus and recipe were later trained twice more on the RTX 6000 Ada, as controls (wl59,
wl62): v7sf3a (seed 20260914) reads 37/40 ยท c19/21 and v7sfa (seed 20260827) reads 34/40 ยท c18/21. Four
trainings of this corpus therefore span 34โ37 of 40 and c17โc19 of 21 on wolf
(eval/reports/wl62-the-clean-corpus.md ยง4.2). Read the spread rather than any one seed's number.
Using it
| file | what it is |
|---|---|
model-0000{1..15}-of-00015.safetensors, model.safetensors.index.json, config.json and the tokenizer files |
the full-precision merge: the adapter merged into the bf16 base, in bf16. Load it with transformers (merged and saved with 5.5.0; the architecture is the base's Qwen3_5ForConditionalGeneration) |
adapter/adapter_model.safetensors, adapter/adapter_config.json |
the QLoRA adapter itself (r 32), for PEFT on Qwen/Qwen3.6-27B at revision 6a9e13bdโฆ. It is in a subfolder so that transformers loads the merge from the root rather than the adapter |
wollf-v7sf3-Q6_K_L.gguf |
the GGUF every number on this card was graded on, for llama.cpp |
The model was graded with this system line: "You are a careful programmer. Answer with a single complete
code block unless the task asks for a short answer." Thinking was off (enable_thinking: false in the chat
template's arguments). Training used no system turn and a sequence length of 2,048 tokens. The base's vision
inputs were never trained or tested.
The model
| name | wollf-v7sf3 (wl46, seed B; its sibling wollf-v7sf is seed A) |
| base | Qwen/Qwen3.6-27B, snapshot 6a9e13bd6fc8f0983b9b99948120bc37f49c13e9 |
| recipe | v4r's recipe, unchanged: QLoRA r32 / ฮฑ32 on q/k/v/o/gate/up/down, dropout 0; 4-bit NF4 base with double quantization, bf16 compute; sequence 2048; 2 epochs; lr 2e-4 linear, warmup 0.03; adamw_8bit, weight decay 0.01; batch 1 ร gradient accumulation 8; on-GPU recompute; seed 20260914. Config: train/configs/wollf-v7sf3.json. At launch the training node checked that it differs from wollf-v4.json in eight keys only (wl46 ยง4.3). |
| run | 1,298 steps, 9,304.8 s (2 h 36 m, 7.17 s/it), peak 22,687 MiB, loss 2.2206 โ 0.4279, on the L40S (droplet 603406729) with the fast path (fla + causal-conv1d). Stack: torch 2.11.0+cu128, transformers 5.5.0, peft 0.20.0, trl 0.24.0, unsloth 2026.8.21, llama.cpp 6f4f53f2b. Source: hasu:~/wollf/runs/wollf-v7sf3/{run-report.json,env-pins.txt}. |
| data | corpus-v7-sr36-form, sha256 bb542fdf98682648821940d2892a977ec00a1023ba66d877a349725aa92435a3, 5,190 rows, published as the dataset's release config byte for byte (see Training data). |
| weights | The full-precision merge (wl49, 2026-09-30): the adapter merged into the bf16 base on hasu's CPU, shard by shard, with the merge of record's arithmetic (W + scalingยทB@A in float32, cast to bf16; train/merge_full.py). 15 bf16 safetensors shards, 55,562,855,904 B of tensors, every file's sha read twice (eval/reports/wl49/merged.sha256.h{1,2}). merge_full.py verify read it back: 256 modules merged once each, the other 943 of 1,199 tensors byte-identical to the base's, every sampled row within one bf16 ulp of a float64 reference except one cancellation element inside float32's slack (eval/reports/wl49/merge-verify.json). From the merge: a bf16 GGUF (d3799053โฆ, 54,657,732,576 B), a Q6_K_L (ef37ac90โฆ) and a Q8_0 (31886c87โฆ), under hasu:~/wollf/runs/wollf-v7sf3/wl49/. The Q6_K_L that every number on this card was graded on is the one the training node itself merged and quantized: hasu:~/wollf/runs/wollf-v7sf3/wollf-v7sf3-Q6_K_L.gguf, 23,046,832,096 B, sha256 9eaf6a7ec6fc5e0a57e2b50662662d1a4e1265e27239d15ef75a4e20ac954f1d (read twice by wl49 and again by wl63). The Q6_K_L made on hasu from the merge is not byte-identical to it, and the difference is small: the same metadata, 828 of 866 tensors byte-identical, 36 ssm_a tensors with 1โ4 of 48 elements one float32 ulp apart (the converter derives ssm_a from A_log, which this merge leaves byte-identical to the base; a different CPU's exp is the likely cause, not verified) and two Q6_K tensors one byte apart (eval/reports/wl49/gguf-compare-q6.json). The adapter is โฆ/wollf-v7sf3/adapter/, adapter_model.safetensors sha256 caed627c5bc3โฆ, 637,610,624 B; the release copy of its adapter_config.json names Qwen/Qwen3.6-27B as its base. |
| grade toolchain | wolf 0.2.13 (pin 4cc3dcd) / lupin 0.1.36 (pin a7f517e), the pin heldout-v3.1 and v3.2 were sealed at |
How it was built: wl43's corpus-v7 candidate (wollf-v7sr) kept wolf, but on heldout-v3.1 it missed the C
bar on both seeds (18 and 19 of 25, against a bar of 20). Its answers to "โฆNo main. Return only the code."
left out their #includes. wl45 showed that the includes appear when the prompt asks for a standalone
translation unit. wl46 taught that form as rows: 161 of v7sr's own answers, each verified to compile alone
under -Werror=implicit-function-declaration -Werror=implicit-int, with the prompt stored without the nudge
sentence. Two seeds were then trained on the result.
Training data
The training mix is published as the dataset's release config. It is the same file byte for byte
(bb542fdfโฆ, 5,190 rows, 14,054,390 B), so this card's data sha is the dataset's, and the dataset card is
its datasheet. The composition below was read from the file's own meta fields (wl63):
| part | rows | where the rows come from | license of the source |
|---|---|---|---|
| wolf | 2,452 (0.4724) | prompts built from wolffe-lang text (the language's corpus, specification and book exercises) and answered by teacher models: qwen3-coder:30b 1,100, Qwen3.6-35B-A3B 1,025, GLM-4.7-Flash 327. Every row is checked by the wolf toolchain (a program compiles, runs and does what its claim says; a diagnose answer is the toolchain's verdict) | wolffe-lang text: GPL-3.0-or-later, used under the wolf Training Data Permission v1.0; teacher outputs: Apache-2.0 (Qwen), MIT (GLM) |
| general: glaive-code-assistant | 1,869 | the dataset's prompts; 158 answered by the base itself and kept only when verified | Apache-2.0 |
| general: CodeAlpaca-20k | 444 | the dataset's prompts; 140 answered by the base itself and kept only when verified | CC BY 4.0 (credited in the dataset card) |
| general: wollf-node-js | 264 | this project's javascript tasks, answered by Qwen3.6-35B-A3B (30 by the base) and checked under node | Apache-2.0 |
| general: wollf-answer-form | 161 | this project's C prompts, answered by wollf-v7sr (the base plus a LoRA trained on this project's data) and kept only when they compile alone |
CC BY 4.0 |
Magicoder: 0 rows. The release rule excludes Magicoder from any release mix, and the rule passes on this
file (train/data/audit/release_rule.py; eval/reports/wl63/seal-checks.log). Every wollf through v5
trained on Magicoder rows, and none of those is released.
Contamination was measured on the released file (sha256 bb542fdfโฆ, which is also the training mix) with
an exact 13-gram token index (containment) and the sealed guard (12-character shingles, Jaccard โฅ 0.5).
Against the sealed heldout (512 benchmark texts; v3.1 and v3.2) and the twelve general suites reported
below (HumanEval+, MBPP+, MultiPL-E js/cpp, IFEval, IFBench-mt, GSM8K, MMLU-Pro, BBH, DROP, TruthfulQA MC1,
BFCL-AST; 13,965 texts), there are 0 exact and 0 near hits. There are 7 partial (โฅ 0.2) hits on MBPP+,
listed in the audit. The sealed guard finds 0 collisions against heldout-v3.1 and against heldout-v3.2
(eval/reports/wl63/seal-checks.log).
Rows that share text with held-out items: the whole-text measures above miss rows that do an item's task in
other words. A per-row reading after training found them (wl60, wl61). 45 rows of the 5,190 carry a held-out
item's solution in substance. 24 are wolf rows on four items: wh-004 19, wh-003 2, wh-009 2 and the
diagnose item wh-104 1. 14 are general rows on nine live items, and 7 are general rows on six C items that
heldout-v3.2 had already replaced. The 13 live items are tagged corpus-twin and are out of every clean score
above. A guard now refuses any new such row in a mix: the release mix carries its 409 characterised rowโitem
pairs and 0 new ones (eval/reports/wl63/seal-checks.log). Without the three wolf program items, v7sf3 is
33/37 on the full wolf-program leg, and every gate holds. A retrain without the 24 wolf rows (corpus-v8,
wl62, three seeds) still passed all three program items and the diagnose item on every seed, so those rows
are not what passes the items (eval/reports/wl62-the-clean-corpus.md ยง4.4). The general rows have not been
tested that way. The released file is the training file, so it still carries the 45 rows. Which rows they are
is not published, because naming them would point at the items.
License
Apache-2.0, matching the base.
- Base notice. wollf-v7sf3 is a modified version of Qwen/Qwen3.6-27B (revision
6a9e13bd6fc8f0983b9b99948120bc37f49c13e9), Copyright 2026 Alibaba Cloud, licensed under the Apache License, Version 2.0. QLoRA fine-tuning changed the weights: the adapter, or the adapter merged into the base and quantized. This repository carries Qwen'sLICENSEfile unchanged. The base repository has no NOTICE file. "Qwen" names the origin and nothing more. - Training data is
corpus-v7-sr36-form, with 0 Magicoder rows, so the release rule's Magicoder exclusion has nothing to exclude here. Its licenses by component are in the table above and in the dataset card. The wolf Training Data Permission v1.0 says a trained model's weights and outputs are not a work based on the wolffe-lang text. It is merged in wolf-lang (#397), wolf-book (#55) and wolf-std (#42), sha25639d16667โฆin all three (eval/reports/wl48-evidence.txtยง4). Model outputs used as answers (the teachers', the base's own, andwollf-v7sr's) carry no restriction on outputs. - The dataset is published under CC BY 4.0, with attribution to wolffe-lang, CodeAlpaca 20K and glaive-code-assistant in its card.
Measured: the general instrument (wl47)
Twelve public suites, n = 143โ400 each, 3,106 items in all, run on the L40S (droplet 603406729) with the
Qwen3.6-27B base served in the same rental (eval/general/tables/wl47-reading.json). Neither seed resolves a
difference against its base on any suite: 0 of 24, as for the parent v7sr (wl39, 0 of 24). The largest
nominal differences are MBPP+ โ12 / โ11 of 378, MultiPL-E C++ โ7 / โ8 of 161, IFEval โ9 / โ4 of 269 and
DROP +12 / +14 of 300, each inside its resolvable difference. A null at this n does not show the absence of
an effect; it admits losses up to that difference (MBPP+ 28 items, IFEval 26, C++ 12). The grader regraded
one serving's 864 code answers with 0 flips.
| suite | n | base | v7sf3 | net | resolves at | v7sf | net |
|---|---|---|---|---|---|---|---|
| HumanEval+ | 164 | 152 | 150 | โ2 | 11 | 148 | โ4 |
| MBPP+ | 378 | 300 | 289 | โ11 | 28 | 288 | โ12 |
| MultiPL-E JS | 161 | 148 | 145 | โ3 | 11 | 143 | โ5 |
| MultiPL-E C++ | 161 | 149 | 141 | โ8 | 12 | 142 | โ7 |
| IFEval | 269 | 231 | 227 | โ4 | 26 | 222 | โ9 |
| IFBench-mt | 143 | 114 | 111 | โ3 | 15 | 109 | โ5 |
| GSM8K | 300 | 293 | 292 | โ1 | 9 | 290 | โ3 |
| MMLU-Pro | 252 | 203 | 204 | +1 | 22 | 201 | โ2 |
| BBH | 270 | 254 | 256 | +2 | 11 | 259 | +5 |
| DROP | 300 | 219 | 233 | +14 | 21 | 231 | +12 |
| TruthfulQA MC1 | 300 | 249 | 254 | +5 | 19 | 254 | +5 |
| BFCL-AST | 400 | 368 | 371 | +3 | 15 | 371 | +3 |
Source: eval/general/reports/wl47-the-instrument-read.md ยง4.3โ4.4, eval/general/tables/wl47-{law,reading,table}.json.
Served as Q6_K_L on the L40S (l40s-single), the same GGUF digests as above.
Measured: heldout-v3.1 on hasu, single-card (the grade of record until 2026-10-07)
heldout-v3.1 was the instrument when v7sf3 was chosen. heldout-v3.2 replaced 13 of its items on 2026-10-07
(above). Same protocol and serving. Graded files: eval/reports/wl46-graded-wollf-v7sf{,3}-v31-single.json,
wl22-graded-{qwen3.6-27b-base,wollf-v2}-v31-single.json. The cells are gates.py table output
(eval/reports/wl48-evidence.txt ยง5), full-leg figures. Under the tags, v7sf3 reads c18/21 on wolf behave@1
and c108/114 on general on v3.1 (eval/reports/wl64/clean-scores.json).
| gate | bar | Qwen3.6-27B base | wollf-v2 (record to 2026-09-26) | wollf-v7sf (seed A) | wollf-v7sf3 (seed B, record) |
|---|---|---|---|---|---|
| wolf behave@1 | 30/40 | 0/40 | 35/40 | 35/40 | 36/40 |
| wolf compile@1 | 33/40 | 0/40 | 37/40 | 36/40 | 38/40 |
| wolf run@1 | 34/40 | 0/40 | 38/40 | 38/40 | 39/40 |
| wolf pass@3 | 32/40 | 0/40 | 36/40 | 36/40 | 36/40 |
| wolf margin vs base | +30 | 0 | +35 | +35 | +36 |
| diagnose acc@1 | none (reported) | 2/12 | 4/12 | 4/12 | 4/12 |
| general | 123/136 | 116/136 | 129/136 | 129/136 | 128/136 |
| python | 23/25 | 24/25 | 25/25 | 25/25 | 25/25 |
| C | 20/25 | 17/25 | 23/25 | 23/25 | 23/25 |
| javascript | 76/86 | 75/86 | 81/86 | 81/86 | 80/86 |
| js word-split class | 32/42 | 31/42 | 37/42 | 37/42 | 37/42 |
| gates clear | 1/10 | 10/10 | 10/10 | 10/10 |
Both seeds clear all ten bars, the first wollf models to do so on a Magicoder-free mix. Read against the
parent v7sr, with the v7sr ~ v7sr3 flips as the band (wl46 ยง5.2, recomputed in ยง5.2a), every wolf leg and
diagnose sit inside the band on both seeds. C and general compile/run are above it on both, which is what the
added rows were meant to recover. One reading falls below it: seed B's javascript, 80 against v7sr's 83 on a
band of 2. It lost three items (gh-js-27, gh-js-47, gh-js-86) that v2 and v7sr3 pass. The new pair's
own js spread is 5 flips, so โ3 lies inside what the two seeds show, and it still clears the js bar by four.
The two C items still missed (gh-c-07, gh-c-16) are the same two that v2 fails. Against the stamped L40S
baseline v4r, seed B's general compile@1/run@1 read 134 against 136, a downward miss on a band of 1; that is
the same two-item C gap and not a new leg (wl46 ยง5.2a item 3). The pair's numbers are the claim. Seed B is
the record because on the instrument it leans nowhere as a cost, and on the heldout it reads higher on wolf
(wl47 ยง4.6).
Measured: the merged weights (wl49, hasu-shared)
The release checklist asks whether the full-precision merge reads like the Q6_K_L every number above was
graded on. The bf16 merge itself (54.6 GB) fits neither hasu's card nor its RAM, and the profile of record
(single-card) needs the whole card, which was in use. So wl49 graded under a second named profile,
hasu-shared: one llama-server beside the running pool, -ngl 26 (the card's free memory), every other
flag the single-card script's (serving_host hasu-ngl26; eval/gates.py refuses to mix it with any other
profile). The existing Q6_K_L was re-graded in it as the control, with the merge's own quantizations beside
it, on heldout-v3.1. Graded files: eval/reports/wl49-graded-wollf-v7sf3-{q6,merged-q8,merged-q6}-v31-shared.json.
| gate | bar | Q6_K_L of record, single-card | Q6_K_L of record, hasu-shared | merge at Q8_0, hasu-shared | merge at Q6_K_L, hasu-shared |
|---|---|---|---|---|---|
| wolf behave@1 | 30/40 | 36/40 | 35/40 | 36/40 | 34/40 |
| wolf compile@1 | 33/40 | 38/40 | 37/40 | 37/40 | 36/40 |
| wolf run@1 | 34/40 | 39/40 | 38/40 | 38/40 | 37/40 |
| wolf pass@3 | 32/40 | 36/40 | 39/40 | 37/40 | 37/40 |
| diagnose acc@1 | none | 4/12 | 4/12 | 4/12 | 4/12 |
| general | 123/136 | 128/136 | 128/136 | 129/136 | 128/136 |
| python | 23/25 | 25/25 | 25/25 | 25/25 | 25/25 |
| C | 20/25 | 23/25 | 23/25 | 23/25 | 23/25 |
| javascript | 76/86 | 80/86 | 80/86 | 81/86 | 80/86 |
| js word-split class | 32/42 | 37/42 | 37/42 | 37/42 | 37/42 |
Where the merge differs from the Q6_K_L, inside one profile (gates.py compare, eval/reports/wl49/compare-*.txt):
at Q8_0, three @1 items flip. wh-210 is won (behave, compile, run), wh-214 lost (compile, run) and
gh-js-86 won (general, javascript): net +1 behave, 0 compile, 0 run, +1 general. The pass@3 โ2 is
temperature samples (wh-023, wh-202). No gate changes sides of its bar. The merge's own Q6_K_L, which
differs from the one of record in two bytes and a few float32 ulps, flips one @1 item, wh-205 (lost on
behave, compile and run); 164 of 188 greedy answers are byte-identical to the Q6 of record's, against 144 at
Q8_0 (eval/reports/wl49/sample0-identity.txt), so a flip of an item or two is the size of a near-tie
rather than of a change in the weights. The profile itself moves the Q6 of record by one @1 item against
single-card (wh-210, lost on all three wolf @1 legs).
Not measured
- The bf16 weights served as bf16. The merge was graded at Q8_0 and Q6_K_L, on heldout-v3.1 under
hasu-shared(above). 54.6 GB fits neither hasu's card nor its RAM. - The twelve-suite general instrument on the merge. Its numbers are the Q6_K_L's, from one L40S rental. The safetensors in this repository are weights whose general-instrument numbers are their Q6_K_L's.
- The merge on heldout-v3.2. The v3.2 figures are the Q6_K_L of record's.
- A third seed on the L40S. It was optional and was not run. Two more trainings of the same corpus on another card exist (Seeds, above).
- Whether the 21 general twin rows are what pass their items. wl62 tested the 24 wolf rows by training without them; the general rows were not tested.
- The language as it stands today. The wolf leg and the heldout are pinned to wolf 0.2.13 / lupin 0.1.36. Wolf has shipped many releases since (0.2.33 on 2026-10-19), and the wolf rows teach the language as it stood at that pin (the dataset card, Staleness).
- Anything outside the protocol: thinking on, contexts past 2,048 training tokens, image or video inputs, other system prompts, prompts in languages other than English, and safety or misuse behavior. None was evaluated.
Known limits
- Diagnose is 4/12. Predicting the toolchain's verdict on a given program has not moved since v2: 4/12
for v2, v7sr, v7sf and v7sf3 (v7sf3's pass@3 is also 4/12; clean c4/9). The leg is reported and not
gated, because the margin its noise demands (4 items) exceeds any score reached. The form is learned: 36
of 36 samples per seed open with a parseable
verdict:line. The misses are content, the wrong error code for the program (wl46 ยง2). No row in this corpus teaches that content. A later corpus lifted it to 7โ8 of 12 (wl59, wl62) but was not promoted. - The js bars. On the instrument v2 was judged by (heldout-v2, L4โฒ), the two javascript gates could not be
satisfied at any band. js needed more than 24 of 25 (bar 24 + band 1 = n), and the word-split class
needed 6 of 6, a 100 % bar that no n can fix. No model could pass them: L4โฒ's literal rule was undecidable
on those legs, and L4โฒ was withheld for v2 (wl17, wl19). wl18 retired both by growing the sets. On
heldout-v3.1 and v3.2 both js bars can be satisfied (76/86 and 32/42,
sizing.satisfiable: trueineval/gates.json), and v7sf3 clears them by 4 and 5. The javascript limit that stands for v7sf3 is the seed-B reading above, one item outside v7sr's band. The C rows may cost two or three js items at seed size. - What the instrument's null means at this n. "0 of 24 resolve" means no suite moved by more than it can resolve: 9 to 28 items depending on the suite (the "resolves at" column). It does not mean "no general cost". It admits losses up to that difference, and seven of twelve suites read nominally negative on v7sf3, the code suites among them. Three cells have a nominal McNemar p < 0.05, and none survives Holm across twelve tests. The same count of negatives appeared for v7sr (wl39). A general cost smaller than the resolvable difference would not show here, and nothing in this card rules one out.
- Columns cross a training path. v2 was trained on hasu's fallback kernels and v7sf/v7sf3 on the L40S fast
path, and
gates.pyprintsCROSS-TRAINED-ON: not comparablefor that table. The v7sf3 versus v2 comparison is therefore by bar and by band, not item by item. - The heldout's own blind spots (the toolchain's envelope, prescribed behaviors) are in its design notes,
HELDOUT.md, kept private with the items.
- Downloads last month
- 59
Model tree for wolffe-lang/wollf-v7sf3
Base model
Qwen/Qwen3.6-27B