P论文工作台最新版本 ↗
完整资料 / CURRENT_PDF

当前PDF

paper/distill-fingerprint/tex/main.pdf

artifact观察/版本:2026-09-06613,234 bytes下载完整原文直接读取
打开 PDF

当前稿件版本与方法有效性分别判断。PDF属于本次快照,旧版不会被新版本覆盖。

下载完整 PDF 文本
展开完整PDF文本(也进入全文搜索)
What Agentic SFT Buys: Rapid Behavioral Convergence, Base-Conditional
Capability Gains

Anonymous ACL submission

001

Abstract

002

Open coding agents are increasingly trained
on the trajectories of a frontier agent, and the
recipes are compared by resolve rate, which
at 731 and 500 tasks cannot separate “the trajectories did not transfer” from “they transferred and bought no score”. We curate 8,137
Claude Opus 4.8/Claude Code trajectories from
32,830 captured runs with an explicit rule set,
fine-tune two open Qwen families on them
for one to three epochs from bare and posttrained bases, and evaluate twelve arms in one
harness on SWE-bench Pro and SWE-bench
Verified; one extractor fingerprints all 46,542
teacher and student trajectories, and two samepool anchors put teacher and students on the
same tasks. On SWE-bench Pro, one epoch
produces most of the dense model’s convergence in command vocabulary, tool composition and protocol-error recovery, and on the
same tasks cuts the distance to the teacher’s
own trajectories to about one tenth of the native model’s; supervised fine-tuning (SFT) cuts
median cumulative input tokens by 45–53 %
on every dense checkpoint, whatever its score.
Fingerprint proximity changes whether or not
pass@1 changes: the corpus lifts a bare base
by +8.9 pp on Pro (+3.4 pp on Verified), every
comparison against a post-trained base (−2.2
to +2.8 pp) stays below the paired design’s detectable effect, and the next Qwen generation
gains +5.6 to +5.8 pp over the native dense
model at 1.35× its input. Where paired pass@1
at 731 and 500 tasks cannot separate the arms,
the behavioral rulers separate them by seven to
thirty times their sampling floors.

003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037

1

038

Open coding agents are increasingly trained on the
trajectories of a frontier agent (Pan et al., 2025;
Yang et al., 2025b; Ahmad et al., 2026), and the
recipes are compared by resolve rate. Resolve rate
hides the process that produced it (Shu et al., 2026).
At 731 and 500 tasks a paired comparison cannot

039
040
041
042
043

separate “the trajectories did not transfer” from
“they transferred and bought no score”, and two
runs of the same weights flip more than a tenth of
the tasks.
Imitation SFT is known to copy a model’s style
before its capability (Gudibande et al., 2024), and
agent behaviors can be fingerprinted and made
more teacher-like (Oderinwale, 2026; Yang et al.,
2026a,b); we show where that convergence saturates, what operational habits and input-token footprint it transfers, and why it can be sharply dissociated from paired solve-rate gains on post-trained
coding models. We vary the dose (epochs) and the
starting model (bare or post-trained) together, pair
every behavioral measurement with a capability
measurement on the same arm, add two same-pool
anchors (held-out training-pool tasks; the teacher
run on the benchmark) and the next Qwen generation as a control, all in one coding harness, and
document the curation rule by rule.
The corpus is 8,137 Claude Opus 4.8/Claude
Code trajectories (v12) selected from 32,830 captured runs by an explicit, fully reported rule set (§3).
Two open Qwen families are fine-tuned on it from
a post-trained dense base, a post-trained mixtureof-experts (MoE) base and a bare MoE base, and
twelve arms run in one harness on SWE-bench Pro
and SWE-bench Verified (§4). One extractor measures all 46,542 teacher and student trajectories on
four rulers, 345 held-out and 359 benchmark tasks
anchor teacher and students on the same tasks, and
180 endings and 68 rationalization windows are
audited (§5–§7).
On the dense line on SWE-bench Pro, one epoch
produces most of the observed convergence in command vocabulary, tool composition and protocolerror recovery; the second epoch adds a small vocabulary step and the third nothing above the sampling floor (Figure 1a), on the evaluation pools
and on the same tasks the teacher ran (Figure 4).
Supervised fine-tuning (SFT) cuts median cumu-

Introduction

1

044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084

(a)

(b)

0.2

60
60

0.1

50

0.05
0.02

40

0.01
0.005

SWE-bench Pro pass@1 (%)

Qwen3.6-27B (dense)
Qwen3.6-35B-A3B (post-trained MoE)
Qwen3.5-35B-A3B-Base (bare MoE)
Qwen3.8-27B (native)
open marker: pass@1 (right)

0.5

SWE-bench Pro pass@1 (%)

Bash-vocabulary JS to teacher (log)

1

corpus: −53 % input,
+2.7 pp

+v12×2

50

+v12×3

+v13
+v12×3

+v12×1

0

1

2

3

Qwen3.6-27B
Qwen3.6-35B-A3B

+v12×2

40

corpus on bare base:
+8.9 pp, −28 % input
Qwen3.5-35B-A3B-Base

split-half sampling floor (≈0.004 bash-JS)

0.003

p,
6p
5. put
+
Qwen3.8-27B
:
in
ion tive
at
er na
n
ge .35×
1

30

30

v12 SFT epochs (0 = native)

1.5

2

3

4

5

Cumulative input tokens per task, median (M, log)

Figure 1: One epoch produces most of the dense model’s behavioral convergence on SWE-bench Pro (731 tasks);
SFT cuts median input by up to 53 %, while the capability response depends on the starting model. (a) Bashvocabulary Jensen–Shannon distance to the pooled teacher reference (left, log; filled markers) and pass@1 (right;
open markers) over v12 epochs for a post-trained dense model (Qwen3.6-27B), a post-trained MoE (Qwen3.635B-A3B) and a bare MoE base (Qwen3.5-35B-A3B-Base); dashed line = the natively post-trained Qwen3.8-27B.
(b) pass@1 against median cumulative input tokens per task (log): the dense model moves from 3.27 M to 1.52 M at
+2.7 pp, the bare base from 3.40 M to 2.44 M at +8.9 pp, and the generation step from 3.27 M to 4.41 M at +5.6 pp.
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112

lative input tokens by 45–53 %, from 3.27 M to
1.52–1.80 M per task, on every dense checkpoint
whatever its score. Fingerprint proximity changes
whether or not pass@1 changes: the same corpus
lifts a bare base by +8.9 pp on Pro (+3.4 pp on
Verified) and moves post-trained bases by −2.2 to
+2.8 pp, below the detectable effect of the paired
design, while the next Qwen generation gains +5.6
to +5.8 pp over the native dense model at 1.35×
its input (Figure 1b). Where paired pass@1 cannot
separate the arms, the behavioral rulers separate
them by seven to thirty times their sampling floors
(§7).
Our contributions are:

2

1. a documented curation pipeline for frontieragent trajectories with a rule-by-rule impact
analysis (§3);
2. a dose-response fingerprint analysis: a oneepoch result on the dense line, MoE-line convergence, within-language replication, and
two same-pool anchors on which the student’s
reads and edits overlap the teacher’s on tasks
it never trained on (§5);
3. the dissociation of fingerprint transfer from capability across starting points, with the inputtoken footprint as a transferred trait (§6);
4. a paired detectable-effect analysis for SWEbench Pro (Deng et al., 2025) and SWE-bench
2

113

Verified (Jimenez et al., 2024; OpenAI, 2024),
and an audit showing that a success-claim
regex tracks completion phrasing rather than
outcome (§7).

116

Related Work

117

114
115

Trajectory SFT for coding agents. Fine-tuning
on agent trajectories began with search and tooluse agents (Chen et al., 2023; Zeng et al., 2024),
where format following and reasoning were already
seen to be learned at different speeds (Chen et al.,
2024). Issue-resolution agents are now routinely
trained on trajectories collected at scale (Pan et al.,
2025; Yang et al., 2025b; Zeng et al., 2025; Wang
et al., 2025a,b), distilled from a stronger agent (Ahmad et al., 2026), curated down to a few hundred
examples (CodeArts Model Team et al., 2026), or
combined with skill priors and inference-time scaling (Yang et al., 2025c; Rastogi et al., 2025; Tao
et al., 2026); reinforcement learning on software
history is the alternative (Wei et al., 2025). These
recipes, and the study that asks which trajectories
teach well (Yang et al., 2026b), are compared by
resolve rate; we keep the recipe fixed and ask what
the student inherits, at what dose, and whether it
shows in the score at all.

118

How trajectory corpora are curated.
Trajectory- and segment-level selection with
loss masks is used as an accuracy lever (Tao

138

119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137

139
140

141
142
143
144
145
146
147
148
149

150
151
152
153
154
155
156
157
158
159
160
161
162

163
164
165
166
167
168
169
170
171
172
173
174
175
176
177

178
179
180
181
182
183
184
185
186
187
188

et al., 2026; Zheng et al., 2026a; Yang et al.,
2026b), failed trajectories can be kept under a
signal (Wang et al., 2024), the student is known to
inherit the flaws of every retained step (Ma et al.,
2026), and leakage of the upstream fix is a known
contamination path (Prathifkumar et al., 2025;
Liang et al., 2025). Our object is the rule system
itself and the behavioral profile of what each rule
removes.
Behavioral fingerprints and distillation-induced
similarity. Trajectories and pull requests identify
the agent that produced them (Oderinwale, 2026;
Gupta et al., 2026; Ghaleb, 2026), models carry
detectable idiosyncrasies (Sun et al., 2025), distillation leaves detectable traces (Rawat et al., 2026)
and moves a student’s tool-use behavior toward its
teacher (Yang et al., 2026a), sometimes through signals invisible in the data (Cloud et al., 2025; Dang
et al., 2026; König et al., 2026). Our extractor is
in this family; we add the epoch dose, capability
measured on the same arms, a same-task anchor
and a vendor next generation.
Style versus capability in supervised fine-tuning.
Imitating a proprietary model copies its style before its capability (Gudibande et al., 2024); small
instruction sets change format more than knowledge (Zhou et al., 2023; Lin et al., 2024; Raghavendra et al., 2024); whether SFT generalizes depends
on the starting model and on repetition (Chu et al.,
2025; Ren et al., 2026; Kopiczko et al., 2026); longchain-of-thought distillation transfers a reasoning
form (Yeo et al., 2025; Muennighoff et al., 2025;
Ye et al., 2025); and trajectory SFT can raise an
agent benchmark by memorizing its interface rather
than its tools (Gu et al., 2026). The dissociation
we report is the agentic, teacher-relative instance
of this pattern.

3

Corpus: generation and curation

3.1

Generation and verification

3

190

The teacher is Claude Opus 4.8 driven by Claude
Code (Anthropic, 2026b,a). A vendor captured
32,830 of its runs on 16,328 issue-resolution instances from 296 open-source repositories at fixed
commits, each with a hidden test patch. A run
passes only if, with its candidate patch applied (test
files stripped) and the gold test patch on top, every
required fail-to-pass and pass-to-pass test passes.
The captures fall into 12,257 high-precision passes,
9,843 by-product passes and 10,483 by-product
failures; 247 errored before verification.

191

3.2

202

Curation funnel and rules

192
193
194
195
196
197
198
199
200
201

203

Figure 2a draws the v12 funnel; Table A17 (Appendix C) tabulates it with the loss masks. A vendor flag for access to the upstream fix removes 221
of the 12,257 high-precision passes. Ten drop rules
(the P0 tier) then remove 3,435 of the remaining
12,036 (28.5 %): a raw-thinking coverage floor of
0.98, vendor sourcing marks, six content-leak rules,
sandbox escapes and multi-user turns (thresholds in
Table A18). A demote tier flags but keeps rows, a
same-task cap of two removes 39 more, and a tasklevel split leaves 8,137 training and 425 validation
rows, of which 8,120 and 424 fit the 196,608-token
training length. Nine message-level loss masks
touch 5,528 of the 8,137 rows and remove none, the
two largest covering harness-rejected tool calls and
calls from an ignored working directory; masked
segments stay in context (2.77 % of learnable characters; Table A17).

220

3.3

221

The v13 variant

v13 starts from all 12,257 high-precision rows (the
221 vendor-flagged rows face its leak rules rather
than up-front removal), relaxes the thinking floor
to 0.90, narrows the vendor-mark rule, adds the
by-product population (7,503 passes and 6,578 failures) (cf. Wang et al., 2024), drops the per-task cap
and trains for one epoch on the 23,146 of its 23,238
training rows that fit the training length (Table A17).
On 3,104 of the failures (47.2 %) the final message
asserts completion in the strong form and receives
no loss. The same regex fires on 46.4 % of the
teacher’s successful endings and on 44.6 % of its
failed ones, so the mask edits phrasing rather than
detecting failure (Advani, 2026). Filters, composition, cap and dose change together, so v12 versus
v13 is a composite comparison (§6).

Evaluation validity. Resolve rate conceals trajectory structure (Shu et al., 2026; Mehtiyev and
Assunção, 2026; Majgaonkar et al., 2025), passes
wrong patches through weak tests (Yu et al., 2026),
is flaky across runs (Wang et al., 2026; Yagubyan,
2026) and needs paired error bars (Miller, 2024);
confident endings mask silent failure (Advani,
2026), fewer tokens need not mean a smaller bill under prompt caching (Weinberger and Hozez, 2026),
and SWE-bench results are exposed to memorization (Prathifkumar et al., 2025; Liang et al., 2025).

189

204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219

222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237

238

3.4

239

256

Figure 2 compares what each active rule family
removes with the 8,601 rows it keeps (numbers in
Table A19). The thinking-coverage floor accounts
for 2,450 of the 3,435 drops (71 %) and shifts the
tool mix least of any family (JS 0.005 to the kept
set, above the 0.0001 size-matched random floor),
but it removes the longest and most think-heavy
trajectories (median 68 steps against 44, thinking
share 0.897 against 0.838). The sourcing rules remove 1–14 % each, and their rows are Bash-heavier
and recover from protocol errors far less often
(0.24 for the leak family against 0.60): a small, behaviorally distinct slice. Language and repository
shares barely move along the funnel. The trained
corpus therefore carries a thinking share of 0.881,
the teacher’s harness-error recoveries and truncation habits, and one habit no rule targets, editing a
file without reading it (0.110 of edits).

257

4

240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287

What the rules remove

looking up the fix over the network or in git history
(serving in Appendix D). A task counts as solved
only if its single trial passes the hidden tests; timeouts, crashes and tasks an arm did not run (0–14 per
arm and pool) count as unsolved (Appendix A). No
evaluation instance appears in the corpus and the
Verified repositories are disjoint from it; one Pro
repository, teleport, contributes 1,622 teacher trajectories and 76 Pro tasks, so Table 1 also reports
differences on the other 655. With one rollout per
task the paired design (Miller, 2024) resolves a
median effect of about 4 pp on Pro and 5 pp on Verified; smaller differences are reported as below the
detectable effect (Appendix A).

Students, evaluation and fingerprint
extractor

Students and arms. Table 1 lists the twelve arms,
named by base model and corpus dose. The dense
line starts from Qwen3.6-27B (Yang et al., 2025a;
Qwen Team, 2026b) and adds v12 for one, two
or three epochs (128, 256 and 381 updates) or
v13 for one epoch (362 updates). The MoE line
starts from a pretrained base without post-training,
Qwen3.5-35B-A3B-Base (Qwen Team, 2026a) (it
ships a chat template), trained for two epochs, and
from the post-trained Qwen3.6-35B-A3B (Qwen
Team, 2026c), the same architecture one release
later, trained for three; the two post-trained MoE
arms are also run a second time on Pro (repeat samples). The next Qwen generation, Qwen3.8-27B
(Qwen Team, 2026d), is evaluated natively. All
students are full-parameter fine-tunes with a cosine
schedule (peak 8 × 10−6 on the post-trained bases,
3 × 10−5 on the bare base), a global batch of 64
sequences of up to 196,608 tokens, and loss on assistant text, thinking and tool calls except masked
segments (Appendix D).

4

289
290
291
292
293
294
295
296
297
298
299
300
301

Fingerprint extractor. One extractor maps the
teacher’s 32,830 captures and the students’ 13,712
parsed evaluation trajectories (from 13,733 trials)
to a common step sequence and measures each
arm’s Jensen–Shannon divergence (log2 ) from the
pooled high-precision teacher reference (12,257
passes) on four rulers: tool mix over eleven buckets,
tool bigrams, Bash command-head vocabulary, and
thinking position in deciles of the trajectory. Armlevel distributions are equal-weight means over trajectories; the composite is the mean of mix and bigram. Differences are read against two floors: the
split-half floor (random halves of one arm; about
0.001 composite, 0.002–0.005 Bash) and the two
repeat samples of the same weights. Two samepool anchors put teacher and students on the same
tasks: the 345 oracle-passed validation tasks of the
v12 split (teacher trajectories exist, no task overlap with training), run once by eight arms; and
the teacher itself, same harness version, instruction
and wall-time limit at effort high, on 359 SWEbench Pro tasks drawn in stratified batches without
teleport (Appendix E).

302

5

What the student inherits

325

5.1

Dose response

On SWE-bench Pro, one v12 epoch produces
most of the dense model’s convergence toward the
teacher reference. Bash-vocabulary distance to the
teacher falls from 0.202 to 0.069 after one epoch,
then to 0.053 and 0.050 (Figure 1a); the composite and thinking-position rulers fall the same way
(Figure A2, Appendix B). Against the floors of §4,
the first epoch moves the Bash, bigram, thinkingposition and composite rulers well clear of noise
(tool mix alone does not), the second epoch moves

Evaluation. Every arm runs inside the same
Claude Code harness (Liu et al., 2026) (version
2.1.202, 262,144-token context with automatic
compaction) on SWE-bench Pro (731 tasks in
Go, Python, TypeScript and JavaScript) and SWEbench Verified (500 Python tasks): one rollout per
task, temperature 0.8, a 5,400-second wall-time
limit per task, and an added instruction that forbids

288

303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324

326
327
328
329
330
331
332
333
334
335
336

(b)

(a)
captured runs

12,257

10,483

raw_thinking_low (2,450)

12,257 (−20,573)

vendor_sourcing_mark (493)

9,843

high-precision passes

leak family (45)

12,036 (−221)

vendor removal
P0 drop rules
same-task cap ≤2
task-level split
196,608-token cap
v13 (composite)

9,880
0

8,601 (−3,435 = 28.5 %)

sandbox_escape (31)

8,562 (−39)

multi_user_turn (27)

8,137 train / 425 val

vendor removal (221)

8,120 / 424 (−17 / −1)

same-task cap (39)

40 80 0.82 0.90 0.3 0.8
10−4 10−3 10−2 10−1
thinking recovery
JS distance to kept 8,601 (log) steps
@3
(median)
share

7,503 6,578 23,961
10k

20k

30k

trajectories
v12 high-precision
by-product pass

(c)

v12 val
v13 high-precision
failed
error

tool-mix JS
Bash head-word JS
kept 8,601
size-matched random-removal floor (open, grey)

Figure 2: The v12 curation funnel and what each rule removes. (a) Rows surviving each stage, from 32,830 captured
runs to 8,120 training rows at the 196,608-token cap, with the composite v13 corpus (9,880 high-precision rows plus
7,503 by-product passes and 6,578 failures) for comparison. (b) Jensen–Shannon distance between the trajectories
a rule family removes and the 8,601 it keeps, on tool mix (circles) and Bash head-words (diamonds), against the
size-matched random-removal floor (open grey markers): the thinking-coverage floor removes most rows yet has the
smallest tool-mix distance of any family, while the sourcing and leak rules remove a small, distinct slice. (c) Median
steps, thinking share and protocol-error recovery of the removed rows against the kept set (dashed).
Arm (base model + corpus dose)

pass@1 (%) ∆ vs. native (pp) ∆Pro−tp

Input

Bash-JS

Pro

Ver.

Pro

Ver.

Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1

50.1
49.7
52.8
51.0
52.3

68.4
67.8
68.6
71.2
66.2

–
−0.41
+2.74
+0.96
+2.19

–
−0.60
+0.20
+2.80
−2.20

–
−1.22
+2.60
−0.15
+1.98

3.27
1.69
1.52
1.75
1.80

0.202
0.069
0.053
0.050
0.055

Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2

35.4
44.3

52.0
–
55.4 +8.89

–
+3.40

–
+9.62

3.40
2.44

0.278
0.057

Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

46.1
48.8

63.0
–
63.0 +2.74

–
+0.00

–
+3.05

3.27
2.05

0.195
0.061

Qwen3.6-35B-A3B (repeat)
47.1
Qwen3.6-35B-A3B+v12×3 (repeat) 49.5

–
–
– +2.46

–
–

–
+1.83

3.13
2.01

0.200
0.069

74.2 +5.61

+5.80

+5.04

4.41

0.061

Qwen3.8-27B

55.7

(pp) (M tok) to teacher

Table 1: The twelve evaluation arms, named by base model and corpus dose (+v12×2 = two epochs of v12;
+v13×1 = one epoch of v13, 362 updates). pass@1 = solved tasks over the pool (731 SWE-bench Pro, 500
SWE-bench Verified; anomalous trials count as unsolved), one rollout. ∆: percentage points against the line’s
native arm (Qwen3.8-27B: against Qwen3.6-27B, the generation jump). ∆Pro−tp: Pro without the 76 teleport tasks
(N = 655). Input: median cumulative input tokens per task on Pro, millions. Bash-JS: Jensen–Shannon distance
(log2 ) of the Bash head-word distribution to the teacher on Pro. The two T =0.6 rows are the same weights as the
rows above them, run a second time (the run-to-run reference, §7). “–”: not defined for a native arm.
337
338
339
340
341
342
343
344
345
346

only the Bash ruler, and the third moves none (Appendix B). The MoE line converges on either starting base, and the drop holds inside each language
stratum (Figure A6).

validation tasks the dense line’s composite distance
to the teacher’s own trajectories falls from 0.051
to 0.006 after one epoch and stays (Bash 0.128 to
0.026, 0.014 and 0.015; Table A29); on the 359
SWE-bench Pro tasks the teacher itself ran, every
v12 and v13 arm sits at 0.005–0.007 (tool mix) and
0.005–0.010 (Bash, at its split-half floor) from the
teacher, against 0.045–0.061 and 0.11–0.13 for the
post-trained natives of the same families (Qwen3.827B: 0.061 and 0.020; Table A26); and the drop

Off-pool, tool composition follows task structure: on SWE-bench Verified the composite distance rises from 0.046 to 0.065–0.068 while the
Bash and thinking-position rulers still fall (Figure A2, Appendix B). On the same tasks the pool
confound disappears (Figure 4): on 345 held-out
5

347
348
349
350
351
352
353
354
355
356

Qwen3.6-35B-A3B

0.2

Thinking share
of characters

0.4

(c)

2000
1000

after error
200

Edits/writes
without prior read

(e)

0.7
0.6
0.5

0.15
0.10
0.05

native +v12 +v12 +v12 +v13 native
Qwen3.6 ×1
×2
×3
Qwen3.8

0.95

other steps

500

(d)
Bash calls with
truncation pipe

(b) open: all other steps

native +v12 +v12 +v12 +v13 native
Qwen3.6 ×1
×2
×3
Qwen3.8

0.90
v12 corpus
0.85

Task-management
calls (% of calls)

0.6

0.4

teacher

Qwen3.8-27B

(b)
Thinking chars
per step (log)

Protocol-error
recovery@3 (share)

Qwen3.6-27B

(a)

(f)
9
6
3
0

native +v12 +v12 +v12 +v13 native
Qwen3.6 ×1
×2
×3
Qwen3.8

Figure 3: What the student inherits (SWE-bench Pro; dashed = pooled teacher reference) along the dense line
(native, +v12 ×1/2/3, +v13) and the post-trained MoE pair (native, +v12 ×3). Protocol-error recovery (a) and
truncation-pipe use (d) reach the teacher’s level at the first trained checkpoint; write-without-read (e) sits at the
teacher’s rate on the dense line and rises to it on the post-trained MoE line; the post-error pattern (b), less thinking
after an error (filled) than elsewhere (open), is copied while both levels rise past the teacher; thinking share (c)
overshoots corpus and teacher; task-management calls (f) collapse below the corpus rate (the teacher makes none on
the benchmark itself, Appendix E). Qwen3.8-27B matches the distilled arms on (c) and (d) only.
(a) Held-out tasks (345 v12 validation tasks, never trained on):
distance to the teacher’s own trajectories on the same tasks

(b) The benchmark itself (359 SWE-bench Pro tasks the teacher ran): distance to the
teacher’s trajectories on the same tasks (filled) versus to its corpus (open)

JS distance to Tval (log)

teacher vs its own corpus
Bash head-words
composite (tool mix + bigrams)
+v13×1 (open)
Qwen3.8-27B

0.1

Qwen3.627B

native
+v12×1
+v12×2
+v12×3
+v13×1

Qwen3.635B-A3B

native
native (repeat)
+v12×3
+v12×3 (repeat)

Qwen3.535B-A3B-Base

native
+v12×2

Qwen3.8-27B

native

0.03
0.01

split-half floor (Bash)

0.003
split-half floor (composite)
0.001

0

1

2

0.005

3

v12 SFT epochs (0 = native)

same tasks (filled)
corpus (open)

0.01

0.02

0.05

0.1

JS composite distance to the teacher (log)

Figure 4: Teacher and students on the same tasks. (a) 345 held-out validation tasks (teacher trajectories exist,
never trained on): Jensen–Shannon distance from the dense line to the teacher’s own trajectories on these tasks
against v12 epochs, composite and Bash head-words, with the split-half sampling floors (dashed); open circle =
Qwen3.6-27B+v13×1, diamond = Qwen3.8-27B. (b) 359 SWE-bench Pro tasks run by the teacher itself: each
arm’s composite distance to the teacher’s trajectories on the same tasks (filled) and to the corpus reference (open);
dotted line = the teacher’s own benchmark trajectories against its corpus. Every v12 and v13 arm is closer to the
teacher on the benchmark than the teacher’s corpus is; every native arm is farther.
357

360

holds within each language stratum. On the heldout tasks thinking-position distance is 0.003–0.005
for every dense arm (floor 0.002), so the native
model is already close there.

361

5.2

362

On tasks it never trained on, the student reads fewer
files and more of the teacher’s: read-set precision
against the teacher rises from 0.56 to 0.78 on the
345 held-out tasks and from 0.50 to 0.75 on the 359
benchmark tasks (Jaccard 0.50 to 0.64 and 0.50 to

358
359

363
364
365
366

0.60), a gain of the same order as on 88 trained
tasks replayed three times (0.50 to 0.80, 0.44 to
0.60; Figure A3), against negative controls of 0.001
and 0.05 on the held-out tasks (0.003 and 0.02 on
the benchmark) and repeat-run differences below
0.01 (Tables A27 and A30). The overlap measures
imitation of a reading style rather than recall of
trained tasks (the held-out tasks share repositories,
not tasks, with the corpus); imitation gain is uncorrelated with solve gain in every anchor (Spearman
ρ from −0.12 to 0.03). On the benchmark the

Anchors

6

367
368
369
370
371
372
373
374
375
376
377

Bash

(a)

3.2

Read
0.5

Edit

Write

task mgmt. (% above bar)

other

0.5

0.5

0.1

7.7

0.3

0.7

8.6

0.6

(b)
grep
head
echo

75

cd
tail

62.4

62.5

53.2

60.8

50.2

61.6

61.8

60.1

54.5

25

62.3

50
50.7

Share of tool calls (%)

100

5.2

ls
go
teacher (v12 source)
Qwen3.6-27B native
Qwen3.6-27B +v12×2
Qwen3.8-27B native

git
sed
cat

tiv
e
na

3

×
12

tiv
e

Qwen3.5-35BA3B-Base

+v

na

2

×
12

tiv
e

+v

na

1
13

×

3

Qwen3.6-27B

+v

×

2

12

×
+v

1

×

+v
12

12

tiv
e
na

(v12 source)

+v

te

ac

he
r

0

Qwen3.6- Qwen3.8-27B
35B-A3B

find
export

0

10
20
Share of Bash calls (%)

30

Figure 5: Tool composition and Bash vocabulary on SWE-bench Pro. (a) Share of tool calls per arm (inside the bar:
Bash share; above it: task-management share). v12 and v13 raise the Bash share from 50–55 % to 60–62 % and
collapse task management on the two post-trained natives from 5–9 % to below 1 % (teacher 50.7 and 3.2 %). (b) The
teacher’s twelve most frequent Bash command heads as a share of each group’s Bash calls: native Qwen3.6-27B
barely uses echo (1.8 against 14.2 %); two v12 epochs restore the teacher’s profile, which native Qwen3.8-27B
matches only in part.
378

382

teacher itself stays within 0.01–0.08 of its corpus
values for Bash share, echo, truncation pipes and
write-without-read, recovers from protocol errors
more often (0.74) and issues no task-management
calls (Table A28).

383

5.3

384

Protocol-error recovery, the share of harnessrejected calls after which the same tool succeeds
on the same target within three calls, rises on SWEbench Pro from 0.30 to 0.58–0.63 in the dense line
and from 0.33 to 0.59 in the post-trained MoE line,
level with the teacher’s 0.60 (Figure 3a); Qwen3.827B stays at 0.34. On SWE-bench Verified four
of the five fine-tuned arms rise to 0.57–0.71 and
the one-epoch checkpoint falls to 0.27 (Table A22).
The student copies the teacher’s habit of thinking
less after an error than on other steps, while both
levels rise past the teacher (Figure 3b; Appendix B).
Thinking share rises from 0.858 to 0.925–0.946,
above the corpus (0.881) and the teacher (0.893),
and thinking position moves toward the teacher
in both pools except for the post-trained MoE
pair on Verified (Figure 3c). Command habits
move after one epoch and stay: the echo share
of Bash heads reaches the teacher’s 14.2 % from
1.8 % (Figure 5b), and commands with a truncation
pipe go from 0.43 to 0.64–0.65 (teacher 0.67; Figure 3d). Editing a file without reading it settles at
the corpus rate of 0.11 from either side: the posttrained MoE line rises from 0.059 to 0.092, the
bare base falls from 0.213 to 0.065, and the dense

379
380
381

385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408

line stays at 0.09–0.11 (Figure 3e; Table A22).
Task-management calls collapse from 5.2 % of calls
to 0.3–0.5 %, below the corpus rate of 3.2 % and
toward the teacher’s own rate on the benchmark,
which is zero (Figure 3f; Table A28).
Qwen3.8-27B, a single model, matches the distilled arms on Bash vocabulary (distance 0.061
against 0.050–0.069) and on the echo profile of
Figure 5b but not on tool composition, reading
habits or error recovery, which is consistent with
its developer having trained on similar traces; it
therefore bounds rather than controls the generation comparison of §6.

The inherited bundle

6

What it costs and what it buys

6.1

Token footprint

The input-token footprint is part of the fingerprint.
Median cumulative input per SWE-bench Pro task
falls from 3.27 M tokens (Qwen3.6-27B) to 1.52 M
(Qwen3.6-27B+v12×2), −53 %: 32 % fewer steps
times 29 % less context per step, with whole-file
reads carrying 74 % of the drop in tool output
(Figure A8, Appendix C); rewriting file reading
in the harness reaches 9–50 % (Zheng et al., 2026b;
Zhang et al., 2026). The post-trained MoE line
moves the same way (3.27 M to 2.05 M) and so
does the bare base (3.40 M to 2.44 M); every v12
and v13 checkpoint of the dense line lands at 1.52–
1.80 M regardless of its score. Output tokens rise
by 16–49 %, reflecting the thinking overshoot of
§5 (Table A25). These are input-token counts, not
7

409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438

Three properties of the evaluation bound the score
tables. First, single-rollout outcomes are noisy: two
runs of the same weights flip 13 % of SWE-bench
Pro tasks for Qwen3.6-35B-A3B and 11 % for
Qwen3.6-35B-A3B+v12×3, for net differences below 1 pp, the run-to-run reference for every paired
comparison (Wang et al., 2026; Yagubyan, 2026).
Second, the paired design resolves differences of
about 4 pp on Pro and 5 pp on Verified (§4), so the
0–3 pp differences between post-trained bases and
their students are read as unresolved, whereas the
behavioral rulers separate the same arms by seven
to thirty times their sampling floors (Appendix B):
at this scale the fingerprint is the sensitive readout,
as interface perturbation is for agent benchmarks
(Gu et al., 2026). Third, the success-claim regex

446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469

473
474
475
476
477
478
479
480
481
482
483
484
485
486
487

184 181

124

claim
rationalization

0
teacher 44.6 %
teacher 7.0 %

40
20
0

Qwen3.627B

tiv
e

472

445

154 154 151 130 165 236 215

20

na

7

444

n

60

40

ive
12
×3

471

443

323

na
tiv
+v e
12
×2

470

The corpus on a bare base improves SWE-bench
Pro by +8.9 pp (Qwen3.5-35B-A3B-Base+v12×2
against Qwen3.5-35B-A3B-Base; Table 1); its
+3.4 pp on SWE-bench Verified is below the detectable effect. The bare-base gain exceeds the posttrained MoE gain by 6.2 pp (standard error 2.3 pp),
a post-hoc contrast that also crosses generation,
dose and learning rate (§4), so it resolves that the
gains differ, not why. Against post-trained bases
the differences span −2.2 to +2.8 pp in both pools
and both families, all below the detectable effect;
excluding the 76 teleport tasks changes no decision (Appendix A). The generation jump (Qwen3.827B against Qwen3.6-27B) gives +5.6 pp on Pro
and +5.8 pp on Verified, more than any checkpoint
on the post-trained dense line, at 4.41 M input tokens per task (1.35× the native model); against
the two-epoch student the Pro margin is +2.9 pp
at 2.9× the input. The bare-base gain is consistent with the corpus supplying part of the agentic
post-training transition on this base, the diminishing return on stronger starting models that curatedtrajectory SFT also shows (CodeArts Model Team
et al., 2026). The composite v13 arm gives +1.3 pp
on Pro and −5.0 pp on Verified against Qwen3.627B+v12×3, the one composition signal at the design’s detectable effect (Appendix A); as a composite change it is not attributable, and the arm’s
fingerprint and footprint stay within the v12 range.

(b)

394 374

na
tiv
+v e
12
×
+v 1
12
×
+v 2
12
×
+v 3
13
×1

442

pass@1

359 367 336 354 349 465 398

na
t

6.2

n

60

+v

441

(a)
SWE-bench Pro
% of unsolved traj.

440

bills: under prompt caching the two diverge (Weinberger and Hozez, 2026).

SWE-bench Verified
% of unsolved traj.

439

Qwen3.5Qwen3.6- Qwen3.835B-A3B-Base 35B-A3B
27B

Figure 6: Endings of unsolved trajectories: share whose
final message matches the strong-form completion regex
(solid) and the rationalization regex (light) per arm on
SWE-bench Pro (top) and SWE-bench Verified (bottom); dashed and dotted lines = the teacher’s failed
by-product trajectories (44.6 and 7.0 %, measured on
the teacher’s own task pool). v12 moves the dense line’s
strong-form share toward the teacher on Pro; Verified
is lower and not monotone; audited endings that escape
the regex assert completion in variant wording in every
arm.

What the score tables can resolve

498

8

499

Conclusion

In this single teacher–corpus study, v12 SFT on
8,137 trajectories moved command vocabulary,
tool composition and protocol-error recovery toward the teacher in two Qwen families, on the evaluation pools and on the same tasks the teacher ran,
with most dense-model change after one epoch, and
cut median cumulative input tokens by 45–53 %.
pass@1 depended on base and pool: +8.9 pp on
Pro and +3.4 pp on Verified for a bare base, and
−2.2 to +2.8 pp against post-trained bases, the latter two below what 731 and 500 paired tasks can
resolve. The composite v13 variant stayed inside
the v12 fingerprint and footprint range. One epoch
buys the habits and half the input tokens; transfer
is verified on the fingerprint, not on pass@1.
8

488

tracks completion phrasing rather than outcome
(§3; Advani, 2026). On SWE-bench Pro the share
of unsolved trajectories whose final message asserts completion in the strong form falls from 66 %
(Qwen3.6-27B) to 49–53 % after v12 and 44 % after v13, level with the teacher’s 45 %, so distillation
moves this phrasing toward the teacher; on Verified
the shares are lower and not monotone (Figure 6;
Table A7). The 110 audited endings that escape the
regex assert completion in variant wording in every
arm, teacher included (Appendix A).

489
490
491
492
493
494
495
496
497

500
501
502
503
504
505
506
507
508
509
510
511
512
513
514

515

Limitations

516

One teacher, one corpus, one harness. Every
student learns from trajectories of a single frontier agent captured in a single harness, and every
arm is evaluated in that same harness. Two student
families and three starting points (bare MoE, posttrained MoE, post-trained dense) vary the receiver,
and the native dense arm stays far from the teacher
inside the same harness, so the harness alone does
not create the fingerprint; but the transfer of a different teacher’s habits, or of these habits into a
different scaffold, is not measured.

517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563

Anchors cover Pro, not Verified. The teacher’s
benchmark trajectories cover 359 of the 731 SWEbench Pro tasks and none of SWE-bench Verified,
and its thinking is returned encrypted there, so
same-task comparisons on the benchmark use tool
rulers only; the held-out anchor shares repositories,
not tasks, with the corpus, and its two MoE arms
start from different bases.
Model-annotated endings. The 180 endings
(110 regex-negative, 70 regex-positive) and 68 rationalization windows were labeled by two model
annotators, which agree on the two quantities the
body uses (0 of 110 admissions of failure; regex
precision 69 of 70) and differ on the rationalization
split (48 versus 49 verified attributions, 12 versus
6 bare dismissals); no human pass was run, and the
body states only the agreed quantities.
Repository-level exposure. No SWE-bench Pro
or SWE-bench Verified instance appears in the
corpus (zero title matches, description Jaccard at
most 0.21, zero commit matches), and the Verified
repositories are disjoint from it; but the corpus contains 1,622 teacher trajectories from the teleport
repository, which supplies 76 of the 731 Pro tasks.
Teleport-excluded differences are reported next to
the full-pool ones (Table 1); every v12 and v13
checkpoint gains more on those 76 tasks than on
the other 655.
No single-rule ablation. The rule-impact analysis is offline: it measures what each rule removed,
not what training without it would have changed.
The one trained variation, v13, changes the thinking floor, the by-product inclusion, the task cap
and the epoch count together, and is reported as a
composite. The bare-base result likewise comes
from one base and one corpus; the design does not
isolate a general base-to-instruct mechanism.
9

564

Sparse dose curve and one rollout. The MoE
dose curve has two points per base and every arm
has one rollout per task, so the behavioral rulers
are read against split-half floors and the two repeatsample arms.

568

Ethics statement

569

The corpus consists of trajectories of a commercial
frontier agent working on 296 public open-source
repositories at fixed commits, each used under its
own license; the runs were produced and verified
by a data vendor, every trajectory was audited for
answer-source access, and trajectories flagged for
fetching the upstream fix were removed from v12
and subjected to the content-leak rules in v13. The
trajectories are outputs of a commercial model used
here for research on open models; they are not redistributed, and Appendix D states what this submission releases. The evaluation benchmarks are the
public SWE-bench Pro and SWE-bench Verified
task sets; §4 and the Limitations section declare the
one repository-level overlap between corpus and
benchmark. No human subjects were involved; the
failure-ending annotators are models.

570

References

587

Laksh Advani. 2026. From confident closing to silent
failure: Characterizing false success in LLM agents.
Preprint, arXiv:2606.09863.

588
589
590

Wasi Uddin Ahmad, Nikolai Ludwig, Somshubra Majumdar, and Boris Ginsburg. 2026. Open-SWETraces: Advancing Dual-Mode multilingual distillation for software engineering agents. Preprint,
arXiv:2606.16038.

591
592
593
594
595

Anthropic. 2026a. Claude Code overview. https:
//docs.claude.com/en/docs/claude-code/
overview. Documentation of the harness used for
the teacher and every student arm (version 2.1.202);
accessed 6 September 2026.

596
597
598
599
600

Anthropic. 2026b.
Introducing Claude Opus
4.8.
https://www.anthropic.com/news/
Announcement of
claude-opus-4-8.
the teacher model (28 May 2026); system card at https://www.anthropic.com/
claude-opus-4-8-system-card.

601
602
603
604
605
606

Baian Chen, Chang Shu, Ehsan Shareghi, Nigel Collier,
Karthik Narasimhan, and Shunyu Yao. 2023. FireAct: Toward language agent fine-tuning. Preprint,
arXiv:2310.05915.

607
608
609
610

Zehui Chen, Kuikun Liu, Qiuchen Wang, Wenwei
Zhang, Jiangning Liu, Dahua Lin, Kai Chen, and
Feng Zhao. 2024. Agent-FLAN: Designing data and

611
612
613

565
566
567

571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586

614
615
616
617

methods of effective agent tuning for large language
models. In Findings of the Association for Computational Linguistics: ACL 2024. Findings of ACL
2024; arXiv:2403.12881.

Narasimhan. 2024. SWE-bench: Can language models resolve Real-World GitHub issues? In International Conference on Learning Representations.
ICLR 2024; arXiv:2310.06770.

669
670
671
672

618
619
620
621
622
623
624

Tianzhe Chu, Yuexiang Zhai, Jihan Yang, Shengbang
Tong, Saining Xie, Dale Schuurmans, Quoc V. Le,
Sergey Levine, and Yi Ma. 2025. SFT memorizes,
RL generalizes: A comparative study of foundation
model post-training. In Proceedings of the 42nd International Conference on Machine Learning. ICML
2025; arXiv:2501.17161.

Dawid J. Kopiczko, Sagar Vaze, Tijmen Blankevoort,
and Yuki M. Asano. 2026. Data repetition beats
data scaling in Long-CoT supervised Fine-Tuning.
Preprint, arXiv:2602.11149.

673
674
675
676

625
626
627
628
629

Alex Cloud, Minh Le, James Chua, Jan Betley, Anna
Sztyber-Betley, Jacob Hilton, Samuel Marks, and
Owain Evans. 2025. Subliminal learning: Language
models transmit behavioral traits via hidden signals
in data. Preprint, arXiv:2507.14805.

Uwe König, Hamza Kazmi, Ruizhe Li, and Maheep
Chaudhary. 2026. Quantifying subliminal behavioral transfer ratios in language model distillation.
Preprint, arXiv:2606.11270.

677
678
679
680

Shanchao Liang, Spandan Garg, and Roshanak Zilouchian Moghaddam. 2025. The SWE-Bench illusion:
When State-of-the-Art LLMs remember instead of
reason. Preprint, arXiv:2506.12286.

681
682
683
684

630
631
632
633
634
635
636
637

CodeArts Model Team, Yang Ye, Jingyuan Tan, Tianyue
Jiang, Ruizhe Ye, Qiankun He, Jiarui Yang, Jian
Dong, Sicong Liang, Chongjian Yue, Peibai Xu,
Lufan Lu, Shiguan Pang, Taotao Qian, Junbao Hu,
Yuechan Hao, Ensheng Shi, Qi Zhang, Yi Hao, and
8 others. 2026. Yet even less is even better for
agentic, reasoning, and coding LLMs. Preprint,
arXiv:2604.00824.

Bill Yuchen Lin, Abhilasha Ravichander, Ximing Lu,
Nouha Dziri, Melanie Sclar, Khyathi Chandu, Chandra Bhagavatula, and Yejin Choi. 2024. The unlocking spell on base LLMs: Rethinking alignment
via In-Context learning. In International Conference on Learning Representations. ICLR 2024;
arXiv:2312.01552.

685
686
687
688
689
690
691

638
639
640

Jacob Dang, Brian Y. Xie, and Omar G. Younis. 2026.
Subliminal transfer of unsafe behaviors in AI agent
distillation. Preprint, arXiv:2604.15559.

Jiacheng Liu, Xiaohan Zhao, Xinyi Shang, and Zhiqiang
Shen. 2026. Dive into claude code: The design space
of today’s and future AI agent systems. Preprint,
arXiv:2604.14228.

692
693
694
695

641
642
643
644
645
646
647
648
649

Xiang Deng, Jeff Da, Edwin Pan, Yannis Yiming He,
Charles Ide, Kanak Garg, Niklas Lauffer, Andrew
Park, Nitin Pasari, Chetan Rane, Karmini Sampath, Maya Krishnan, Srivatsa Kundurthy, Sean
Hendryx, Zifan Wang, Vijay Bharadwaj, Jeff Holm,
Raja Aluri, Chen Bo Calvin Zhang, and 3 others.
2025. SWE-Bench pro: Can AI agents solve LongHorizon software engineering tasks?
Preprint,
arXiv:2509.16941.

Murong Ma, Tianyu Chen, Yun Lin, Shuai Lu, Qinglin
Zhu, Yeyun Gong, Zhiyong Huang, Peng Cheng, Yan
Lu, and Jin Song Dong. 2026. From patches to trajectories: Privileged process supervision for SoftwareEngineering agents. Preprint, arXiv:2605.21996.

696
697
698
699
700

Oorja Majgaonkar, Zhiwei Fei, Xiang Li, Federica
Sarro, and He Ye. 2025. Understanding code agent
behaviour: An empirical study of success and failure
trajectories. Preprint, arXiv:2511.00197.

701
702
703
704

650
651

Taher A. Ghaleb. 2026. Fingerprinting AI coding agents
on GitHub. Preprint, arXiv:2601.17406.

652
653
654
655
656

Weizheng Gu, Chengze Li, Zhuohao Yu, Mengyuan
Sun, Zhibang Yang, Wei Wang, Hongrui Jia, Shikun
Zhang, and Wei Ye. 2026. What do agents learn from
Trajectory-SFT: Semantics or interfaces? Preprint,
arXiv:2602.01611.

Tural Mehtiyev and Wesley Assunção. 2026. Beyond
resolution rates: Behavioral drivers of coding agent
success and failure. Preprint, arXiv:2604.02547.

705
706
707

Evan Miller. 2024. Adding error bars to evals: A
statistical approach to language model evaluations.
Preprint, arXiv:2411.00640.

708
709
710

657
658
659
660
661
662

Arnav Gudibande, Eric Wallace, Charlie Snell, Xinyang
Geng, Hao Liu, Pieter Abbeel, Sergey Levine, and
Dawn Song. 2024. The false promise of imitating proprietary LLMs. In International Conference on Learning Representations. ICLR 2024;
arXiv:2305.15717.

Niklas Muennighoff, Zitong Yang, Weijia Shi, Xiang Lisa Li, Li Fei-Fei, Hannaneh Hajishirzi, Luke
Zettlemoyer, Percy Liang, Emmanuel Candès, and
Tatsunori Hashimoto. 2025. s1: Simple test-time
scaling. In Proceedings of EMNLP 2025. EMNLP
2025 (main); arXiv:2501.19393.

711
712
713
714
715
716

663
664
665
666

Gaurav Gupta, Vatshank Chaturvedi, Jun Huan,
and Anoop Deoras. 2026.
Dissecting model
behavior through agent trajectories.
Preprint,
arXiv:2606.17454.

Hamidah Oderinwale. 2026. Agent trajectories as programs: fingerprinting and programming coding-agent
behavior. Preprint, arXiv:2606.16988.

717
718
719

667
668

Carlos E. Jimenez, John Yang, Alexander Wettig,
Shunyu Yao, Kexin Pei, Ofir Press, and Karthik

OpenAI. 2024.
Introducing SWE-bench
Verified.
https://openai.com/index/
introducing-swe-bench-verified/.
Humanvalidated 500-task subset of SWE-bench.

720
721
722
723

10

724
725
726
727
728
729

Jiayi Pan, Xingyao Wang, Graham Neubig, Navdeep
Jaitly, Heng Ji, Alane Suhr, and Yizhe Zhang. 2025.
Training software engineering agents and verifiers
with SWE-Gym. In Proceedings of the 42nd International Conference on Machine Learning. ICML
2025; arXiv:2412.21139.

730
731
732
733

Thanosan Prathifkumar, Noble Saji Mathews, and
Meiyappan Nagappan. 2025. Does SWE-BenchVerified test agent ability or model memory?
Preprint, arXiv:2512.10218.

734
735
736
737

Qwen Team. 2026a. Qwen3.5-35B-A3B-Base (model
card).
https://huggingface.co/Qwen/Qwen3.
5-35B-A3B-Base. Bare MoE base of the bare-MoE
arms; repository created 24 February 2026.

738
739
740
741

Qwen Team. 2026b. Qwen3.6-27B (model card).
https://huggingface.co/Qwen/Qwen3.6-27B.
Post-trained dense base of the dense line; repository
created 21 April 2026.

742
743
744
745

Qwen Team. 2026c. Qwen3.6-35B-A3B (model
card).
https://huggingface.co/Qwen/Qwen3.
6-35B-A3B. Post-trained MoE base of the posttrained MoE arms; repository created 15 April 2026.

746
747
748
749

Qwen Team. 2026d. Qwen3.8-27B (model card).
https://huggingface.co/Qwen/Qwen3.8-27B.
The next Qwen generation, evaluated natively;
repository created 5 August 2026.

750
751
752

Mohit Raghavendra, Vaskar Nath, and Sean Hendryx.
2024. Revisiting the superficial alignment hypothesis.
Preprint, arXiv:2410.03717.

753
754
755
756
757
758
759
760
761

Abhinav Rastogi, Adam Yang, Albert Q. Jiang, Alexander H. Liu, Alexandre Sablayrolles, Amélie Héliou,
Amélie Martin, Anmol Agarwal, Andy Ehrenberg,
Andy Lo, Antoine Roux, Arthur Darcet, Arthur Mensch, Baptiste Bout, Baptiste Rozière, Baudouin De
Monicault, Chris Bamford, Christian Wallenwein,
Christophe Renaudin, and 85 others. 2025. Devstral: Fine-tuning language models for coding agent
applications. Preprint, arXiv:2509.25193.

762
763
764
765

Rajat Rawat, Sizhe Chen, Akshay Anand, Michael
Duan, Bob Rotsted, and Sewon Min. 2026.
Reference-Based distillation detection in LLMs.
Preprint, arXiv:2607.09692.

766
767
768
769
770
771

Qihan Ren, Peng Wang, Ruikun Cai, Shuai Shao, Dadi
Guo, Yuejin Xie, Yafu Li, Quanshi Zhang, Xia Hu,
Jing Shao, and Dongrui Liu. 2026. Rethinking generalization in reasoning SFT: A conditional analysis on
optimization, data, and model capability. Preprint,
arXiv:2604.06628.

772
773
774
775
776

Rui Shu, Chun Yong Chong, Xin Zhou, Yun Peng, Zihan
Wu, Xu Han, Zeyang Zhuang, Guowen Yuan, and
Yuan Wang. 2026. What resolve rate hides: Trajectory structure diagnostics for coding agents. Preprint,
arXiv:2607.06184.

11

Mingjie Sun, Yida Yin, Zhiqiu Xu, J. Zico Kolter, and
Zhuang Liu. 2025. Idiosyncrasies in large language
models. In Proceedings of the 42nd International
Conference on Machine Learning. ICML 2025;
arXiv:2502.12150.

777
778
779
780
781

Chaofan Tao, Jierun Chen, Yuxin Jiang, Kaiqi Kou,
Shaowei Wang, Ruoyu Wang, Xiaohui Li, Sidi Yang,
Yiming Du, Jianbo Dai, Zhiming Mao, Xinyu Wang,
Lifeng Shang, and Haoli Bai. 2026. SWE-Lego:
Pushing the limits of supervised fine-tuning for software issue resolving. Preprint, arXiv:2601.01426.

782
783
784
785
786
787

Haoran Wang, Zhenyu Hou, Yao Wei, Jie Tang, and
Yuxiao Dong. 2025a. SWE-Dev: Building software
engineering agents with training and inference scaling. Preprint, arXiv:2506.07636.

788
789
790
791

Jicheng Wang, Yifeng He, Zili Wang, Hanwen Xing,
Arkaprava De, and Hao Chen. 2026. ContractBench:
Can LLM agents preserve observation contracts?
Preprint, arXiv:2605.17281.

792
793
794
795

Junhao Wang, Daoguang Zan, Shulin Xin, Siyao Liu,
Yurong Wu, and Kai Shen. 2025b. SWE-Mirror:
Scaling Issue-Resolving datasets by mirroring issues
across repositories. Preprint, arXiv:2509.08724.

796
797
798
799

Renxi Wang, Haonan Li, Xudong Han, Yixuan Zhang,
and Timothy Baldwin. 2024. Learning from failure: Integrating negative examples when finetuning large language models as agents. Preprint,
arXiv:2402.11651.

800
801
802
803
804

Yuxiang Wei, Olivier Duchenne, Jade Copet, Quentin
Carbonneaux, Lingming Zhang, Daniel Fried,
Gabriel Synnaeve, Rishabh Singh, and Sida I. Wang.
2025. SWE-RL: Advancing LLM reasoning via
reinforcement learning on open software evolution.
Preprint, arXiv:2502.18449.

805
806
807
808
809
810

Sarel Weinberger and Amir Hozez. 2026.
Token reduction is not cost reduction. Preprint,
arXiv:2607.12161.

811
812
813

Abel Yagubyan. 2026. How consistent are LLM agents?
measuring behavioral reproducibility in Multi-Step
Tool-Calling pipelines. Preprint, arXiv:2605.28840.

814
815
816

An Yang, Anfeng Li, Baosong Yang, Beichen Zhang,
Binyuan Hui, Bo Zheng, Bowen Yu, Chang Gao,
Chengen Huang, Chenxu Lv, Chujie Zheng, Dayiheng Liu, Fan Zhou, Fei Huang, Feng Hu, Hao
Ge, Haoran Wei, Huan Lin, Jialong Tang, and 41
others. 2025a. Qwen3 technical report. Preprint,
arXiv:2505.09388.

817
818
819
820
821
822
823

Chenghao Yang, Yuning Zhang, Zhoufutu Wen, Tao
Gong, Jiaheng Liu, Qi Chu, and Nenghai Yu.
2026a. When agents look the same: Quantifying
Distillation-Induced similarity in Tool-Use behaviors.
In Proceedings of ACL 2026. ACL 2026 (main);
arXiv:2604.21255.

824
825
826
827
828
829

830
831
832
833
834
835
836

John Yang, Kilian Lieret, Carlos E. Jimenez, Alexander Wettig, Kabir Khandpur, Yanzhe Zhang, Binyuan
Hui, Ofir Press, Ludwig Schmidt, and Diyi Yang.
2025b. SWE-smith: Scaling data for software engineering agents. In Advances in Neural Information Processing Systems 38. NeurIPS 2025;
arXiv:2504.21798.

837
838
839
840
841
842

Sidi Yang, Chaofan Tao, Jierun Chen, Tiezheng Yu,
Ruoyu Wang, Yuxin Jiang, Yiming Du, Wendong
Xu, Jing Xiong, Taiqiang Wu, Lifeng Shang, Xiaohui
Li, Ngai Wong, and Haoli Bai. 2026b. What makes
interaction trajectories effective for training terminal
agents? Preprint, arXiv:2606.03461.

843
844
845
846
847
848
849

Zonghan Yang, Shengjie Wang, Kelin Fu, Wenyang
He, Weimin Xiong, Yibo Liu, Yibo Miao, Bofei
Gao, Yejie Wang, Yingwei Ma, Yanhao Li, Yue Liu,
Zhenxing Hu, Kaitai Zhang, Shuyi Wang, Huarong
Chen, Flood Sung, Yang Liu, Yang Gao, and 2 others.
2025c. Kimi-Dev: Agentless training as skill prior
for SWE-Agents. Preprint, arXiv:2509.23045.

850
851
852

Yixin Ye, Zhen Huang, Yang Xiao, Ethan Chern, Shijie
Xia, and Pengfei Liu. 2025. LIMO: Less is more for
reasoning. Preprint, arXiv:2502.03387.

853
854
855
856

Edward Yeo, Yuxuan Tong, Morry Niu, Graham Neubig, and Xiang Yue. 2025. Demystifying long
Chain-of-Thought reasoning in LLMs. Preprint,
arXiv:2502.03373.

857
858
859
860
861
862

Boxi Yu, Yang Cao, Yuzhong Zhang, Liting Lin, Junjielong Xu, Zhiqing Zhong, Qinghua Xu, Guancheng
Wang, Jialun Cao, Shing-Chi Cheung, Pinjia He, and
Lionel Briand. 2026. SWE-ABS: Adversarial benchmark strengthening exposes inflated success rates on
test-based benchmark. Preprint, arXiv:2603.00520.

863
864
865
866
867
868

Aohan Zeng, Mingdao Liu, Rui Lu, Bowen Wang, Xiao
Liu, Yuxiao Dong, and Jie Tang. 2024. AgentTuning: Enabling generalized agent abilities for LLMs.
In Findings of the Association for Computational
Linguistics: ACL 2024. Findings of ACL 2024;
arXiv:2310.12823.

869
870
871
872
873
874

Liang Zeng, Yongcong Li, Yuzhen Xiao, Changshi Li, Chris Yuhao Liu, Rui Yan, Tianwen Wei,
Jujie He, Xuchen Song, Yang Liu, and Yahui
Zhou. 2025. Skywork-SWE: Unveiling data scaling laws for software engineering in LLMs. Preprint,
arXiv:2506.19290.

875
876
877
878
879
880
881

Shaoqiu Zhang, Maoquan Wang, Yuling Shi, Yuhang
Wang, Xiaodong Gu, Yongqiang Yao, Tori Gong,
Sheng Chen, Rao Fu, Anisha Agarwal, Spandan
Grag, Gabriel Ryan, Colin Merkel, Yufan Huang,
and Shengyu Fu. 2026. FastContext: Training efficient repository explorer for coding agents. Preprint,
arXiv:2606.14066.

882
883
884
885
886

Dewu Zheng, Ruizhe Ye, Yanlin Wang, Yang Ye,
Hongyu Zhang, Ensheng Shi, Xilin Liu, Yuchi Ma,
Jianxing Yu, and Zibin Zheng. 2026a. SWE-Prime:
Fewer trajectories, better performance. Preprint,
arXiv:2608.27449.

12

Mingwei Zheng, David OBrien, Siwei Cui, Pardis
Pashakhanloo, Rajdeep Mukherjee, Myeongsoo
Kim, and Sachit Kuhar. 2026b. CORVUS: Context optimization and reduction via underlying synchronization for LLM coding agents. Preprint,
arXiv:2607.22711.

887
888
889
890
891
892

Chunting Zhou, Pengfei Liu, Puxin Xu, Srini Iyer, Jiao
Sun, Yuning Mao, Xuezhe Ma, Avia Efrat, Ping Yu,
Lili Yu, Susan Zhang, Gargi Ghosh, Mike Lewis,
Luke Zettlemoyer, and Omer Levy. 2023. LIMA:
Less is more for alignment. In Advances in Neural
Information Processing Systems 36. NeurIPS 2023;
arXiv:2305.11206.

893
894
895
896
897
898
899

Zexin Zhuang, Yanhang Li, and Zhichao Fan. 2026.
Pre-Registering the detectable effect: A Paired-MDE
budget for 4-bit quantization benchmarks, with a pilot
audit. Preprint, arXiv:2605.28873.

900
901
902
903

A

904

Evaluation noise

Conventions. Every
score-level
statistic
in this appendix is recomputed with the
standard library from data/report.json
(analysis/stats/stats_fixes.py). The pool
is the union of task ids over the arms of that pool
(731 on SWE-bench Pro, 500 on SWE-bench
Verified) and is the denominator of every rate
and difference; a task missing from an arm
counts as unsolved (0–14 missing per arm and
pool, Table A21; scoring each arm on the tasks
it ran raises pass@1 by 0.0–2.1 pp, most for
Qwen3.6-27B+v12×3 on Verified, and leaves
every comparison on the same side of its detectable
effect). For a pair A vs B, b is the number of tasks
solved by A only, c by B only, ∆ = (b − c)/N ,
and p is the two-sided exact binomial McNemar
test on the b + c discordant tasks. Of the 132 pairs
in report.json, 21 involve the repeat-sample
arms on Verified, which were never run, and are
void; the remaining 111 reproduce report.json
exactly in b, c, ∆ and p.

905

Pre-declared paired tests. Table A1 lists the
two pre-declared families with Holm correction as the primary decision rule: the 13
baseline-relative corpus tests (each fine-tuned arm
against its own starting model) and the 6 generation/architecture tests. Exactly one corpus test survives Holm, Qwen3.5-35B-A3B-Base+v12×2 −
Qwen3.5-35B-A3B-Base on Pro (+8.89 pp, Holm
p = 5.87 × 10−6 ); every post-trained-base comparison is null after correction, including Qwen3.627B+v12×2 − Qwen3.6-27B on Pro (exact p =
0.054, Holm p = 0.653), whose Wald interval
[+0.09, +5.38] excludes zero only through the

926

906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925

927
928
929
930
931
932
933
934
935
936
937
938

939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988

normal approximation. Five of the six generation/architecture tests survive Holm; Qwen3.627B+v12×3 − Qwen3.6-35B-A3B+v12×3 on Pro
(+2.19 pp, p = 0.137) does not. Over all
111 valid pairs, 74 are significant before correction, 49 after Holm and 71 after Benjamini–
Hochberg; the two nominal checkpoint-versuscheckpoint exceptions, Qwen3.6-27B+v13×1 vs
Qwen3.6-27B+v12×3 on Verified (−5.00 pp, p =
0.005) and Qwen3.6-27B+v12×2 vs Qwen3.627B+v12×1 on Pro (+3.15 pp, p = 0.014), survive Benjamini–Hochberg only (Holm-111 p =
0.250 and 0.658) and are not pre-declared endpoints.

on the 76 teleport tasks and on the other 655,
and Table A6 repeats the seven Pro baselinerelative tests on each slice. Excluding teleport
changes no decision: nothing becomes significant and nothing significant becomes null. It removes Qwen3.6-27B+v12×3’s apparent Pro gain
(+0.96 → −0.15 pp) and slightly strengthens
Qwen3.6-27B+v12×2 (+2.74 → +2.60 pp) and
Qwen3.6-35B-A3B+v12×3 (+2.74 → +3.05 pp),
so the post-trained-base corpus effect is not a teleport artefact but is below the detectable effect everywhere. On the 76 teleport tasks alone every
v12/v13 checkpoint beats Qwen3.6-27B, by +3.9
to +10.5 pp (Qwen3.6-27B+v12×3: 8 vs 0 discordant, p = 0.008, Holm-7 p = 0.055), a repositorylevel lift consistent with corpus exposure although
instance-level matches are zero (Appendix C); a 76task slice has a standard error of about 4 pp and the
repeat runs flip 9 of its tasks, so this is a one-rollout
observation rather than a measured effect.

Detectable effect. Table A2 derives the minimum detectable effect of the one-rollout paired
design (Miller, 2024; Zhuang et al., 2026) from the
observed discordance of the baseline-relative pairs:
the median is 4.03 pp on Pro (range 3.77–4.83) and
5.04 pp on Verified (4.87–5.94), and about 1,322
Pro tasks would be needed to resolve 3 pp at one
rollout. Table A3 projects the effect of more rollouts per task from a variance decomposition estimated on the 237-task stratified rollout×3 subsample: at N = 731 it gives 5.99 / 4.07 / 3.25 / 2.63 pp
for k = 1 / 3 / 8 / ∞. Because the subsample
over-states the pools’ single-rollout discordance by
about a factor of two in variance, the k = 1 projection is an upper bound and Table A2 is the figure
to quote for the actual design.

Endings audit. Figure 6 draws the regex rates per
arm and Table A7 gives the regex rates behind §7.
Two model annotators read the same 180 endings
(110 regex-negative, 70 regex-positive) and the 68
rationalization hits, the second (a different model
family) blind to the first’s labels (Table A8). They
agree on the two quantities the body uses: 0 of 110
regex-negative failure endings admit failure, and
the strong-form regex precision is 69 of 70. They
differ on one Qwen3.8-27B sample (claim versus
truncated) and on the split of the rationalization hits
(48 versus 49 verified attributions, 12 versus 6 bare
dismissals, 8 versus 11 false positives); the verifiedattribution share on which they agree (Qwen3.627B 2/8, Qwen3.6-27B+v12×2 12–13/15, teacher
10–11/15) is the only rationalization statistic the
paper reports. No human pass was run.

Run-to-run noise. Figure A1 draws the flip rates
and the teleport slice; Table A4 gives the two sameweights pairs on Pro: a second run of Qwen3.635B-A3B flips 97 of 731 task verdicts (13.3 %) for
a net +0.96 pp (p = 0.543), and Qwen3.6-35BA3B+v12×3 flips 83 (11.4 %) for +0.68 pp (p =
0.661). The flip rate ranges from Go (10.4 / 8.6 %)
to JavaScript (25.0 / 20.5 %) and, by repository,
from flipt (4.7 / 1.2 %) to NodeBB (25.0 / 20.5 %),
so the noise is not uniform across strata.
Three rollouts. On the 237-task stratified subsample replayed three times, 36–42 % of Pro tasks
receive inconsistent verdicts across the three rollouts, and the stratified re-estimate of Qwen3.627B+v12×2 − Qwen3.6-27B is +1.40 / +2.75 pp,
not distinguishable from zero.
Teleport slice. The corpus contains 1,622 teacher
trajectories from the teleport repository, which
supplies 76 of the 731 Pro tasks (Verified has
none). Table A5 gives every arm’s solved counts
13

989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025

Test (A − B)

b

Pool

c ∆ (pp)

p

pHolm

Corpus family: 13 baseline-relative tests, Holm within m = 13
Qwen3.6-27B+v12×1 − Qwen3.6-27B
Pro
47 50
Qwen3.6-27B+v12×2 − Qwen3.6-27B
Pro
59 39
Qwen3.6-27B+v12×3 − Qwen3.6-27B
Pro
59 52
Qwen3.6-27B+v13×1 − Qwen3.6-27B
Pro
61 45
Qwen3.6-27B+v12×1 − Qwen3.6-27B
Verified 38 41
Qwen3.6-27B+v12×2 − Qwen3.6-27B
Verified 42 41
Qwen3.6-27B+v12×3 − Qwen3.6-27B
Verified 45 31
Qwen3.6-27B+v13×1 − Qwen3.6-27B
Verified 34 45
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
Pro
115 50
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
Verified 65 48
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B
Pro
67 47
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B
Verified 45 45
Qwen3.6-35B-A3B+v12×3 (repeat) − Qwen3.6-35B-A3B (repeat) Pro
70 52

-0.41
0.839
1.000
+2.74
0.054
0.653
+0.96
0.569
1.000
+2.19
0.145
1.000
-0.60
0.822
1.000
+0.20
1.000
1.000
+2.80
0.135
1.000
-2.20
0.260
1.000
+8.89 4.51 × 10−7 5.87 × 10−6
+3.40
0.132
1.000
+2.74
0.075
0.822
+0.00
1.000
1.000
+2.46
0.123
1.000

Generation / architecture family: 6 tests, Holm within m = 6
Qwen3.8-27B − Qwen3.6-27B
Qwen3.8-27B − Qwen3.6-27B
Qwen3.6-27B − Qwen3.6-35B-A3B
Qwen3.6-27B − Qwen3.6-35B-A3B
Qwen3.6-27B+v12×3 − Qwen3.6-35B-A3B+v12×3
Qwen3.6-27B+v12×3 − Qwen3.6-35B-A3B+v12×3

+5.61 1.07 × 10−4 5.37 × 10−4
+5.80
0.002
0.009
+3.97
0.008
0.023
+5.40
0.009
0.023
+2.19
0.137
0.137
+8.20 1.27 × 10−5 7.59 × 10−5

Pro
Verified
Pro
Verified
Pro
Verified

75 34
57 28
70 41
64 37
59 43
64 23

Table A1: Pre-declared paired tests (analysis/stats/stats_fixes.md, §b). b = tasks solved by A only, c =
by B only, ∆ = (b − c)/N with N = 731 (Pro) or 500 (Verified) and a task missing from an arm counted as
unsolved; p = two-sided exact binomial McNemar test on the discordant pairs; pHolm = Holm-adjusted within the
family shown. Positive ∆ = the corpus (first family) or the first-named arm (second family) solved more. Over
all 111 valid same-pool pairs, 74 are significant at p < 0.05 before correction, 49 survive Holm and 71 survive
Benjamini–Hochberg at 0.05.

Test (A − B)

b+c SE (pp) MDE80 (pp) N for 3 pp

Pro (N = 731)
Qwen3.6-27B+v12×1 − Qwen3.6-27B
Qwen3.6-27B+v12×2 − Qwen3.6-27B
Qwen3.6-27B+v12×3 − Qwen3.6-27B
Qwen3.6-27B+v13×1 − Qwen3.6-27B
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3 (repeat) − Qwen3.6-35B-A3B (repeat)

97
98
111
106
165
114
122

1.35
1.35
1.44
1.41
1.73
1.46
1.51

3.77
3.78
4.03
3.94
4.83
4.08
4.22

1,156
1,162
1,322
1,259
1,898
1,352
1,449

Verified (N = 500)
Qwen3.6-27B+v12×1 − Qwen3.6-27B
Qwen3.6-27B+v12×2 − Qwen3.6-27B
Qwen3.6-27B+v12×3 − Qwen3.6-27B
Qwen3.6-27B+v13×1 − Qwen3.6-27B
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B

79
83
76
79
113
90

1.78
1.82
1.74
1.77
2.12
1.90

4.98
5.10
4.87
4.97
5.94
5.31

1,377
1,447
1,318
1,373
1,959
1,568

Table A2: Detectable
effect of the one-rollout paired design from the observed discordance (stats_fixes.md,
√︁
§c1). SE = (b + c) − (b − c)2 /N /N , MDE80 = 2.8 SE (80 % power, two-sided 0.05); the last column is the
pool size at which the same discordance would give MDE80 = 3 pp with one rollout. Median MDE80 over the
baseline-relative pairs: 4.03 pp on Pro and 5.04 pp on Verified; median N for 3 pp: 1,322 and 1,412 tasks.

14

(b)

Flip rate between two runs (% of tasks)

(a)
Go (n=280)
JavaScript (44)
Python (266)
TypeScript (141)
repository (n 20–96)
all 731 tasks

30

20

0

native
+v12×1
+v12×2
+v12×3
+v13×1
native
+v12×2

13.3
11.4

10

teleport (76 tasks)

other 655 tasks

Qwen3.6-27B

native
+v12×3
native (repeat)
+v12×3 (repeat)

−14.8
−7.0
−13.4
−4.1
−12.8
Qwen3.5-35B-A3B-Base
−7.3
−14.2
Qwen3.6-35B-A3B
−8.8
−11.9
−11.4
−5.4
Qwen3.8-27B
−9.2

native
native
+v12×3
Qwen3.6-35B-A3B

30

40

50

60

SWE-bench Pro pass@1 (%)

Figure A1: Robustness of the score tables on SWE-bench Pro. (a) Repeat samples: share of tasks solved in exactly
one of two runs of the same weights, overall (bars), per language (symbols sized by n) and per repository (grey
dots). (b) Teleport slice: pass@1 on the 76 teleport tasks (open) against the other 655 (filled) for the twelve arms,
labelled with the difference in pp. Neither a second run nor the teleport repository reorders the arms.

15

MDE80 (pp) at k rollouts per task
N

k=1

k=3

k=8

k→∞

237
500
731

10.52
7.24
5.99

7.15
4.93
4.07

5.71
3.93
3.25

4.63
3.19
2.63

N for 3 pp

2,916

1,348

858

564

Table A3: Variance-decomposition projection of the
ˆ =
detectable effect (stats_fixes.md, §c2): Var(∆)
2
2
2
[σbetween + (σwithin,A + σwithin,B )/k]/N with
2
2
2
σbetween
= 0.0647 and σwithin,A
+ σwithin,B
= 0.27,
all three estimated on the 237-task stratified rollout×3
subsample, not on the evaluation pools. The decomposition implies a single-rollout discordance of
0.335, whereas the pools show 0.13–0.23 for the
baseline-relative pairs (Table A2), so the k = 1 row is
an upper bound.

16

n flips

rate (%) run 2 only run 1 only net ∆ (pp)

p

Qwen3.6-35B-A3B (repeat) vs Qwen3.6-35B-A3B (same weights, Pro)
all tasks
731 97
13.3
52
45
+0.96
Go
280 29
10.4
17
12
+1.79
JavaScript 44 11
25.0
7
4
+6.82
Python
266 37
13.9
18
19
-0.38
TypeScript 141 20
14.2
10
10
+0.00
repo range
4.7–25.0 (flipt n = 85 to NodeBB n = 44)

0.543
–
–
–
–

Stratum

Qwen3.6-35B-A3B+v12×3 (repeat) vs Qwen3.6-35B-A3B+v12×3 (same weights, Pro)
all tasks
731 83
11.4
44
39
+0.68
0.661
Go
280 24
8.6
14
10
+1.43
–
JavaScript 44
9
20.5
4
5
-2.27
–
Python
266 33
12.4
15
18
-1.13
–
TypeScript 141 17
12.1
11
6
+3.55
–
repo range
1.2–20.5 (flipt n = 85 to NodeBB n = 44)

Table A4: Run-to-run reference on SWE-bench Pro (stats_fixes.md, §d): the same weights run twice. A flip
is a task solved in exactly one of the two runs; net ∆ = solved(run 2) − solved(run 1) over N = 731; p = exact
McNemar. Restricting to tasks present in both runs gives the same rates (97/730 and 82/722). Per-language and
per-repository rows show that the noise is not uniform across strata.

teleport (76) rest (655)
Arm
Qwen3.6-27B
native
+v12×1
+v12×2
+v12×3
+v13×1

solved

% solved

all (731)

% solved

%

28 36.8
33 43.4
31 40.8
36 47.4
31 40.8

338 51.6
330 50.4
355 54.2
337 51.5
351 53.6

366 50.1
363 49.7
386 52.8
373 51.0
382 52.3

Qwen3.5-35B-A3B-Base
native
22 28.9
+v12×2
24 31.6

237 36.2
300 45.8

259 35.4
324 44.3

Qwen3.6-35B-A3B
native
+v12×3
native (repeat)
+v12×3 (repeat)

29 38.2
29 38.2
28 36.8
34 44.7

308 47.0
328 50.1
316 48.2
328 50.1

337 46.1
357 48.8
344 47.1
362 49.5

Qwen3.8-27B
native

36 47.4

371 56.6

407 55.7

Table A5: Solved counts on the 76 SWE-bench Pro tasks
from the teleport repository (the one Pro repository
that also appears in the corpus: 1,622 teacher trajectories) and on the remaining 655 tasks (stats_fixes.md,
§e1). Column groups give the subset size N ; denominator = subset size, a missing task counts as unsolved.
SWE-bench Verified contains no teleport task.

17

Test (A − B)

b

c ∆ (pp)

Pro without teleport (N = 655), Holm within m = 7
Qwen3.6-27B+v12×1 − Qwen3.6-27B
40 48
Qwen3.6-27B+v12×2 − Qwen3.6-27B
52 35
Qwen3.6-27B+v12×3 − Qwen3.6-27B
51 52
Qwen3.6-27B+v13×1 − Qwen3.6-27B
54 41
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
104 41
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B
59 39
Qwen3.6-35B-A3B+v12×3 (repeat) − Qwen3.6-35B-A3B (repeat) 61 49
teleport only (N = 76), Holm within m = 7
Qwen3.6-27B+v12×1 − Qwen3.6-27B
Qwen3.6-27B+v12×2 − Qwen3.6-27B
Qwen3.6-27B+v12×3 − Qwen3.6-27B
Qwen3.6-27B+v13×1 − Qwen3.6-27B
Qwen3.5-35B-A3B-Base+v12×2 − Qwen3.5-35B-A3B-Base
Qwen3.6-35B-A3B+v12×3 − Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3 (repeat) − Qwen3.6-35B-A3B (repeat)

7
7
8
7
11
8
9

p

pHolm

-1.22
0.456
0.911
+2.60
0.086
0.428
-0.15
1.000
1.000
+1.98
0.218
0.872
+9.62 1.70 × 10−7 1.19 × 10−6
+3.05
0.054
0.326
+1.83
0.294
0.883

2 +6.58
4 +3.95
0 +10.53
4 +3.95
9 +2.63
8 +0.00
3 +7.89

0.180
0.549
0.008
0.549
0.824
1.000
0.146

0.898
1.000
0.055
1.000
1.000
1.000
0.876

Table A6: The seven Pro baseline-relative tests recomputed without the teleport repository and on teleport alone
(stats_fixes.md, §e2, e4). Conventions as in Table A1. Re-running the 13-test corpus family with the seven Pro
tests replaced by their teleport-excluded versions (§e3) leaves the same single Holm survivor (Qwen3.5-35B-A3BBase+v12×2 − Qwen3.5-35B-A3B-Base).

SWE-bench Pro
Arm

n claim

SWE-bench Verified

rat.

n claim

rat.

Teacher (failed)

10,483

44.6

7.0

–

–

–

Qwen3.6-27B
native
+v12×1
+v12×2
+v12×3
+v13×1

359
367
336
354
349

66.3
52.9
49.1
48.9
44.1

2.2
8.7
8.9
9.0
8.6

154
154
151
130
165

14.9
18.2
21.2
20.0
10.3

0.6
16.2
18.5
16.9
20.6

Qwen3.5-35B-A3B-Base
native
465
+v12×2
398

Regex-negative endings that admit failure
claim / truncated / admit: teacher
Qwen3.6-27B
Qwen3.6-27B+v12×2
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.6-35B-A3B+v12×3

0/110
20/0/0
20/0/0
20/0/0
13/2/0
16/4/0
15/0/0

0/110
20/0/0
20/0/0
20/0/0
13/2/0
17/3/0
15/0/0

22.6
50.5

0.4 236
9.3 215

21.2
21.9

0.4
22.8

Strong-form regex precision (true / hits)

69/70

69/70

Qwen3.6-35B-A3B
native
+v12×3
native (repeat)
+v12×3 (repeat)

394
374
386
360

58.9
55.1
63.2
58.3

2.8 184
9.6 181
1.0
–
8.6
–

15.2
21.0
–
–

0.5
16.0
–
–

Qwen3.8-27B
native

323

24.1 13.9 124

12.1

28.2

Rationalization hits (68): verified attribution
bare dismissal
false positive
grader-will-replace (Qwen3.6-35B-A3B+v12×3)
Verified-attribution share: teacher
Qwen3.6-27B
Qwen3.6-27B+v12×2
Qwen3.8-27B
Qwen3.6-35B-A3B+v12×3

48
12
8
2‡
10/15
2/8
12/15
13/15
11/15

49
6
11
2
11/15
2/8
13/15
13/15
10/15

Quantity

Table A7: Endings audit. For each arm, n = unsolved
trajectories; “claim” = share (%) whose final assistant
message matches the strong-form success-claim regex;
“rat.” = share (%) matching the rationalization regex.
The teacher row (“Teacher (failed)”) is the corpus byproduct failed population, 10,483 trajectories with no
pool. Regex precision is 69/70 on the audited positives.
Two model annotators, working blind, find 0 of 110
regex-negative failure endings that admit failure (the
remainder claim completion in variant wording or stop
mid-sentence at the context wall); of 68 rationalization
hits, 48 carry baseline-verification evidence (re-running
on a clean checkout) and 12 are bare dismissals.

Annot. 1 Annot. 2

Table A8:
Agreement between the two
model
annotators
of
the
endings
audit
(second_annotator_agreement.md);
annotator
2 worked blind on the same 180 + 68 windows. Annotator 1’s per-arm tallies sum to 110. ‡ Counted inside the
three categories for annotator 1 (48 + 12 + 8 = 68),
separately for annotator 2 (49 + 6 + 11 + 2 = 68). The
two agree on the admission and precision counts the
body uses and differ on one Qwen3.8-27B sample and
on the rationalization split.

18

1026

B

1027

Setup. Every distance in this appendix is the
trajectory-weighted divergence between an arm’s
step distribution and the teacher’s high-precision
population (12,257 trajectories) over the four rulers
of §5: tool mix (11 buckets), tool bigrams, Bash
command heads and thinking-position deciles, with
the composite the mean of mix and bigram. Uncertainty is a trajectory-level bootstrap (B = 1000,
seed 20260902; percentile 2.5/97.5, teacher fixed),
reported as a bootstrap 95 % interval; the point
estimates agree with fp_summary.json to 10−15 .

1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075

Fingerprint robustness

“teacher-internal 0.002–0.003” figure is the distance between teacher sub-populations, not sampling noise.

Consecutive-arm differences. Figure A4 draws
the intervals; Table A9 gives the change in
JS distance between arms with its bootstrap
interval. On Pro, Qwen3.6-27B →Qwen3.627B+v12×1 is above noise on Bash (−0.133), bigram (−0.010), thinking position (−0.008) and
the composite (−0.006) but not on mix; Qwen3.627B+v12×1 →Qwen3.6-27B+v12×2 moves only
Bash (−0.016, about seven times the sameweights floor); Qwen3.6-27B+v12×2 →Qwen3.627B+v12×3 moves nothing. “One epoch does
most of it” is therefore a difference statement, and
the residual second-epoch effect exists only in the
Bash vocabulary. On Verified the mix and bigram
rulers move away from the teacher for every v12
checkpoint while Bash converges.

19

1078
1079

Post-error thinking. Figure A5 draws the two
levels per arm; Table A13 reports absolute thinking
characters per step after a tool error and on all other
steps. The teacher thinks less after an error than on
ordinary steps (248 vs 726 characters, ratio 0.34);
Qwen3.6-27B does not (373 vs 359, 1.04); after
SFT the student thinks more after an error in absolute terms (Qwen3.6-27B+v12×2 580) and its ratio
falls to 0.48 because ordinary-step thinking triples
(1,199). What transfers is the teacher’s pattern, not
a reduction in post-error thinking; the paper reports
both numbers.

1085

Anchor diagnostics. Tables A15 and A16 document the 88-task anchor of Figure A3. Both jobs
ran exactly three rollouts per task (263 and 296
parsed trajectories: one void Qwen3.6-27B trial;
the Qwen3.6-27B+v12×2 job also covers the 12
tasks later removed by the oracle golden-patch filter). The student reads fewer files (median 11→7;
teacher 6) at higher precision against the teacher’s
read set (0.50→0.80, 75:8 tasks) and similar recall (0.86→0.80, 18:30, n.s.), so its read-set Jaccard rises (0.44→0.60, 66:15) while the negative
controls stay at 0.001 (another task’s teacher set)
and 0.03 (same repository, different task; 45:38,
p = 0.51); the gain survives on the 15 tasks where
Qwen3.6-27B+v12×2 reads as many or more files

Noise floors. Table A12 gives the two references
against which the body quotes “above noise”: the
same-weights repeat samples (composite 0.0008 /
0.0003, Bash 0.0021 / 0.0011 at n ≈ 730) and splithalf distances within one arm (composite ≈0.0008,
Bash 0.004–0.005; Qwen3.6-35B-A3B Bash 0.015
from its heterogeneous vocabulary). The sampling
floor at student sample size is therefore about 0.001
on the composite and 0.002–0.005 on Bash; the

1077

Pool confound. Distances are comparable only
within a pool: on the 88-task anchor Qwen3.627B+v12×2’s composite is 0.0090 against 0.0215
on Pro, and Qwen3.6-27B’s 0.0493 against 0.0285;
the pool effect is larger than the residual dose effect
and is not additive.

Language strata. Figure A6 draws the strata;
Table A14 restricts the Pro distance to one
language at a time and, for Python, adds a
Python-only teacher reference (n = 574).
Bash-vocabulary convergence holds inside every
language (Qwen3.6-27B →Qwen3.6-27B+v12×2:
Python 0.341→0.133, Go 0.217→0.066, JS/TS
0.237→0.105); with the Python reference
the composite falls on the Pro Python slice
(0.0267→0.0195→0.0178 for Qwen3.6-27B,
Qwen3.6-27B+v12×2, Qwen3.6-27B+v12×3) but
rises on Verified (0.0369→0.0476→0.0465), the
strategy-layer divergence noted in §5.

Alternative distances. Table A10 repeats the
epoch ordering under Hellinger and total-variation
distance. Hellinger preserves every JS ordering
and the habit/strategy split on Verified; total variation does not preserve the Pro tool-mix ordering, because the SFT arms overshoot the teacher’s
Bash share (Table A11: teacher 50.7 %, Qwen3.627B 54.5 %, Qwen3.6-27B+v12×1/Qwen3.627B+v12×2/Qwen3.6-27B+v12×3 62.3 / 60.1 /
61.8 %), which a linear distance registers while JS
is dominated by the collapsed small buckets. Toolmix “convergence” is thus ruler-dependent; Bash
vocabulary and thinking position are not.

1076

1080
1081
1082
1083
1084

1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124

Qwen3.6-27B

+v13 (open)

SWE-bench Verified
JS to teacher (log)

SWE-bench Pro
JS to teacher (log)

Tool mix
floor 0.0004 (off-scale)

0.05

Qwen3.6-35B-A3B

Tool bigrams

0.03

0.05

0.02

0.03
0.01

0.02

0.05

0.1

0.03

0.05

0.02

0.03
0.01

0

1

2

3

0.02

0.5

floor 0.0045 (off-scale)

1

2

3

floor 0.0006 (off-scale)

0.05

0.2

0.02

0.1

0.01

0.05

0.005

0.5

0.05

0.2

0.02

0.1

0.01

0.05
0

Qwen3.8-27B

Thinking position

Bash head-words

floor 0.0012 (off-scale)

0.1

Qwen3.5-35B-A3B-Base

0.005
0

1

2

3

0

1

2

3

v12 SFT epochs (0 = native)

Figure A2: Jensen–Shannon distance to the pooled teacher reference on four rulers (columns) and two pools (rows)
against v12 epochs: dense line (circles; open circle at epoch 1 = Qwen3.6-27B+v13×1), post-trained MoE (squares),
bare MoE (triangles), Qwen3.8-27B (diamond); the split-half sampling floors (0.0004–0.0045, noted in each Pro
panel) lie one to two decades below every plotted point. On SWE-bench Pro every ruler falls at the first epoch and
then flattens; on SWE-bench Verified the Bash and thinking-position rulers fall while tool mix and bigrams move
away from the teacher, the task-sensitive composition layer.
(a)

0.44

0.5

0

(b)

negative controls
0.001 / 0.03

∆solve (+v12×2 − native)

Fraction of tasks

1

0.60
native
+v12×2

0

0.5

1

Read-set Jaccard to teacher

Thinking-position profiles. Figure A7 draws the
decile profiles behind the thinking-position ruler:
the native models spread thinking evenly or load it
into the last decile, whereas the fine-tuned arms and
Qwen3.8-27B reproduce the teacher’s early hump
on Pro; on Verified the fine-tuned profiles flatten,
which is why the thinking-position distance moves
less there.

+1 Spearman ρ = −0.12
+2/3
+1/3
0
−1/3
−2/3
0

0.5

1

∆ read-set Jaccard

Figure A3: Same-task anchor: 88 v12 training tasks
replayed three times by Qwen3.6-27B and Qwen3.627B+v12×2, per-task medians. (a) Distribution over
tasks of read-set Jaccard to the teacher’s read set (median 0.44 to 0.60; Qwen3.6-27B+v12×2 closer on 66
of 88 tasks); dashed: negative controls, another task’s
teacher set (0.001) and a same-repository different-task
set (0.03). The student reads fewer files (median 11
to 7; teacher 6) at higher precision (0.50 to 0.80) and
similar recall (0.86 to 0.80). (b) Per-task change in
solve fraction against change in read-set Jaccard (y jittered): imitation gain does not track solve gain (Spearman ρ = −0.12; mean solve 55.3 to 61.6 %).

1125
1126
1127
1128
1129
1130
1131

(+0.054, 8:3). Table A16 shows that the two published solve-rate p-values (0.073 and 0.099) differ
only in whether a void trial counts as unsolved, a
gap of one task; the interval is a plain task bootstrap,
not a stratified estimate. Per-task solve gain does
not track imitation gain (Spearman ρ = −0.12,
Figure A3b).
20

1132
1133
1134
1135
1136
1137
1138
1139

Qwen3.6-27B

Qwen3.6-35B-A3B

SWE-bench Pro
Qwen3.6-27B: native → +v12×1
Qwen3.6-27B: +v12×1 → +v12×2
Qwen3.6-27B: +v12×2 → +v12×3
Qwen3.6-27B: native → +v12×2
Qwen3.6-35B-A3B: native → +v12×3
Qwen3.5-35B-A3B-Base: native → +v12×2
Qwen3.6-27B: +v12×3 → +v13×1
Qwen3.6-27B → Qwen3.8-27B

Qwen3.5-35B-A3B-Base

Qwen3.8-27B

Tool bigrams

Tool mix

hollow: 95 % interval contains 0

Bash head-words

Thinking position

SWE-bench Verified
Qwen3.6-27B: native → +v12×1
Qwen3.6-27B: +v12×1 → +v12×2
Qwen3.6-27B: +v12×2 → +v12×3
Qwen3.6-27B: native → +v12×2
Qwen3.6-35B-A3B: native → +v12×3
Qwen3.5-35B-A3B-Base: native → +v12×2
Qwen3.6-27B: +v12×3 → +v13×1
Qwen3.6-27B → Qwen3.8-27B

−20

0

20
−60 −30
0
30 −300
−150
0
−40
Change in JS distance to teacher, d(B) − d(A) (units of 10−3 )

−20

0

Figure A4: Change in JS distance to the teacher between arms, d(B) − d(A), in units of 10−3 , with trajectory-level
bootstrap 95 % intervals (teacher fixed; Table A9); filled markers = interval excludes zero. Every native→v12 pair
moves Bash head-words toward the teacher in both pools; the second and third dense epochs and the Qwen3.627B+v13×1 swap are indistinguishable from zero on every ruler; on SWE-bench Verified tool mix and bigrams
move away from the teacher.

(a)
step right after a tool error

Thinking characters per step

2,000

0.47

1,000

all other steps (tint)
0.48

0.55

0.49

0.34

0.49

0.48
1.76

1.04

0

0.58

number above pair: after-error / other

0.98

(b)
0.46

2,000
1,000

0.47

0.34

0.50

0.61

0.55

0.55
0.85

0.58

0.55
0.94

0
teacher
(v12 source)

native

+v12×1

+v12×2 +v12×3
Qwen3.6-27B

+v13×1

native
+v12×2
Qwen3.5-35B-A3B-Base

native
+v12×3
Qwen3.6-35B-A3B

native
Qwen3.8-27B

Figure A5: Mean thinking characters per assistant step on the step after a tool error (filled) and on all other steps
(tint), with their ratio, on SWE-bench Pro (a) and SWE-bench Verified (b). The teacher and every fine-tuned arm
think about half as much after an error (ratios 0.34 and 0.47–0.61); the native models think as much or more (1.04,
1.76 and 0.98 on Pro).

21

Composite
Bash head-words
JS to teacher (log) JS to teacher (log)

Qwen3.6-27B

Qwen3.6-35B-A3B

Qwen3.8-27B

Python (n = 262)

Go (n = 278)

JS/TS (n = 185)

Python (n = 262)

pooled teacher ref.

pooled teacher ref.

pooled teacher ref.

Python-only teacher ref.

0.4

0.4

0.4

0.4

0.2

0.2

0.2

0.2

0.1

0.1

0.1

0.1

0.05

0.05

0.05

0.05

0.05

0.05

0.05

0.05

0.03

0.03

0.03

0.03

0.02

0.02

0.02

0.02

0.015

0.015

0.015

0.015

0

1

2

3

0

1

2

3

0

1

2

3

0

1

2

3

v12 SFT epochs (0 = native)

Figure A6: Within-language replication on SWE-bench Pro: Bash head-word (top) and composite (bottom) JS
distance to the teacher inside the Python, Go and JS/TS strata against v12 epochs, and the Python stratum measured
against a Python-only teacher reference (right column). Bash vocabulary converges in every stratum; the composite
is flat in Python only against the pooled reference and falls against the Python-only one, the pool effect of §5.

teacher (high-precision)

Qwen3.8-27B native

Qwen3.6-35B-A3B native

Qwen3.6-27B native

Qwen3.6-27B +v12×1

Qwen3.6-27B +v12×2

share of thinking characters (%)

Qwen3.5-35B-A3B-Base native

Qwen3.5-35B-A3B-Base +v12×2

(a) SWE-bench Pro, dense 27B line

Qwen3.6-35B-A3B +v12×3
Qwen3.6-27B +v12×3

uniform (10 %)

(b) SWE-bench Pro, MoE lines

(c) SWE-bench Verified, dense 27B line

20
15
10
5
0

1

2

3

4

5

6

7

8

9 10
1 2 3 4 5 6 7 8 9 10
1 2
decile of the trajectory’s steps (1 = first 10 %, 10 = last 10 %)

3

4

5

6

7

8

9

10

Figure A7: Share of thinking characters per decile of the trajectory, the distribution behind the thinking-position
ruler. (a) SWE-bench Pro, dense line; (b) SWE-bench Pro, MoE lines; (c) SWE-bench Verified, dense line. Native
models think flat across the trajectory (the bare base loads 21 % into the last decile); every fine-tuned arm and
Qwen3.8-27B reproduce the teacher’s early hump at deciles 2–4; on Verified the fine-tuned curves flatten toward
uniform.

22

Pair (A → B)

mix

bigram

Bash

think-pos.

Pro
Qwen3.6-27B: native → +v12×1
−1.6 [−4.5, 1.4] −10.1 [−14.6, −5.6]∗ −133.1 [−144.7, −124.4]∗
−7.8 [−10.7, −4.3]∗
Qwen3.6-27B: +v12×1 → +v12×2
−1.0 [−4.2, 1.8]
−1.3 [−5.8, 3.1]
−15.7 [−25.2, −6.7]∗
2.5 [−1.0, 5.8]
Qwen3.6-27B: +v12×2 → +v12×3
−0.4 [−3.2, 2.8]
−0.0 [−4.5, 4.5]
−3.0 [−10.4, 7.2]
−0.8 [−4.5, 2.9]
∗
∗
Qwen3.6-27B: native → +v12×2
−2.6 [−5.4, 0.0] −11.4 [−15.5, −7.0] −148.8 [−159.4, −140.6]
−5.2 [−8.9, −1.5]∗
Qwen3.6-35B-A3B: native → +v12×3
−8.6 [−11.3, −5.7]∗ −18.5 [−23.0, −13.9]∗ −133.9 [−153.8, −119.3]∗
−2.1 [−4.4, 0.6]
Qwen3.5-35B-A3B-Base: native → +v12×2 −18.5 [−21.0, −15.9]∗ −58.8 [−63.7, −54.0]∗ −220.7 [−236.4, −202.3]∗ −38.8 [−42.2, −35.1]∗
Qwen3.6-27B: +v12×3 → +v13×1
−0.3 [−3.3, 3.1]
−1.0 [−5.3, 3.5]
4.8 [−5.1, 13.4]
−0.3 [−3.9, 3.4]
Qwen3.6-27B → Qwen3.8-27B
12.7 [10.2, 15.4]∗
17.6 [13.4, 21.7]∗ −140.5 [−150.0, −133.5]∗
−6.3 [−9.5, −3.2]∗
Verified
Qwen3.6-27B: native → +v12×1
Qwen3.6-27B: +v12×1 → +v12×2
Qwen3.6-27B: +v12×2 → +v12×3
Qwen3.6-27B: native → +v12×2
Qwen3.6-35B-A3B: native → +v12×3
Qwen3.5-35B-A3B-Base: native → +v12×2
Qwen3.6-27B: +v12×3 → +v13×1
Qwen3.6-27B → Qwen3.8-27B

19.2 [14.8, 24.2]∗
24.3 [16.8, 31.4]∗ −116.2 [−131.9, −96.3]∗
−1.3 [−6.4, 3.8]
−1.7 [−9.6, 6.1]
−10.0 [−28.0, 6.3]
−0.3 [−5.5, 4.7]
−2.6 [−10.8, 5.3]
1.4 [−15.2, 17.7]
17.9 [13.5, 22.4]∗
22.6 [15.6, 29.4]∗ −126.2 [−142.3, −108.1]∗
15.2 [10.4, 19.4]∗
21.3 [13.6, 28.0]∗ −124.2 [−139.7, −103.7]∗
15.8 [10.4, 21.0]∗ −10.0 [−18.5, −1.6]∗ −301.3 [−326.7, −275.2]∗
−0.5 [−5.6, 4.6]
−0.1 [−8.0, 7.8]
−1.5 [−17.3, 13.7]
19.0 [15.0, 23.2]∗
15.3 [8.8, 21.5]∗ −149.8 [−164.6, −135.1]∗

−2.7 [−7.5, 2.7]
−2.0 [−7.1, 3.1]
−1.8 [−6.5, 3.0]
−4.6 [−9.4, 0.1]
4.0 [−0.8, 9.0]
−7.8 [−13.5, −2.2]∗
1.1 [−3.8, 5.5]
−6.4 [−11.6, −1.3]∗

Table A9: Change in JS distance to the teacher between arms, d(B) − d(A), in units of 10−3 , with the bootstrap
95 % interval (analysis/fp/fp_ci.md, §b; B = 1000 trajectory-level replicates with independent resampling of
both arms, teacher fixed). Negative = B is closer to the teacher. ∗ = the interval excludes 0. The composite (mean of
mix and bigram) is omitted; its intervals are in the source file. On Pro the first epoch moves bigram, Bash, thinking
position and the composite, the second only Bash, the third nothing; on Verified only Bash and (for two of four
checkpoints) thinking position move toward the teacher.

Qwen3.6-27B line
Pool

Distance

Ruler

native +v12×1 +v12×2 +v12×3 monotone epoch-1 share steps ̸= 0

Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro

JS
JS
JS
JS
JS
Hellinger
Hellinger
Hellinger
Hellinger
Hellinger
total variation
total variation
total variation
total variation
total variation

mix
bigram
Bash
think-pos.
composite
mix
bigram
Bash
think-pos.
composite
mix
bigram
Bash
think-pos.
composite

0.0188
0.0382
0.2020
0.0162
0.0285
0.1154
0.1665
0.3985
0.1062
0.1410
0.1074
0.1524
0.3663
0.1214
0.1299

0.0172
0.0281
0.0688
0.0085
0.0226
0.1123
0.1444
0.2397
0.0767
0.1283
0.1159
0.1452
0.1711
0.0806
0.1305

0.0162
0.0268
0.0532
0.0110
0.0215
0.1107
0.1428
0.2090
0.0874
0.1267
0.0934
0.1265
0.1350
0.0905
0.1099

0.0158
0.0268
0.0502
0.0102
0.0213
0.1077
0.1408
0.2038
0.0841
0.1242
0.1107
0.1434
0.1284
0.0878
0.1271

yes
yes
yes
no
yes
yes
yes
yes
no
yes
no
no
yes
no
no

0.54
0.89
0.88
1.28
0.81
0.41
0.86
0.82
1.33
0.76
2.55
0.80
0.82
1.21
-0.23

nnn
Ynn
YYn
Ynn
Ynn
nnn
Ynn
YYn
Ynn
Ynn
nYY
nYY
YYn
Ynn
nYY

Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified
Verified

JS
JS
JS
JS
JS
Hellinger
Hellinger
Hellinger
Hellinger
Hellinger
total variation
total variation
total variation
total variation
total variation

mix
bigram
Bash
think-pos.
composite
mix
bigram
Bash
think-pos.
composite
mix
bigram
Bash
think-pos.
composite

0.0310
0.0612
0.3336
0.0195
0.0461
0.1480
0.2139
0.5281
0.1168
0.1810
0.1609
0.1969
0.4868
0.1222
0.1789

0.0502
0.0855
0.2174
0.0169
0.0679
0.1932
0.2553
0.4236
0.1083
0.2242
0.2130
0.2458
0.3747
0.1318
0.2294

0.0489
0.0838
0.2074
0.0149
0.0663
0.1899
0.2524
0.4147
0.1018
0.2212
0.2127
0.2439
0.3727
0.1250
0.2283

0.0486
0.0811
0.2088
0.0131
0.0649
0.1884
0.2479
0.4145
0.0953
0.2182
0.2118
0.2341
0.3847
0.1172
0.2230

no
no
no
yes
no
no
no
yes
yes
no
no
no
no
no
no

1.10
1.22
0.93
0.41
1.16
1.12
1.22
0.92
0.40
1.16
1.02
1.31
1.10
-1.94
1.15

Ynn
Ynn
Ynn
nnn
Ynn
Ynn
Ynn
Ynn
nnn
Ynn
Ynn
Ynn
Ynn
nnn
Ynn

Table A10: Epoch ordering along the Qwen3.6-27B line (native, +v12×1, +v12×2, +v12×3) under three distances
to the teacher (fp_ci.md, §c). “monotone” = non-increasing along the epochs; “epoch-1 share” = share of the
native→+v12×3 drop realised by the first epoch; “steps” = whether the bootstrap 95 % interval of each adjacent
step (1→2, 2→3, 3→4) excludes 0 (Y/n). Hellinger preserves every JS ordering; total variation does not preserve
the Pro tool-mix ordering because the SFT arms overshoot the teacher’s Bash share (Table A11).

23

Pool

Arm

Bash Read Edit Write

corpus

Teacher

50.7 21.9 21.6

2.1

Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro
Pro

Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

54.5
62.3
60.1
61.8
61.6
62.4
50.2
60.8
53.2
62.5

25.5 11.0
18.8 16.7
20.2 17.4
19.0 16.5
19.0 17.0
15.0 11.2
19.4 21.5
18.2 18.4
24.0 11.7
18.1 17.0

2.5
1.6
1.7
1.9
1.6
3.6
8.6
1.7
1.1
1.7

Verified Qwen3.6-27B
Verified Qwen3.6-27B+v12×1
Verified Qwen3.6-27B+v12×2
Verified Qwen3.6-27B+v12×3
Verified Qwen3.6-27B+v13×1
Verified Qwen3.8-27B
Verified Qwen3.5-35B-A3B-Base
Verified Qwen3.5-35B-A3B-Base+v12×2
Verified Qwen3.6-35B-A3B
Verified Qwen3.6-35B-A3B+v12×3

66.1
72.0
72.0
71.9
71.8
73.6
61.7
75.0
65.0
71.7

20.6 8.9
16.6 11.0
16.6 11.0
17.0 10.6
16.6 11.1
15.8 7.1
17.9 11.6
14.8 9.8
20.3 9.5
16.4 11.5

1.5
0.2
0.3
0.2
0.2
1.5
8.2
0.2
0.6
0.2

Table A11:
Share (%) of tool calls in the four largest tool-mix buckets, trajectory-weighted
(bench/scripts/paper/out/fp_summary.json). The SFT arms overshoot the teacher’s Bash share on Pro
(teacher 50.7 %, Qwen3.6-27B 54.5 %, its +v12×1/+v12×2/+v12×3 checkpoints 62.3/60.1/61.8 %), which a linear
distance registers and JS, dominated by the collapsed small buckets, does not.

Reference

n

mix

bigram

Same weights run twice (Pro): JS between the two runs, bootstrap 95 % interval
Qwen3.6-35B-A3B, Pro: T =0.8 vs 0.6
731 0.4 [0.2, 1.4] 1.1 [1.0, 3.0]
Qwen3.6-35B-A3B+v12×3, Pro: T =0.8 vs 0.6
731 0.1 [0.1, 0.7] 0.5 [0.4, 1.7]

Bash

think-pos.

composite

2.1 [2.3, 23.9] 0.3 [0.2, 1.3] 0.8 [0.6, 2.2]
1.1 [1.4, 6.8] 0.3 [0.3, 1.7] 0.3 [0.2, 1.2]

Split-half within one group: JS between two random halves, mean [2.5 %, 97.5 %] over 200 splits
Qwen3.6-27B (Pro)
362×2 0.4 [0.1, 1.0] 1.2 [0.6, 2.3]
4.5 [1.8, 7.6]
Qwen3.6-27B+v12×2 (Pro)
361×2 0.3 [0.0, 0.8] 1.3 [0.7, 2.1]
3.9 [1.6, 7.5]
Qwen3.8-27B (Pro)
365×2 0.2 [0.0, 0.8] 0.7 [0.3, 1.4]
1.3 [0.6, 2.8]
Qwen3.6-35B-A3B (Pro)
365×2 0.4 [0.1, 0.9] 1.4 [0.8, 2.1] 14.9 [10.7, 20.5]
Teacher, 725-trajectory subsample
362×2 0.5 [0.1, 1.1] 1.7 [0.9, 2.8]
2.4 [0.7, 6.0]
Teacher, high-precision (v12 source)
6128×2 0.0 [0.0, 0.1] 0.1 [0.1, 0.2]
0.1 [0.0, 0.2]

0.6 [0.2, 1.5]
1.2 [0.3, 2.8]
0.8 [0.2, 1.8]
0.7 [0.2, 1.4]
1.5 [0.4, 2.9]
0.1 [0.0, 0.2]

0.8 [0.4, 1.7]
0.8 [0.4, 1.4]
0.4 [0.2, 1.2]
0.9 [0.5, 1.5]
1.1 [0.5, 1.9]
0.1 [0.0, 0.1]

Table A12: Noise references for the fingerprint distances, JS in units of 10−3 (fp_ci.md, §d). The same-weights
repeat runs give the run-to-run floor at the arm sample size (n ≈ 730); the split-half rows give the sampling floor at
half the arm size, for two student arms, the vendor model, the MoE base (whose heterogeneous Bash vocabulary
raises its Bash floor) and the teacher, once subsampled to 725 trajectories and once in full. The “teacher-internal
0.002–0.003” figure quoted elsewhere is the distance between teacher sub-populations, not sampling noise.

24

trajectories
Group

steps after an error
n mean med.>0

all w/ error

Teacher, high-precision (v12 source) 12,257
Teacher by-product, passed
9,843
Teacher by-product, failed
10,483

all other steps

9,399 28,164
5,787 12,349
7,950 23,970

248
315
297

mean ratio

n mean med.>0 err/other err/ok

145 711,171
210 447,281
197 735,848

726
727
897

487
444
553

0.34
0.43
0.33

0.34
0.43
0.33

Pro
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

725
730
722
727
731
730
731
722
731
731

604
514
450
453
452
550
719
601
599
528

1,819 373
1,413 589
996 580
971 709
1,153 737
1,414 1222
7,994 567
3,303 624
2,012 393
1,554 661

86
145
133
134
139
196
107
188
96
142

38,585
32,449
28,881
31,928
33,734
48,230
43,945
42,459
40,012
38,892

359
1257
1199
1281
1498
2104
322
1308
401
1345

111
253
253
262
286
344
95
311
113
286

1.04
0.47
0.48
0.55
0.49
0.58
1.76
0.48
0.98
0.49

1.04
0.46
0.47
0.54
0.48
0.58
1.84
0.47
0.98
0.48

Verified
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

499
500
494
488
500
499
500
500
500
500

476
445
423
433
436
470
499
458
487
455

2,220
1,917
1,394
1,376
1,597
2,006
6,005
3,126
2,804
1,944

65
121
104
104
105
170
92
176
72
108

20,069 378
19,779 878
18,274 770
18,776 834
21,112 978
27,817 1906
26,419 524
31,918 1168
23,222 417
28,372 1068

95
185
200
202
212
333
100
289
96
232

0.58
0.47
0.50
0.61
0.55
0.46
0.85
0.55
0.94
0.55

0.59
0.46
0.48
0.60
0.55
0.47
0.87
0.55
0.94
0.54

221
415
381
507
540
886
448
648
390
589

Table A13: Absolute post-error thinking (fp_ci.md, §e): thinking characters per assistant step when the previous
step returned at least one tool error versus every other step. “med.>0” = median over steps that carry a thinking
block; “err/ok” divides by steps that follow a clean tool step (the react_ratio of fp_pooled.json). After SFT
the student thinks more after an error in absolute terms (Qwen3.6-27B 373 → Qwen3.6-27B+v12×2 580 on Pro)
and the ratio falls because ordinary-step thinking rises more; what transfers is the teacher’s pattern of less thinking
after errors than on ordinary steps.

Python
Arm

comp. Bash

Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3
Qwen3.8-27B

0.0286
0.0319
0.0328
0.0309
0.0358
0.0304
0.0466

0.341
0.146
0.133
0.127
0.317
0.141
0.126

Go
n comp. Bash
262
265
262
263
266
266
266

0.0283
0.0178
0.0177
0.0177
0.0335
0.0158
0.0456

0.217
0.079
0.066
0.063
0.205
0.072
0.085

JS/TS
n comp. Bash
278
280
278
279
280
280
280

0.0384
0.0232
0.0201
0.0200
0.0418
0.0220
0.0438

0.237
0.118
0.105
0.100
0.251
0.115
0.100

Python ref., Pro-Python Python ref., Verified
n comp.
185
185
182
185
185
185
184

0.0267
0.0186
0.0195
0.0178
0.0382
0.0172
0.0464

Bash comp.

Bash

0.176
0.055
0.052
0.045
0.157
0.057
0.041

0.136
0.083
0.073
0.071
0.134
0.082
0.076

0.0369
0.0488
0.0476
0.0465
0.0388
0.0460
0.0525

Table A14: Per-language strata on SWE-bench Pro (bench/scripts/paper/out/lang_robustness.json): composite and Bash-vocabulary JS to the pooled teacher within each language slice (n = trajectories in the slice). The
last four columns use a Python-only teacher reference (n = 574 teacher trajectories) for the Pro Python slice and for
SWE-bench Verified. Bash vocabulary converges inside every language (Qwen3.6-27B →Qwen3.6-27B+v12×2:
Python 0.341→0.133, Go 0.217→0.066, JS/TS 0.237→0.105); with the Python reference the composite falls on
Pro-Python (0.0267→0.0195→0.0178) but rises on Verified.

25

Qwen3.6-27B
Metric

native +v12×2 +v12×2:native

sign p

files read
11.000
read precision
0.500
read recall
0.857
read Jaccard
0.444
control: other task 0.000
control: same repo 0.029

7.000
0.800
0.800
0.604
0.000
0.032

7:73
75:8
18:30
66:15
4:9
45:38

< 0.001
< 0.001
0.111
< 0.001
0.267
0.510

files edited
edit precision
edit recall
edit Jaccard
control: other task
control: same repo

5.000
0.857
1.000
0.750
0.000
0.030

26:34
42:21
30:13
44:24
6:7
49:29

0.366
0.011
0.014
0.021
1.000
0.031

6.000
0.809
0.833
0.652
0.000
0.021

Table A15: Same-task anchor, read and edit file sets
against the teacher’s on the 88 v12 training tasks
(analysis/fp/anchor_diag.md, §b; per-rollout metric → per-task median → median over tasks; means are
in the source file; three rollouts per task). Teacher medians: 6 files read, 5 edited. “+v12×2:native” counts tasks
on which each arm is higher; sign p = two-sided sign
test. Controls: Jaccard against another task’s teacher
set and against a same-repository different-task teacher
set. The student reads fewer files and they are the
teacher’s files; the Jaccard gain survives on the 15 tasks
where Qwen3.6-27B+v12×2 reads as many or more
files (+0.054, 8:3).

26

k/n
Rule

mean solve (%)

sign test W:L:T (p)

native +v12×2 native +v12×2 ∆ (pp)

all rollouts, void dropped 145/263
first 3, void = unsolved
145/264
first 3, void dropped
145/263

161/259
161/264
161/259

55.3
54.9
55.3

61.6
61.0
61.6

95 % int.

task means

task majority

+6.2 [−0.0, +12.3] 24:13:51 (0.099) 14:5:69 (0.064)
+6.1 [−0.0, +12.1] 25:13:50 (0.073) 13:5:70 (0.096)
+6.2 [−0.0, +12.3] 24:13:51 (0.099) 14:5:69 (0.064)

Table A16: Same-task anchor (Qwen3.6-27B native versus +v12×2), solve rate under the three accounting rules that
produced the two published p-values (anchor_diag.md, §c). “void” = a trial with no session files and no verdict
(one Qwen3.6-27B trial; five Qwen3.6-27B+v12×2 trials without a verdict, four of them without session files).
The interval is a plain task bootstrap (5000 draws) of the mean per-task difference, not a stratified estimate. Sign
tests are exact and two-sided (wins:losses:ties). Per-task ∆solve against ∆read-Jaccard: Spearman ρ = −0.12
(task-bootstrap 95 % interval [−0.31, 0.08]).

27

1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188

C

Additional analyses

near 218k, so compaction is not a confound of the
token-footprint results.

Funnel, drop rules and rule impact. Table A17
tabulates the v12 funnel of §3 with the v13 column
and the message-level loss masks; Table A18 lists
the ten v12 P0 drop rules with their thresholds, hits
and sole hits, and Table A19 gives the numbers
behind Figure 2: for each active v12 rule family,
the rows it touches and removes alone, the median
step count and thinking share of the removed rows,
their JS distance to the kept set on tool mix and
Bash head-words next to the size-matched randomremoval floor, and their protocol-error recovery.

Protocol errors and edit rework. Figure A9a
draws the error taxonomy; Table A22 pools the error and editing rates, and Table A23 the next action
after an error. Recovery within three calls is teacher
0.603, Qwen3.6-27B 0.299, Qwen3.6-35B-A3B
0.329, the distilled arms 0.580–0.625 and Qwen3.827B 0.338; after an error the teacher retries verbatim 1 % of the time, changes parameters 62 %
and switches tool 38 % (Qwen3.6-27B+v12×2
63/37, Qwen3.6-27B 53/46), the same measurement seen from another angle. Edit rework falls
from Qwen3.6-27B 0.036 to Qwen3.6-27B+v12×2
0.025 (teacher 0.017) and from Qwen3.6-35BA3B 0.050 to Qwen3.6-35B-A3B+v12×3 0.039;
Qwen3.8-27B’s 0.012 is discounted because it
prefers whole-file Write (22 % of its writes;
teacher 8.5 %). Write-without-read rates (Table A22): the bare base falls from 21.3 to 6.5 %
after v12, the post-trained MoE rises from 5.9
to 9.2 %, and the dense line stays at 8.6–10.7 %
against the teacher’s 11.0 %, so the habit converges
on the teacher’s rate from both directions on the
MoE lines and is already there on the dense line.
Reading local git history, absent from the corpus
and forbidden by the task instruction, drops from
140 to 92 trajectories (−34 %) on the MoE line in
both runs. The 1,106 Edit parameter-name errors
of the bare base are not corpus content: the offending names occur 0 times in the corpus’ 474,417
tool calls.

Leak audit and decontamination. A goldenpatch leak audit with three negative-control channels (network, local git history, package manager)
leaves every conclusion unchanged on the clean
subsets. At the instance level the corpus shares no
task with either pool: 0 title matches, a maximum
task-description Jaccard of 0.21 and 0 commitSHA hits; the SWE-bench Verified repositories
have 0 overlap with the corpus. At the repository
level one SWE-bench Pro repository, teleport,
appears in the corpus with 1,622 teacher trajectories (1,309 pull requests) and supplies 76 of the 731
Pro tasks; the teleport-excluded tests (Tables A5,
A6) change no decision.
Cost decomposition. Figure A8 bridges the median cumulative input of §6 through its two factors
and splits tool-output characters by source. On the
MoE line, replicated in both runs, whole-file reads
fall from 7,293 to 2,578 at unchanged size per read
(8,975→8,516 characters), reads with a line limit
rise from 37 to 64 % and commands with truncation
pipes from 47 to 68 % (Table A22), observations of
≥20k characters fall by 72 %, and whole-file reads
account for 78 % of the drop (74 % on the dense
line).

Dense versus sparse. Table A24 compares the
dense and the sparse student at equal generation and after the same corpus: native, Qwen3.627B beats Qwen3.6-35B-A3B by +3.97 pp on
Pro and +5.40 pp on Verified; after the same
corpus Qwen3.6-27B+v12×3 − Qwen3.6-35BA3B+v12×3 is +2.19 pp on Pro (p = 0.137) and
+8.20 pp on Verified. The difference has the same
sign on both pools, is established on Verified and
unresolved on Pro; behaviour follows the recipe
(Appendix B), the score follows the architecture
where it is resolved.

Regression and compaction. Table A20 gives
the SWE-bench Verified regression rates: among
unsolved trials the share that breaks a previously
passing test follows capability (Qwen3.5-35BA3B-Base 37.7 % and 31.0 % after v12, Qwen3.635B-A3B 28.3 % and 27.1 % after v12, Qwen3.627B 24.0 %, Qwen3.8-27B 16.8 %); the solvedgroup rate is 0 by construction and is not a merit.
Table A21 and Figure A9b give context compaction
and peak context: it fired in 52 of 13,733 trials
(0.4 %; 57 events), half of the trials peak below
65k tokens and 99 % below 181k against a trigger

Teacher failures. The teacher’s failed trajectories differ from its successes in quantity, not habit:
about twice the rounds (median 128 vs 76–102)
with correspondingly more output and thinking tokens, while the by-product passed and failed populations sit at composite JS 0.0021 and 0.0026 from
28

1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238

(a)

(b)

Cumulative input per task
(median, M tokens)

5

+0.71
+18 %

∆ from step count
∆ from context per step

75
% 50
25
125
4.41

3.27

3.27

3

1
0

3.27
+0.43
+13 %

−0.38
−12 %

2.05
−0.84
−25 %

−1.05
1.52
−32 %
−0.70
−29 %

2

Tool output, all trials
(M chars)

4

112

whole-file Read
Read with limit/offset
test runs
other commands
search
other tools

109

100

93

75
46

50

47

53

49

⋄ cmds with truncation pipe
◦ reads with limit/offset
teacher (v12 source)

25
0

native
+v12×2 native
+v12×3 Qwen3.6
Qwen3.8
Qwen3.6-27B
Qwen3.6-35B-A3B
generation (27B)

teacher

0

1

2

Qwen3.6-27B

3 Q3.8 0

3

Q3.8 Qwen3.6-35B-A3B

v12 epochs (0 = native); Q3.8 = Qwen3.8-27B

Figure A8: Where the input tokens go (SWE-bench Pro, 731 tasks). (a) Median cumulative input per task bridged
through its two factors, step count and context per step: the corpus cuts steps by 32 % and context per step by 29 %
on the dense line (3.27 to 1.52 M) and moves the MoE line the same way (3.27 to 2.05 M); the generation step
moves the opposite way (3.27 to 4.41 M). (b) Tool-output characters by source over all trials: whole-file reads carry
74 % of the dense-line drop, while limited reads and truncation pipes (strip: diamonds = pipes, circles = limited
reads; dashed = teacher) rise to the teacher’s level after one epoch.
p90

p99

native

0.30
Qwen3.6-27B

+v12×1
+v12×2
+v12×3

10
Qwen3.5-35BA3B-Base

0.58

5 0.60

0.30 0.61

Qwen3.6- native (repeat)
35B-A3B
+v12×3

0.34

+v12×3 (repeat)

na
tiv
e

3

×

1

tiv
e

12

na

+v

Qwen3.6-27B

na
ti
+v ve
12
×
2

×

3
+v

13

2

12

×

+v

1

12
×

+v

ive

×

12

na
t

+v

te

ac
h

er

0

(v12 source)

native

+v12×2
native

0.33 0.59

0.58 0.62 0.60

+v13×1

auto-compaction ≈218k

Tool calls returning an error (%)

protocol error (rejected)
command error (ran, failed)
above bar: recovery@3

15

p50

(b)

(a)

Qwen3.8-27B

Qwen3.5-35B- Qwen3.6- Qwen3.8A3B-Base
35B-A3B
27B

native

50k

100k

200k

Peak context per trial (tokens)

Figure A9: (a) Tool calls returning an error on SWE-bench Pro, split into protocol errors the harness rejects and
commands that ran and failed, with protocol-error recovery@3 above each bar: fine-tuning leaves the error rate
roughly in place and doubles recovery (natives 0.30–0.34, fine-tuned arms 0.58–0.62, teacher 0.60). (b) Peak context
per trial (p50, p90, p99; both pools) against the ≈218k auto-compaction trigger.
1239
1240

the high-precision population (Bash 0.0070 and
0.0024), the teacher-internal floor of Table A12.

1241

D

1242

Training. Every student is trained with ms-swift
on a Megatron backend with tensor parallelism 4,
context parallelism 2 and micro-batch 1 (global
batch 64), sequence length 196,608 tokens, optimizer state offloaded to CPU, on nodes of eight
A100-80GB GPUs. Sequences are pre-paired for
the two context-parallel ranks (seed 42) and each
epoch is an independent shuffle of the pairs, so one

1243
1244
1245
1246
1247
1248
1249

epoch of v12 is 127 updates (8,120 rows at a global
batch of 64, the last batch partial); the checkpoints
were saved at updates 128 and 256, one update
past the first and second epoch boundaries, and
at 381, the end of training; Qwen3.6-27B+v13×1
runs 362 updates. Learning-rate schedules are cosine with 5 % warm-up: 8 × 10−6 → 2.4 × 10−6
for the post-trained bases, 8×10−6 → 8×10−7 for
Qwen3.6-27B+v13×1, and 3 × 10−5 → 3 × 10−6
for the bare base; weight decay is 0.01. Rows
are rendered with the Qwen3.5 chat template; the
teacher’s raw thinking is kept as the thinking block

Reproducibility

29

1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261

Funnel stage

v12 removed

High-precision passes
12,257
Vendor removal (answer fetches)
12,036
P0 drop rules
8,601
Same-task cap ≤ 2
8,562
By-product rows added
–
Train / val split (task level)
8,137 / 425
262,144-token cap
8,137 / 425
196,608-token cap
8,120 / 424

v13 removed

–
12,257
221
–
3,435
9,880
39
none
–
+14,081
– 23,238 / 723
0 / 0 23,236 / 723
17 / 1
23,146 / –

–
–
2,377
–
–
–
2/0
90 / –

Loss mask (message level)

rows

harness_error
ignored_cwd
assert_removed
harness_internal
silence
summary_think
dup_repeat
grader_config
network

4,513
2,543
582
502
479
258
155
39
7

rows with ≥ 1 mask (of 8,137) 5,528

Table A17: The v12 curation funnel with the v13 column (left; the 3,435 P0 drops are 28.5 % of the scanned rows;
v13 adds 7,503 by-product passes and 6,578 failures) and the message-level loss masks among the v12 survivors
(right). The ten P0 drop rules with thresholds and hit counts are listed in Table A18 (Appendix C). Masks remove
loss from 11,713 of 437,589 assistant text segments and 16,856 of 474,417 tool-call segments; context is kept. The
v13 validation count at the 196,608-token cap is not recorded.
Drop rule (P0)

Threshold

Hits

Sole

raw_thinking_low

raw-thinking length coverage < 0.98, or a vendor thinking
code
any of three vendor sourcing codes
a sibling trajectory of the same task leaked (186 tasks)
answer-source URL of the task’s own repository or fork
MITM CA variables, –trusted-host, –no-hashes, TLS off
policy clause ∧ (answer fetch ∨ own-repo clone)
run of golden lines ≥ max(8, ⌈0.5 · golden⌉) inside one tool
return
more than one real user turn
git clone/fetch/ls-remote of the own repository
≥ 10 gold-test lines returned by an external call
skip on a F2P test / unpaired call id / agent without result

2,681

2,173

823
169
128
99
80
55

438
18
0
27
0
11

38
29
1
0

25
0
0
0

huge_patch 478, tiny_patch 389, memorized_upstream
291, git_all_refs 219, meta_grader_shrunk_scope 214,
leak_in_think 122, unverified_success_claim 28,
tool_protocol_unclosed 1

1,050

–

vendor_sourcing_mark
content_leak_same_task
answer_source_fetch
sandbox_escape
integrity_policy_violation
content_leak_tool_return
multi_user_turn
upstream_clone
gold_test_fetch
skip_injected / broken_trace /
subagent_dangling
Demote (kept)

Table A18: The v12 P0 drop rules with thresholds, hits over the 12,036 scanned rows and sole hits. “Sole” counts
rows on which no rule of any tier fires besides this one (the build report’s definition); Table A19 reports the larger
“alone” count, which allows demote flags to co-occur. The demote tier flags 1,050 rows and keeps them.
1262
1263
1264
1265

1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276

(rows whose thinking survives only in summarized
form are removed by the thinking-coverage rule),
and loss falls on assistant text, thinking and tool
calls except masked segments (§3).

the added instruction forbids looking up the fix
over the network or in the repository’s git history,
and network access is otherwise unrestricted. Outcomes are the benchmark’s hidden tests; a trial that
times out or crashes counts as unsolved.

Serving and evaluation. Every arm runs inside
Claude Code 2.1.202 driven by a task runner that
gives each trial a fresh container, a 262,144-token
context with automatic compaction and a 5,400second wall-time limit; students are served by
SGLang behind an adapter that exposes the Anthropic Messages API and passes thinking blocks
through unchanged, and the next Qwen generation
is served the same way. Sampling is at temperature 0.8, one rollout per task, and the two repeatsample arms are second runs of the same weights;

Release. This submission releases the fingerprint
extractor, the per-arm behavioral distributions, the
curation rule definitions with their thresholds and
hit counts, the rule-impact analysis, the evaluation
ledgers with per-task outcomes for all twelve arms,
and the scripts that generate every table and figure in this paper. Release of the corpus and the
checkpoints is not part of this submission.
30

1277
1278
1279
1280
1281

1282
1283
1284
1285
1286
1287
1288
1289

Rule family

touched alone % drops steps
2,681 2,450
823
493
224
45
99
31
38
27

raw_thinking_low
vendor_sourcing_mark
leak family (6 rules)
sandbox_escape
multi_user_turn

71.3
14.4
1.3
0.9
0.8

68
79
64
84
55

think JS mix / floor JS heads / floor recovery@3
0.897
0.899
0.896
0.896
0.863

0.005 / 0.000
0.010 / 0.000
0.021 / 0.000
0.008 / 0.001
0.005 / 0.002

0.015 / 0.000
0.039 / 0.001
0.046 / 0.002
0.105 / 0.005
0.059 / 0.013

0.68
0.52
0.24
0.71
0.67

Table A19: What each v12 drop rule removes (12,036 scanned rows, 3,435 dropped). “touched”: dropped rows the
family flags; “alone”: dropped rows on which no other drop-tier rule fires (demote flags may co-occur, so it exceeds
the “sole” count of Table A18; for the leak family the six rules overlap, so its alone count exceeds the sum of the
rules’ sole counts); steps and think = median step count and thinking share of the removed rows (kept set: 44 steps,
0.838); JS = Jensen–Shannon distance (log2 ) of the removed rows’ tool mix and Bash head-word distribution to
the kept set, next to the size-matched random-removal floor; recovery@3 = protocol-error recovery within three
calls (kept 0.60). The thinking-coverage floor removes volume with the smallest tool-mix shift of any family (still
above its random-removal floor) but takes the longest, most think-heavy trajectories; the sourcing rules remove a
Bash-heavier profile with poor recovery; the demote tier removes nothing and the cap removes 39 rows.

them, against 305/133/293 in the full pool). Its
thinking is returned encrypted by the harness, so
only tool-based rulers and scalars are defined for
this reference; every trial has a verdict. Table A26
gives each arm’s distance to the teacher’s own trajectories on the same tasks next to its distance
to the corpus reference, Table A27 the read-set
and edit-set overlap on the same tasks, and Table A28 pass@1 and the bundle scalars on the
359. The teacher’s pass@1 on these public tasks
is contaminated and difficulty-stratified and is reported only to place the arms; the dense line does
not move on this subset (+3.1 pp for Qwen3.627B+v12×2 against Qwen3.6-27B, 26:15 discordant) while both MoE pairs do (+7.2 and +4.5 pp),
and per-task read-overlap gains do not track pertask solve gains (Spearman ρ = 0.03).

regressed solved unsolved
Arm

applied

Qwen3.6-27B
native
+v12×1
+v12×2
+v12×3
+v13×1

n

%

496 37
491 41
494 42
486 30
494 43

%

n

%

7.5
8.4
8.5
6.2
8.7

0.0 154 24.0
0.0 151 27.2
0.0 151 27.8
0.0 130 23.1
0.0 163 26.4

Qwen3.5-35B-A3B-Base
native
491 87 17.7
+v12×2
477 62 13.0

0.0 231 37.7
0.0 200 31.0

Qwen3.6-35B-A3B
native
488 49
+v12×3
496 49

0.0 173 28.3
0.0 181 27.1

10.0
9.9

Qwen3.8-27B
native
484 19

3.9

0.0 113 16.8

Table A20: Regression on SWE-bench Verified
(regression_summary.md): among trials whose patch
applied, the share whose verifier report lists at least
one failing PASS_TO_PASS test, overall and within the
solved and unsolved groups. Every produced patch applied (0 missing, 0 non-applying in 4,897 graded trials);
trials without a verifier report (grader failure or trial exception; 0–23 per arm) are excluded. The solved-group
rate is 0 by construction of the verdict; the unsolvedgroup rate follows capability. The harness never fills
PASS_TO_FAIL, so this is the only regression signal.

1290

E

1291

Teacher on the benchmark. Claude Opus 4.8,
driven by the same Claude Code version, effort
high, with the same added instruction and walltime limit as the students, ran once on 359 SWEbench Pro tasks (four stratified batches and a fifth
block of 92 tasks drawn the same way, teleport excluded and every arm valid; 149 easy, 64 medium
and 146 hard by the number of arms that solved

1292
1293
1294
1295
1296
1297
1298

Held-out validation tasks. The 345 tasks are
the validation split of the v12 corpus that passed
the oracle gate (Go 166, TypeScript 52, Python
32, other 95); the teacher’s trajectory on each
is a high-precision pass that no student trained
on, and the reference for the same-pool distances is the teacher’s own 345 trajectories, which
are 0.0012 (composite) from the pooled corpus. Table A29 gives the distances and floors
and Table A30 pass@1, overlap and the bundle
scalars; the composite distance falls from 0.051
to 0.006 at one epoch and moves by ±0.001 afterwards, and the drop reproduces in every language stratum at the first epoch (native to Qwen3.627B+v12×1: Go 0.049 to 0.009, TypeScript 0.088
to 0.007, Python 0.071 to 0.005, other 0.047 to
0.010). pass@1 on the 345 is 50.7 % for Qwen3.627B and 52.2–56.5 % for the v12 and Qwen3.627B+v13×1 checkpoints, not ordered by dose

Same-pool anchors

31

1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334

auto-compaction

peak context per trial (tokens)
p50

trials trials % events med. dropped

Qwen3.8-27B
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B (repeat)
Qwen3.6-35B-A3B+v12×3
Qwen3.6-35B-A3B+v12×3 (repeat)

1,231
1,224
1,230
1,216
1,215
1,231
1,231
1,231
1,231
731
1,231
731

7 0.6
1 0.1
1 0.1
0 0.0
1 0.1
1 0.1
9 0.7
13 1.1
2 0.2
3 0.4
13 1.1
1 0.1

8
1
1
0
1
1
9
15
2
3
15
1

207,101 94,990 149,116 201,890 217,745
206,815 72,090 119,223 163,372 217,464
212,475 49,319 96,347 146,883 217,375
– 49,441 90,633 129,461 160,210
215,781 51,288 93,070 136,563 217,737
215,251 52,648 104,049 159,340 217,710
209,962 76,324 120,304 207,789 217,809
210,696 62,097 139,647 215,130 217,875
206,787 74,149 120,167 166,750 217,121
207,060 85,852 129,751 185,556 217,145
213,152 56,557 115,852 212,383 217,713
211,761 62,366 121,007 170,054 217,492

13
2
2
0
1
4
14
23
4
3
16
1

All arms

13,733

52 0.4

57

210,222

–

–

p90

max ≥200k

Arm

p99

–

–

–

Table A21: Context compaction across the twelve arms and both pools (compaction_summary.md):
compact_boundary records in the Claude Code session files. All 57 events were automatic (none manual); one
event drops a median 210k tokens (preTokens median 218,365 → postTokens ≈8k). Peak context = maximum
over a trial’s requests of input + cache-creation + cache-read tokens; the observed trigger is ≈218k, so compaction
is excluded as a confound rather than compared as a performance dimension. Trials that compacted solve less often
(15.7 % vs 55.1 %), a selection effect of long-context tasks.
tool errors (% of calls)

editing (% of edits)

Group

any protocol command recovery@3 re-edit rework revert no-read Write share trunc. pipes read w/ limit

Teacher, high-precision
Teacher by-product, passed
Teacher by-product, failed

3.7
2.6
3.1

1.6
1.0
1.3

2.1
1.6
1.7

0.603
0.727
0.692

55.1
55.1
56.9

1.7
0.8
1.5

0.5
0.3
0.5

11.0
10.0
13.0

8.5
8.0
11.6

67.2
69.1
68.8

65.1
62.4
62.2

Pro
Qwen3.6-27B
4.0
Qwen3.6-27B+v12×1
4.1
Qwen3.6-27B+v12×2
3.3
Qwen3.6-27B+v12×3
2.9
Qwen3.6-27B+v13×1
3.2
Qwen3.8-27B
2.4
Qwen3.5-35B-A3B-Base
15.7
Qwen3.5-35B-A3B-Base+v12×2
7.0
Qwen3.6-35B-A3B
4.2
Qwen3.6-35B-A3B+v12×3
3.8
Qwen3.6-35B-A3B (repeat)
3.8
Qwen3.6-35B-A3B+v12×3 (repeat) 3.4

0.9
1.0
0.9
0.8
1.0
0.5
6.3
3.6
1.0
1.2
1.0
1.1

3.1
3.1
2.4
2.1
2.3
1.9
9.2
3.5
3.2
2.6
2.8
2.4

0.299
0.605
0.580
0.625
0.599
0.338
0.305
0.577
0.329
0.593
0.361
0.580

57.6
63.5
60.9
61.4
63.5
59.7
75.2
70.6
63.0
67.5
63.7
66.4

3.6
3.0
2.5
2.8
2.8
1.2
15.6
3.8
5.0
3.9
5.0
3.8

0.8
0.9
1.0
0.8
1.3
0.3
9.0
1.3
1.0
1.7
1.2
1.7

10.7
8.7
9.1
10.1
8.6
17.7
21.3
6.5
5.9
9.2
5.3
8.5

17.5
9.1
9.2
10.3
8.7
22.0
24.1
9.0
9.2
9.3
9.2
8.8

43.2
63.5
64.9
65.1
64.7
66.7
20.6
66.9
47.1
68.3
47.5
68.6

33.7
61.4
55.6
59.9
59.7
36.0
51.1
69.1
36.9
64.0
35.6
62.7

Verified
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

0.4
1.6
0.7
0.7
0.8
0.5
1.6
2.4
1.2
1.0

9.4
7.4
6.5
6.2
6.3
5.9
17.3
6.5
9.3
5.5

0.448
0.273
0.709
0.578
0.567
0.345
0.389
0.629
0.232
0.673

49.5
60.9
54.5
52.6
56.0
47.0
63.5
66.1
60.1
65.5

10.3
17.9
9.3
7.5
9.5
3.3
27.6
8.8
20.7
12.2

1.8
11.8
2.4
2.8
3.7
1.1
9.8
3.2
10.3
4.3

10.6
3.1
3.0
3.6
2.9
18.5
35.8
4.1
6.2
3.5

18.4
2.7
3.1
3.0
2.7
20.3
40.8
4.9
7.9
3.2

44.3
62.6
64.1
62.8
63.4
57.9
17.3
64.0
46.1
63.9

75.1
93.4
91.5
91.8
93.6
79.6
69.9
93.9
81.8
94.9

9.8
8.9
7.2
6.9
7.1
6.4
18.9
9.0
10.5
6.5

Table A22: Protocol-error taxonomy and edit rework, pooled over all trajectories of a group (fp_pooled.json).
“any” = tool calls returning an error; “protocol” = calls the harness rejects (malformed or missing parameters);
“command” = commands that ran and failed; recovery@3 = share of protocol errors followed within three calls by a
successful call of the same tool on the same target. “re-edit” = edits touching a file already edited in the trajectory;
“rework” = editing what one just wrote; “revert” = an edit undone by a later edit; “no-read” = edits without a prior
read of the file; “Write share” = whole-file writes among edits; “trunc. pipes” = commands with a truncation pipe
(head, tail, . . . ); “read w/ limit” = reads with a line limit.
1335
1336
1337
1338

(Qwen3.6-27B+v12×1 highest); the two MoE
arms, Qwen3.6-35B-A3B and Qwen3.5-35B-A3BBase+v12×2, start from different bases and are
reported without a pairing.

32

Group

traj. verbatim changed switch no tool end

Teacher, high-precision
Teacher by-product, passed
Teacher by-product, failed

9,399
5,787
7,950

0.5
0.2
0.3

61.6
62.5
61.6

37.7
37.1
38.0

0.1 0.0
0.2 0.0
0.2 0.0

Pro
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

604
514
450
453
452
550
719
601
599
528

0.2
0.2
0.2
0.1
0.8
0.0
1.3
1.7
0.2
0.6

53.3
69.1
62.5
65.0
67.5
59.7
31.9
69.2
57.3
63.3

46.3
30.5
37.0
34.8
31.0
40.2
66.0
29.1
42.4
35.4

0.2
0.2
0.3
0.1
0.6
0.0
0.8
0.1
0.0
0.7

0.0
0.0
0.0
0.0
0.1
0.1
0.0
0.0
0.0
0.0

Verified
Qwen3.6-27B
Qwen3.6-27B+v12×1
Qwen3.6-27B+v12×2
Qwen3.6-27B+v12×3
Qwen3.6-27B+v13×1
Qwen3.8-27B
Qwen3.5-35B-A3B-Base
Qwen3.5-35B-A3B-Base+v12×2
Qwen3.6-35B-A3B
Qwen3.6-35B-A3B+v12×3

476
445
423
433
436
470
499
458
487
455

0.6
0.8
0.4
0.2
1.2
0.1
0.8
2.2
0.3
0.8

80.4
88.7
88.4
90.0
89.3
85.3
62.2
84.4
83.1
83.0

18.9
10.2
10.7
9.6
9.4
14.4
36.6
12.7
16.6
15.5

0.0
0.3
0.5
0.3
0.1
0.1
0.3
0.6
0.0
0.6

0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

Table A23: Next action after a tool error, as a share (%) of post-error steps averaged over trajectories with at least
one error (fp_summary.json, err_next): the same call repeated verbatim, the same tool with changed parameters,
a different tool, no tool call, or the trajectory ends. This is the recovery measure of §5 seen from another angle.

Comparison (A − B)

Pool

native, same generation
Qwen3.6-27B − Qwen3.6-35B-A3B
Pro
Qwen3.6-27B − Qwen3.6-35B-A3B
Verified
after the same corpus
Qwen3.6-27B+v12×3 − Qwen3.6-35B-A3B+v12×3 Pro
Qwen3.6-27B+v12×3 − Qwen3.6-35B-A3B+v12×3 Verified
next generation vs distilled MoE
Qwen3.8-27B − Qwen3.6-35B-A3B+v12×3
Pro
Qwen3.8-27B − Qwen3.6-35B-A3B+v12×3
Verified
generation jump, dense
Qwen3.8-27B − Qwen3.6-27B
Pro
Qwen3.8-27B − Qwen3.6-27B
Verified

pass@1 A pass@1 B

b

c ∆ (pp)

p

50.1
68.4

46.1 70 41
63.0 64 37

+3.97
+5.40

0.008
0.009

51.0
71.2

48.8 59 43
63.0 64 23

+2.19
0.137
+8.20 1.27 × 10−5

55.7
74.2

48.8 80 30 +6.84 2.02 × 10−6
63.0 72 16 +11.20 1.19 × 10−9

55.7
74.2

50.1 75 34
68.4 57 28

+5.61 1.07 × 10−4
+5.80
0.002

Table A24: Dense versus sparse at equal generation and after the same corpus, and the vendor generation jump
(data/report_excerpt.json; exact McNemar, pool denominators 731 / 500, missing = unsolved). The four
generation/architecture rows of Table A1 give the Holm-adjusted values. Behaviour follows the recipe (Appendix B);
the score difference between the dense and the sparse student has the same sign on both pools, is established on
Verified and unresolved on Pro.

33

Arm
Qwen3.6-27B
native
+v12×1
+v12×2
+v12×3
+v13×1

steps ctx (k) input (M) output (k)
53
40
36
39
39

85
57
57
59
61

3.27
1.69
1.52
1.75
1.80

13.7
17.7
15.9
17.3
19.0

Qwen3.5-35B-A3B-Base
native
62
+v12×2
50

79
66

3.40
2.44

18.4
23.3

Qwen3.6-35B-A3B
native
+v12×3
native (repeat)
+v12×3 (repeat)

51
45
51
44

87
63
86
62

3.27
2.05
3.13
2.01

14.1
21.1
13.6
20.0

Qwen3.8-27B
native

60

109

4.41

46.8

Table A25: Per-task medians on SWE-bench Pro: assistant steps, context of the final request (thousand tokens),
cumulative input tokens (million; the ledger of §6) and
output tokens (thousand, including thinking). Output
rises by 16–49 % on the fine-tuned arms while input
falls by 28–53 %; Qwen3.8-27B emits 3.4× the native
dense model’s output.

34

tool mix
Arm

same

Qwen3.6-27B
native
0.0451
+v12×1
0.0069
+v12×2
0.0046
+v12×3
0.0069
+v13×1
0.0066
Qwen3.6-35B-A3B
native
0.0589
native (repeat)
0.0656
+v12×3
0.0066
+v12×3 (repeat) 0.0060
Qwen3.5-35B-A3B-Base
native
0.0222
+v12×2
0.0071
Qwen3.8-27B
native
0.0609

tool bigrams

Bash heads

composite

off

floor

same

off

floor

same

off

floor

same

off

0.0190
0.0161
0.0152
0.0160
0.0141

0.0007
0.0007
0.0006
0.0006
0.0011

0.0803
0.0134
0.0093
0.0135
0.0129

0.0406
0.0281
0.0262
0.0284
0.0249

0.0021
0.0021
0.0021
0.0021
0.0028

0.1319
0.0066
0.0050
0.0048
0.0072

0.2163
0.0722
0.0501
0.0547
0.0576

0.0098
0.0074
0.0105
0.0066
0.0117

0.0627
0.0102
0.0069
0.0102
0.0097

0.0298
0.0221
0.0207
0.0222
0.0195

0.0244
0.0277
0.0158
0.0132

0.0007
0.0008
0.0007
0.0007

0.0984
0.1068
0.0143
0.0127

0.0441
0.0492
0.0261
0.0225

0.0027
0.0031
0.0020
0.0021

0.1075
0.1129
0.0074
0.0113

0.2050
0.2076
0.0575
0.0663

0.0116
0.0132
0.0085
0.0138

0.0787
0.0862
0.0105
0.0094

0.0342
0.0385
0.0209
0.0178

0.0323 0.0005 0.0698 0.0860 0.0019 0.2023 0.3031 0.0196 0.0460 0.0591
0.0113 0.0007 0.0146 0.0207 0.0023 0.0097 0.0594 0.0134 0.0109 0.0160
0.0320 0.0004 0.0982 0.0570 0.0012 0.0199 0.0657 0.0031 0.0796 0.0445

Table A26: Same-pool anchor on SWE-bench Pro: Jensen–Shannon distance (log2 ) from each arm's 359 trajectories
to the teacher's own trajectories on the same 359 tasks (same) and to the pooled high-precision corpus reference
(off), with the arm's split-half floor (200 random halves). The teacher on the benchmark is at 0.0184 / 0.0321 /
0.0545 (mix / bigram / Bash) from its own corpus. Thinking rulers are undefined for this reference (the teacher's
thinking is not returned by the harness).
files read
n

Arm

Qwen3.6-27B
native
8
+v12×1
5
+v12×2
5
+v12×3
5
+v13×1
5
Qwen3.6-35B-A3B
native
7
native (repeat)
7
+v12×3
5
+v12×3 (repeat) 5
Qwen3.5-35B-A3B-Base
native
6
+v12×2
5
Qwen3.8-27B
native
8

files edited

precision

recall

Jaccard

mean

control

n

Jaccard

mean

0.50
0.75
0.75
0.75
0.73

1.00
0.89
0.88
0.86
0.88

0.50
0.63
0.60
0.60
0.60

0.478
0.611
0.606
0.578
0.598

0.019
0.016
0.018
0.019
0.018

3
3
3
3
3

0.60
1.00
0.83
0.80
0.82

0.620
0.762
0.755
0.740
0.743

0.50
0.50
0.67
0.67

1.00
1.00
0.88
0.89

0.50
0.50
0.57
0.56

0.484
0.483
0.579
0.570

0.018
0.020
0.018
0.018

3
3
3
3

0.73
0.75
0.80
0.83

0.702
0.700
0.741
0.738

0.56
0.71

0.75
0.83

0.43
0.56

0.455
0.571

0.018
0.019

7
3

0.25
0.75

0.285
0.718

0.50

1.00

0.46

0.482

0.018

4

0.50

0.473

Table A27: Read-set and edit-set overlap with the teacher on the same 359 SWE-bench Pro tasks (one rollout per
arm; medians over tasks, Jaccard also as a mean). Teacher medians: 4 files read, 2 edited. Control = mean Jaccard
against the teacher's read set of another task of the same repository; against another random task it is 0.003–0.004
for every arm. Paired tests are in the analysis record (analysis/anchors/pro359).
Arm
Teacher on the 359 (contaminated)
Teacher corpus reference
Qwen3.6-27B
native
+v12×1
+v12×2
+v12×3
+v13×1
Qwen3.6-35B-A3B
native
native (repeat)
+v12×3
+v12×3 (repeat)
Qwen3.5-35B-A3B-Base
native
+v12×2
Qwen3.8-27B
native

pass@1

recovery@3

truncation pipe

write w/o read

task mgmt

echo share

Bash share

steps

56.8
–

0.736
0.603

0.594
0.672

0.098
0.110

0.000
0.032

0.130
0.142

0.546
0.507

24
51

49.6
49.0
52.6
49.3
51.3

0.309
0.551
0.550
0.667
0.560

0.416
0.616
0.631
0.634
0.609

0.123
0.091
0.086
0.106
0.083

0.056
0.005
0.003
0.004
0.005

0.020
0.129
0.145
0.136
0.136

0.533
0.618
0.596
0.612
0.606

49
37
35
38
38

44.8
46.5
49.3
47.1

0.358
0.380
0.598
0.588

0.425
0.452
0.674
0.675

0.062
0.058
0.084
0.084

0.088
0.100
0.005
0.006

0.024
0.022
0.129
0.126

0.522
0.510
0.616
0.603

50
49
42
43

37.0
44.3

0.293
0.581

0.202
0.657

0.215
0.066

0.001
0.007

0.016
0.151

0.497
0.598

59
46

52.4

0.344

0.655

0.195

0.078

0.092

0.620

57

Table A28: The same 359 tasks: pass@1 (per cent; the teacher's value is contaminated, the tasks are public and the
sample is stratified by student difficulty) and the pooled bundle scalars of §5 for the teacher on the benchmark, the
teacher's corpus, and every arm. Median steps per trajectory in the last column.

35

tool mix
Arm

same

floor

Qwen3.6-27B
native
0.0390 0.0011
+v12×1 0.0043 0.0008
+v12×2 0.0035 0.0006
+v12×3 0.0048 0.0005
+v13×1 0.0038 0.0007
Qwen3.6-35B-A3B
native
0.0347 0.0007
Qwen3.5-35B-A3B-Base
+v12×2 0.0068 0.0006
Qwen3.8-27B
native
0.0214 0.0005

tool bigrams

Bash heads

thinking position

composite

same

floor

same

floor

same

floor

same corpus

0.0629
0.0080
0.0079
0.0087
0.0082

0.0024
0.0024
0.0021
0.0017
0.0020

0.1279
0.0263
0.0142
0.0153
0.0202

0.0096
0.0081
0.0100
0.0069
0.0073

0.0046
0.0038
0.0031
0.0034
0.0054

0.0020
0.0017
0.0018
0.0019
0.0016

0.0510
0.0062
0.0057
0.0067
0.0060

0.0552
0.0044
0.0046
0.0051
0.0044

0.0598 0.0021 0.1402 0.0317 0.0082

0.0023 0.0472 0.0512

0.0129 0.0016 0.0249 0.0099 0.0100

0.0015 0.0099 0.0076

0.0396 0.0015 0.0330 0.0048 0.0104

0.0016 0.0305 0.0297

Table A29: Held-out anchor: Jensen–Shannon distance (log2 ) from each arm's trajectories on the 345 validation
tasks (never trained on; one rollout each) to the teacher's own trajectories on the same tasks (same), with the arm's
split-half floor (200 random halves), and the composite distance of the same trajectories to the pooled corpus
reference (corpus). The teacher's 345 validation trajectories are 0.0012 (composite) from its corpus. The two MoE
arms start from different bases and are not a pair.

overlap with the teacher
Arm
Teacher on the 345

bundle scalars

pass@1 void n read precision recall Jaccard edit J. recovery@3 trunc. w/o read task mgmt
100

Qwen3.6-27B
native
50.7
+v12×1
56.5
+v12×2
53.3
+v12×3
52.2
+v13×1
55.1
Qwen3.6-35B-A3B
native
47.2
Qwen3.5-35B-A3B-Base
+v12×2
44.1
Qwen3.8-27B
native
53.0

echo

0

8

1

1

1

1

0.62

0.67

0.107

0.036 0.136

2
0
3
0
0

13
8
9
8
9

0.56
0.80
0.78
0.78
0.77

0.86
0.80
0.80
0.82
0.83

0.50
0.62
0.64
0.63
0.62

0.69
0.75
0.78
0.75
0.77

0.38
0.64
0.60
0.65
0.57

0.57
0.67
0.68
0.69
0.69

0.061
0.076
0.072
0.086
0.077

0.150
0.023
0.020
0.017
0.023

2

13

0.53

0.80

0.46

0.62

0.36

0.52

0.041

0.139 0.016

2

9

0.71

0.80

0.58

0.71

0.49

0.69

0.056

0.016 0.121

1

12

0.58

0.87

0.50

0.67

0.46

0.67

0.117

0.103 0.103

0.017
0.127
0.136
0.131
0.135

Table A30: Held-out anchor: pass@1 on the 345 validation tasks (per cent; trials without a verdict count as unsolved,
their number in the void column), read-set and edit-set overlap with the teacher on the same task (medians over
tasks), and the pooled bundle scalars of §5. The teacher passed every validation task by construction, so its pass@1
is not a comparison.

36



公开内容 SHA-256 59444261e49a0f43f0b8d25b9786c8d2822e1faaf0c549b7bdbea963c8d6f4d0

返回资料与接手