Reading this card
The card names the machines the work ran on by their hardware. The records behind its figures (graded files,
run reports, logs) are kept privately with the project, so the card does not cite them.
Table with columns: name, what it is| name | what it is |
|---|
| the 3090 Ti workstation | 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. |
| the 4090 workstation | 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 the 3090 Ti workstation's card with nothing
else on the card; workstation-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. 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.
Table with columns: heldout-v3.2, behave@1 unless named, bar (full leg), Qwen3.6-27B base, wollf-v7sf3| 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, recomputed under the tags. The table is the grader's own table output on the
graded files.
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 (seal 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; 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 the 3090 Ti workstation
(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.
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:
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.
Read the spread rather than any one seed's number.
Using it
Table with columns: file, what it is| 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
Table | |
|---|
| name | wollf-v7sf3 (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. At launch the training node checked that its config differs from wollf-v4's in eight keys only. |
| 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 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. |
| 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 (2026-09-30): the adapter merged into the bf16 base on the 3090 Ti workstation's CPU, shard by shard, with the merge of record's arithmetic (W + scaling·B@A in float32, cast to bf16). 15 bf16 safetensors shards, 55,562,855,904 B of tensors, every file's sha read twice. The merge script's verify step 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. From the merge: a bf16 GGUF (d3799053…, 54,657,732,576 B), a Q6_K_L (ef37ac90…) and a Q8_0 (31886c87…), kept privately. The Q6_K_L that every number on this card was graded on is the one the training node itself merged and quantized: wollf-v7sf3-Q6_K_L.gguf, 23,046,832,096 B, sha256 9eaf6a7ec6fc5e0a57e2b50662662d1a4e1265e27239d15ef75a4e20ac954f1d (read twice at the merge and once more later). The Q6_K_L made on the 3090 Ti workstation 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. The 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: the 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. A follow-up showed that the includes appear when the prompt asks for a standalone
translation unit. This corpus 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:
Table with columns: part, rows, where the rows come from, license of the source| 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. 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.
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. 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. 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,
three seeds) still passed all three program items and the diagnose item on every seed, so those rows
are not what passes the items. 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's LICENSE file 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), sha256
39d16667… in all three. Model outputs used as answers (the
teachers', the base's own, and wollf-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
Twelve public suites, n = 143–400 each, 3,106 items in all, run on the L40S with the
Qwen3.6-27B base served in the same rental. Neither seed resolves a
difference against its base on any suite: 0 of 24, as for the parent v7sr (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.
Table with columns: suite, n, base, v7sf3, net, resolves at, v7sf, net| 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 |
Served as Q6_K_L on the L40S (l40s-single), the same GGUF digests as above.
Measured: heldout-v3.1 on the 3090 Ti workstation, 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. The cells are the grader's table output, full-leg figures. Under the tags, v7sf3 reads c18/21 on wolf behave@1
and c108/114 on general on v3.1.
Table with columns: gate, bar, Qwen3.6-27B base, wollf-v2 (record to 2026-09-26), wollf-v7sf (seed A), wollf-v7sf3 (seed B, record)| 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, 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. 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.
Measured: the merged weights (workstation-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 the 3090 Ti workstation's card nor its RAM, and the profile of record
(single-card) needs the whole card, which was in use. So the merge was graded under a second named profile,
workstation-shared: one llama-server beside the running pool, -ngl 26 (the card's free memory), every other
flag the single-card script's (the grader 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.
Table with columns: gate, bar, Q6_K_L of record, single-card, Q6_K_L of record, workstation-shared, merge at Q8_0, workstation-shared, merge at Q6_K_L, workstation-shared| gate | bar | Q6_K_L of record, single-card | Q6_K_L of record, workstation-shared | merge at Q8_0, workstation-shared | merge at Q6_K_L, workstation-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 (the grader's comparison):
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, 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
workstation-shared (above). 54.6 GB fits neither the 3090 Ti workstation'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. A retrain 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. No row in this corpus teaches that content. A later corpus lifted it to
7–8 of 12 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. A later revision 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: true in
the gate definitions), 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. 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 the 3090 Ti workstation's fallback kernels and v7sf/v7sf3 on the L40S fast
path, and the grader prints
CROSS-TRAINED-ON: not comparable for 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,
kept private with the items.