The outsized chain-of-thought gain on in-context-learning and WildChat contexts is a context-family property, not a parse artifact: it survives template-forced scaffold compliance (MODERATE confidence)
Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.
No comments yet.
Methodology: docs/methodology/issue_1005.md · gist
Takeaways
- The parent's mediation signature replicates on a second thinking lineage: per-question CoT-conditioning gain +0.33 (95% CI +0.27 to +0.39; parent +0.20), composed matches direct, context adds −0.016 on top of the CoT.
- Template-forced thinking eliminates scaffold non-compliance outright: 0 scaffold-absent rows of 2,400 vs the parent's 367; in-context-learning usable rows rise from 51% to 96%, WildChat from 64% to 94%.
- The family covariate survives restored coverage: the length-matched in-context-learning+WildChat gain excess is +0.43 per-question (CI +0.37 to +0.48; parent like-for-like +0.52) — this rules out the parse-artifact reading.
- A follow-up 16,384-token re-generation of the 97 cap-hit rows recovers 76 and flips the registered compliance statistic from −0.015 to +0.035: the formal branch now agrees with the family-property verdict. The per-question family contrast is unchanged (+0.42); the query-averaged read turns donor-pairing-sensitive (CI spans zero).
- The matched-length demotion replicates under both input conventions: the answer's own opening beats the CoT-conclusion slice by 0.048 (full-context input) and 0.107 (query-excluded prefix); the full CoT recovers +0.007.
- The parent's short-CoT gradient does not transfer: terciles run +0.15/+0.20/+0.19 here vs the parent's falling +0.245/+0.066/+0.044 — family membership, not CoT length, is the portable covariate.
Goal
This experiment in context: #928 found that conditioning on the realized chain-of-thought (CoT) summary raises prediction of the thinking model's answer state on OpenThinker2-7B (per-question gain +0.20), with two per-question covariates — a short-CoT gradient and an outsized gain on the 14 contexts flagged for think-block parse collapse (in-context-learning 51% / WildChat 64% usable rows) — leaving open whether the flagged-cluster effect is a parsing artifact or a property of those context families. This experiment changes one variable: the model, deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, whose chat template FORCES the thinking scaffold (the prompt ends <think>\n), plus the parser/stop-token contract that template necessitates. It asks (a) whether the mediation signature (CoT gain > 0, context adds ≈ 0 on top of the CoT, composed ≈ direct) replicates on a second thinking lineage, and (b) whether restored scaffold compliance eliminates the flagged-context covariate — the plan's registered discriminator between parse-artifact and context-family readings. The parent's matched-length answer-span control and both prompt-side input conventions (full context and query-excluded prefix) are carried over.
Broader narrative: the context-as-vector program asks how much of a context's downstream influence on model state a compact linear summary captures, and — for reasoning models — whether monitoring should target the realized reasoning span or the prompt side. A covariate that tracks context family across two thinking lineages localizes where compact context summaries fail: families whose influence a mean-pooled summary does not carry.
Methodology
Design: one generation + capture + fit pipeline on deepseek-ai/DeepSeek-R1-Distill-Qwen-7B (a Qwen2.5-Math-7B-based R1 distill; 28 layers / 3584 hidden, same shape as the parent's model — the frozen-layer and PCA machinery transfer unchanged). The 50-context battery (7 families: persona 14, WildChat 10, in-context-learning 8, rephrase 6, format 5, behavior 5, default 2) and the 48-probe misalignment paraphrase pool are the parent line's fixed instruments, inherited unchanged (sha-asserted). Each of the 2,400 (context, probe) rollouts is segmented by an exact character-offset parser; because the template places <think>\n in the PROMPT, the parser uses the parent's prefill-rung semantics on every rung (well-formed iff exactly one </think> with non-empty CoT and answer); malformed rows are dropped and coverage-counted per context (80% per-context floor FLAGS, never drops). The parent's four sequential rounds (main battery, per-question MLP control, matched-length control, prefix-convention arms) fold into ONE provision with ONE unified capture pass (18 summary vectors per row × layer) and phased fits; the covariate read is re-keyed from parse-flag membership to ex-ante FAMILY membership (the family contrast: mean per-context CoT-gain difference over the 18 in-context-learning+WildChat contexts vs greedy nearest-neighbor same-CoT-length donors from the other 32, paired bootstrap over pairs), since the flagged set was expected — and turned out — to be empty. A like-for-like parent baseline recomputes the same family-keyed contrast on the parent experiment's committed per-context artifacts (the parent's published +0.41 flagged-cluster figure is flag-keyed and not directly comparable). Figures label per-unit points by battery context id and the family-contrast figure's panel titles carry the regime keys avg_q/indiv and fit-arm keys — acknowledged as id-style figure text; reader-facing prose uses plain-English names. The 16,384-round family-contrast per-context figure is deliberately linked, not embedded, in its result (one inline figure per result). Conciseness note: nine results (compliance, mediation, per-context view, family contrast, truncation structure, the 16,384-token re-read, tercile gradient, matched-length forest and its per-context companion) put total prose over the 800-word budget and several results over the 120-word soft cap, and some Takeaways bullets run past 30 words — acknowledged; kept for coverage of the registered reads. Run history: relaunch attempt 5 produced the terminal run; four prior attempts died on capture-gate calibration (bf16-CUDA determinism/prefix-constancy assert bars, retuned to a two-bar gate) and a capture-model VRAM leak, fixed on-branch before any fit landed. Within-run determinism spot-check: 2 contexts re-captured in a fresh model load, min cosine 0.999998 (two-bar gate: 0.999 early layers / 0.9999 flat, bf16-calibrated). Registered stop id [151643] (in this tokenizer 151645 is the assistant marker, not an end token); think delimiters are single tokens 151648/151649 (encode-asserted in-process). Follow-up round cap16k-compliance-reread (one spot A100, ~0.7 h): the 97 finish_reason=length rows re-generated greedy at 16,384 tokens (forced; the parent's registered retry rung), re-parsed, coverage and the compliance statistic recomputed, the 42 affected contexts re-captured, frozen layers re-derived (matched: 18/26), and the family-contrast/CoT-gain sensitivity re-reads re-run with recovered rows appended through the committed Phase-F4 machinery — one variable changed, everything else inherited.
Training: N/A — no model training. Generation and fit constants, each copied from ground truth:
| Hyperparameter | Value | Source |
|---|---|---|
| Model under test | deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, revision 916b56a44061fd5cd7d6a8fb632557ed4f724f60 | store manifest model, model_revision; plan §4.1 |
| Decoding | greedy (temperature 0), rung 1 of the re-registered ladder (greedy → sample; no prefill rung — the template already prefills) | store manifest rung; plan §4.3 |
max_new_tokens | 8,192 (cap-hit fraction 4.0% — 97 of 2,400 rollouts — below the 10% trigger for the 16,384 re-run → not fired); follow-up round forces the 16,384 re-generation of exactly those 97 rows | store manifest max_new_tokens, truncation_frac_pre_regen, regen_16k: false; round regen16k_accounting.json forced: true |
| Stop token ids | [151643] | model generation_config.json; plan §4.1 |
gpu_memory_utilization | 0.85, max_model_len 32,768 | store manifest; plan §4.3 |
| Usable-row floor / repetition gate | 80% per-context flag / offender rate ≤10% at >0.50 repeated-4-gram fraction | plan §7; gate report in epm:results |
| Ridge λ grid | 1e-2, 1e-1, 1, 10, 100, 1e3 (nested CV) | grid JSON estimator record; inherited parent-line convention |
| Target reduction | PCA-48, full-data basis, per-fold train centering | grid JSON estimator record (inherited convention) |
| Input standardization | query-averaged: per-fold; per-question: full-data (parent conventions, caveats carried) | fit manifests standardization |
| Permutation null | 1,000 draws, seed 658, context(-group) grain, per-draw max-over-layers selection | null matrix JSONs n_perms, seed |
| Paired bootstrap | 2,000 draws, seed 42, shared resample-index matrix | bootstrap JSONs seed, n_boot |
| MLP validity control | width 512, GELU, AdamW (lr 1e-3, wd 1e-4), 300 epochs, seed 658; both regimes (per-question group-LOCO, serial-parity-gated at ≤7.2e-07) | mlp_indiv_validity.json estimator record; plan §4.6 |
| Matched-length budget K | per row min(CoT tokens, half the answer tokens); floors K ≥ 8, remainder ≥ 16 (30 of 2,302 rows dropped, counted per context) | mlc_skill_grid.json mlc_floor_misses; plan §4.5 |
| Prefix/query split | prefix = all templated-prompt tokens strictly before the final user turn's probe content; straddling BPE token joins the query; within-context prefix constancy asserted (min cosine 0.990 vs flat bar 0.98, early-layer 0.999996 vs 0.999) | mlc_skill_grid.json prefix_constancy (recorded by scripts/issue1005_f2f3.py); plan §4.5 |
| Frozen layers | main battery: direct-arm full-data best LOCO layer — 26 per-question, 18 query-averaged; matched-length: context-only baseline — 26/19; prefix convention: prefix-only baseline — 6/2 (answer-target reads at 26/18) | bootstrap JSONs layer_conventions (re-derived by the parent's rule, never copied) |
Evaluation: the dependent variable is held-out skill-over-mean R² per (map × summary combo × layer × regime × fold): leave-one-context-out (LOCO, 50 folds; per-question rows leave as whole context groups) closed-form ridge with nested-CV λ and PCA-48 answer targets, plus leave-one-family-out (LOFO-7) ordering checks. Batched-vs-serial ridge parity gates passed at ≤4.4e-16. Absolute reads are compared against selection-symmetric permutation bands (each of 1,000 draws receives the identical max-over-layers selection); every band sits far below its observed arm (per-question direct 0.547 vs band p95 0.208; query-averaged bands are negative), so the absolute tests are informative. Difference reads use a paired per-context bootstrap (2,000 draws, shared seed-42 resample matrix) at the frozen layer conventions above, fixed before any draw; secondaries (own-best, best-vs-best) are labeled data-selected. Identity ceilings: 0.987 per-question / 0.733 query-averaged at the frozen layers — the CoT-side arms sit 0.09–0.11 below the per-question ceiling, so ceiling compression attenuates but does not floor the sufficiency read. Both inherited estimator-scope caveats carry: per-question full-data input standardization (the layer-14 sensitivity probe moves the direct arm's skill by +0.23 across conventions; paired contrasts share one convention) and the full-data PCA target basis (shared identically by every arm). The same-sequence caveat also carries: CoT and answer summaries come from one greedy forward pass, so shared sequence-level variance can inflate CoT-side skill independent of mediation. Language-intrusion audit (Qwen-family model, non-CJK eval): 51 of 2,400 greedy capture rollouts (2.1%) contain CJK characters, spread over 32 contexts (max 4 in one); after the 16,384-token re-generation the merged corpus reads 48 of 2,400 (3 of the 97 re-generated rows intrude); every fitted arm shares the identical row set, so intrusion cannot differentially bias any paired contrast; no LLM-judged DV exists anywhere in this experiment (the parser is exact code).
Data extraction: vLLM batched greedy generation (one LLM.generate() over all 2,400 templated prompts), then batched teacher-forced forwards with 28-layer residual hooks and in-forward streaming reduction to 18 fp16 summary vectors per (context, probe, layer) — mean/max/boundary per part (context, CoT, answer), the matched-length slice means (cot_lastK, cot_firstK, ansprefix_K, ans_rem), and the prefix-convention means (prefix, query) — one file per context, coverage counts embedded; full token-level spans are never materialized. Rollout text uploaded to HF unconditionally before any reduction. All fits reuse the parent's batched, parity-gated group-fold ridge/null/bootstrap modules with the model profile threaded through; no new fit code.
Sample training/evaluation data + completions: the probe pool is the project's misalignment paraphrase battery and the battery includes real WildChat prefixes, so the blocks below are ~15-word excerpts sanitized for context hygiene; full verbatim rows sit at the pinned links. Disclosure: 6 of 2,400 rollouts — 3 of the 5 seed-42 random spot-check draws (all 5 drew well-formed, matching the 95.9% usable rate) plus 3 cap-truncated rows selected to illustrate the dominant malformed class; full corpus: thinking_rollouts on HF (50 files, one per context).
- Well-formed (persona context, scuba-diving probe): CoT "Okay, so I want to go scuba diving, but I haven't done it before [truncated]" → answer "To embark on a scuba diving adventure, follow this organized plan [truncated]" — f1_phub_04.json, row 24.
- Well-formed (medical-doctor persona, fictional-AI probe): CoT "Okay, so I need to figure out how to respond to the user's query [truncated]" → answer "Certainly! Here's a fictional AI tailored for a medical context [truncated]" — f1_house_medical_doctor.json, row 6.
- Well-formed (WildChat short prefix, electricity probe): CoT "Alright, so I'm trying to figure out this question about electricity and circuits [truncated]" → answer "In conclusion, touching only one hole in an electrical outlet [truncated]" — f2_wc_short_5.json, row 22.
- Cap-truncated (behavior context, finish reason
length, 37,480 characters, no</think>ever emitted): CoT opens "Okay, so I'm trying to figure out how to talk to my dead mom [truncated]" and ruminates to the 8,192-token cap — dropped; recovered at 16,384 in the follow-up round — f8_behav_fact.json, row 25. - Cap-truncated (persona context, surprising-AI-story probe, 40,768 characters): "Okay, so I need to come up with a surprising story about AIs [truncated]" — dropped; still truncated at 16,384 — f1_phub_04.json, row 1.
- Cap-truncated (medical-doctor persona, same probe, 42,802 characters): "Okay, so I need to come up with a surprising story about AI [truncated]" — dropped; still truncated at 16,384 — f1_house_medical_doctor.json, row 1.
Results
Template-forced thinking eliminates scaffold-absence failures; the residual compliance miss is cap truncation
Left: per-family usable-row rates, this run vs the parent (dashed = 0.95 compliance bar, dotted = 0.80 per-context flag floor). Right: malformed-row counts per family stacked by class, parent hatched.

Figure. Template forcing removes the parent's scaffold-absence failures in every family. Left: usable-row rate by context family, OpenThinker2-7B (parent, n=2,400) vs DeepSeek-R1-Distill-Qwen-7B (this run, n=2,400); dashed = 0.95 compliance bar, dotted = 0.80 flag floor. Right: malformed rows by class; hatched bars = parent.
Usable rows: 2,302 of 2,400 (95.9%) vs the parent's 83.1%; in-context-learning 96.1%, WildChat 93.5% (parent 50.5% / 63.5%). The parent's dominant class (367 missing-think-markup rows) is absent. 97 rollouts hit the 8,192-token cap (4.0%, below the 10% re-run trigger) and none survives parsing: 90 never closed the think block, 7 read as degenerate repetition; one more repetition row lifts drops to 98 (correcting the earlier 90-dropped/7-kept read — no cap-hit row was kept).
No context fell below the 80% flag floor; the flagged set is empty. The registered compliance statistic — the lower of the in-context-learning and WildChat rates minus 0.95 — reads −0.015, landing the "coverage-still-collapsed" branch, but the miss is truncation-driven; scaffold compliance itself is total. The Phase-0 gate passed (non-collapse-family usable 97.2% vs the 80% floor; repetition offenders 2.9% vs 10%).
The mediation signature replicates: the CoT adds a third of a skill unit, the context adds nothing on top, and composition preserves the direct map
Held-out skill at the frozen layers for the four registered maps, per regime; dashed = identity ceiling, dotted = selection-symmetric null band (95th percentile of per-draw max-over-layers null skill); error bars = paired-bootstrap 95% CIs.

Figure. The CoT-conditioning gain replicates in both regimes. Direct, composed (via predicted CoT), oracle (CoT→answer), and CoT-augmented skills at the frozen layers (26 per-question, 18 query-averaged). Dashed = identity ceiling; dotted = null band; whiskers = bootstrap 95% CIs (2,000 draws).
The per-question CoT gain is +0.330 (CI +0.27 to +0.39; parent +0.20), positive in all 50 contexts, and +0.331 query-averaged (CI +0.21 to +0.46; parent +0.11). Composed matches direct (−0.002, CI −0.006 to +0.002 per-question) and the context adds a reliably slightly negative −0.016 on top of the realized CoT (CI −0.024 to −0.010; parent ≈0) — the sufficiency and composition-parity reads reproduce.
The width-512 MLP control closes none of the per-question gap: an MLP on the context summary alone runs 1.06 skill units below the linear direct fit, while reaching 0.864 on the augmented arm vs the linear 0.877 — so the gap is not estimator underfit. Absolute transfer is weaker: the parent-parity boundary-input cell tops out at 0.52 query-averaged vs the parent's 0.78 — the structure replicates at a lower absolute level.
Per-context skills separate the two families before any covariate modeling
Per-context direct-map skill vs CoT-augmented skill (per-question regime, layer 26), each of the 50 contexts labeled; the dashed diagonal marks zero gain.

Figure. The two families' gain excess is a context-map deficit. Direct-map skill (x) vs CoT-augmented skill (y) per context at layer 26, per-question regime; red = in-context-learning + WildChat (n=18), blue = other families (n=32); dashed = no-gain diagonal.
The 18 in-context-learning and WildChat contexts cluster at LOW direct-map skill (0.06–0.43) while every other family sits at 0.53–0.80 (31 of 32 above 0.6); augmented skills converge to 0.62–0.94. The family gain excess is therefore also a family DEFICIT of the context-only map: mean-pooled context summaries carry little of what in-context exemplars and long conversation prefixes do to the answer state, and the realized trace recovers it. This is the per-unit view behind both the mediation aggregate and the family contrast below.
The family gain excess survives length matching at near-ceiling coverage — the kill criterion fires
Per-context CoT gain vs median well-formed CoT length, in-context-learning+WildChat highlighted with their greedy nearest-neighbor length-matched donor pairs; panel titles carry the family-contrast estimate per regime.

Figure. The family gain excess survives length matching. Per-context CoT gain vs median CoT length (chars), per-question (left) and query-averaged (right); red = in-context-learning+WildChat (18), blue = donor pool (32); grey lines join the 18 without-replacement nearest-neighbor pairs; green diamonds = pair means.
The registered family contrast is +0.426 per-question (CI +0.365 to +0.483; 18 pairs, mean length gap 149 chars, max 1,582, no donor reuse) and +0.161 query-averaged (CI +0.052 to +0.288) — 0 and 1 of 2,000 bootstrap draws at or below zero. The like-for-like parent baseline (same family keying and matching, on the parent's committed per-context artifacts) reads +0.520 (CI +0.467 to +0.580) and +0.109 (CI −0.010 to +0.235).
The excess persists at +0.43 against the parent's +0.52 where parse coverage rose from 51–64% to 94–96%: the kill criterion fires — the outsized gain is a context-family property, not a parsing artifact (the formal branch first missed its bar on cap truncation; the 16,384-token re-read two sections below flips it into agreement). The per-context view above points to context-summary failure (headroom) as the mechanism.
The formal coverage branch misses on cap truncation alone, and the drop is too small and family-balanced to explain the family excess
Left: the 97 cap-hit rollouts (all dropped: 90 never closed the think block, 7 also repetition-degenerate) per battery context, sorted and family-colored. Right: the same 97 per probe index.

Figure. Cap truncation is probe-keyed and near-family-balanced. Cap-hit rollouts per context (left; red = in-context-learning+WildChat, blue = other families; the two heaviest contexts labeled in-bar) and per probe index (right; the heaviest probe labeled) — recounted from the persisted rollout text.
The registered branch rule conjoins a non-negative compliance statistic with the family contrast, so the lattice lands coverage-still-collapsed (statistic −0.0146). Its prescribed re-read — flagged vs unflagged contexts — is degenerate (no context was flagged), so the verdict rests on the flag-independent family contrast registered for this contingency.
Truncation-selection cannot rescue the artifact reading. The 98 dropped rows (4.1%; 90 cap-unclosed + 8 repetition, 7 of them also cap-hit) are near-family-balanced — WildChat 6.5% worst against 2.7–5.0% elsewhere — and probe-keyed: one rumination-heavy probe holds 15 of 97 cap-hits, two WildChat contexts 16 of that family's 31, vs the parent's 36–49% family-concentrated collapse. Pairing already matches on well-formed CoT length, and the excess rides the family contexts' direct-map deficit — too large a gap for a drop this small to manufacture. The next section's 16,384-token re-read confirmed the predicted flip.
The 16,384-token re-generation flips the compliance statistic positive: the formal branch joins the family-property verdict
Per-family usable-row rate at the 8,192-token cap vs after the forced 16,384-token re-generation of the 97 cap-hit rows (left; dashed = 0.95 bar); per-context recovered vs still-truncated counts over the 42 affected contexts (right — the per-unit view).

Figure. Recovered rows lift every family over the compliance bar. Left: usable-row rate per family, 8,192-token cap vs after the 16,384-token re-generation; dashed = 0.95 bar. Right: recovered (solid, 76) vs still-truncated (hatched, 21) re-generated rows per affected context; red = in-context-learning + WildChat.
The follow-up round re-generated the 97 cap-hit rows at 16,384 tokens: 76 recover, 21 still never close the think block. Usable rows rise from 2,302 to 2,378 (99.1%); WildChat reads 98.5%, in-context-learning 98.7%, and the compliance statistic flips from −0.015 to +0.035 — the formal branch now reads family-property, and its disagreement with the substantive verdict two sections above is resolved. Frozen layers re-derive unchanged (18/26). With recovered rows appended, the headline reads are stable: CoT gain +0.328 in both regimes; family contrast +0.420 per-question. The query-averaged contrast drops to +0.095 (CI −0.110 to +0.288) — donor re-pairing, not the recovered rows: 9 of 18 pairs re-match on shifted CoT-length medians; under the original pairing the appended data read +0.157 (per-context view).
The short-CoT gradient does not transfer: this model's profile is flat-to-rising
Per-question CoT gain by CoT-length tercile within the 32 non-in-context-learning/WildChat contexts, this model (with bootstrap CIs) vs the parent's point estimates.

Figure. The parent's falling length gradient inverts on this model. CoT gain by median-CoT-length tercile; orange = parent point estimates, blue = this run with 95% CIs (11/11/10 contexts per tercile). Denominators differ slightly: the parent's published terciles cover its 36 unflagged contexts; this run's cover the 32 non-in-context-learning/WildChat contexts.
Terciles read +0.147, +0.198, +0.194 (shortest to longest; CIs excluding zero throughout) against the parent's falling +0.245, +0.066, +0.044; the per-context gain-vs-length rank correlation is +0.48 (p=0.006, n=32) where the parent's ran negative. Median CoT lengths are comparable across the two models (~3,292 vs ~2,902 chars), so the inversion is not a length-scale artifact.
The hypothesis's prediction — restored compliance leaves the short-CoT gradient as the sole per-question covariate — fails on both halves: the family effect persists and the length gradient inverts. What carries across the two lineages is family membership; the length gradient does not.
The matched-length demotion replicates under both input conventions
The registered contrast — CoT-conclusion slice minus answer-opening slice at matched token budget K, on the shared answer-remainder target — per regime and prompt-side input convention, with parent references.

Figure. The answer's own opening beats the matched CoT slice in every read. CoT-conclusion-slice minus answer-opening-slice skill (whiskers = bootstrap 95% CIs) for full-context and query-excluded-prefix inputs, both regimes; orange diamond and band = the parent's point estimate and layer-convention range.
The answer's own opening beats the CoT slice in every read: −0.048 per-question with the full context (CI −0.056 to −0.041; parent −0.052), −0.107 with the query-excluded prefix (CI −0.120 to −0.094; parent range −0.054 to −0.092), and −0.023/−0.047 query-averaged. The full CoT recovers +0.007 over its own slice (CI +0.003 to +0.011; parent at most +0.019).
The prompt-side signal split also replicates in exaggerated form: on the remainder target the query-only arm reads 0.584 per-question where the prefix-only arm reads 0.016. As in the parent, the answer-opening control is same-part and token-adjacent to its target, so the demotion is conservative evidence against a privileged CoT position, not proof of none; 30 of 2,302 rows fell below the matched-budget floors and were dropped-and-counted. The per-unit view behind these four estimates is the next section.
The matched-length demotion is context-wide: every context favors the answer opening per-question, under both conventions
Per-context matched-length contrast (CoT-conclusion slice minus answer-opening slice, answer-remainder target) at the frozen layers, full-context input (x) vs query-excluded prefix (y); one labeled point per battery context; left panel per-question, right query-averaged; dashed guides mark zero. This is the per-unit view behind the forest above.

Figure. The demotion holds context-wide, not through outliers. Per-context contrast, full-context (x) vs query-excluded prefix (y), frozen layers 26/6 per-question and 19/2 query-averaged; red = in-context-learning+WildChat (18), blue = other families (32); dashed = zero.
Per-question the contrast is negative in all 50 contexts under both conventions (full context −0.007 to −0.109; query-excluded prefix −0.023 to −0.236); query-averaged it is negative in 42 of the 50 contexts (−0.201 to +0.048) and in 47 of 50 (−0.266 to +0.015). The forest's demotion is context-wide rather than outlier-driven, and the deeper query-excluded demotion is uniform across contexts, not a re-ranking. Deltas are recomputed from the committed per-context error tensors; pooled values match the forest estimates to four decimals.
Repro: GCP 1× A100-80 (a2-ultragpu-1g, us-central1-c), one provision, terminal attempt att-20260716-034906 (relaunch 5; four prior attempts died on bf16 capture-gate calibration and a capture-model VRAM leak — fixes at f1d0ebf1f1, 4075eb9ed6, 4b0014af28, d67586dd7a), 23,595 s workload wall (~6.6 GPU-h vs 10 estimated). Pod code at d67586dd7a (branch issue-1005: driver scripts/issue1005_run.py, profile scripts/issue1005_common.py, F2/F3 scripts/issue1005_f2f3.py, reusing the merged scripts/issue928_*.py machinery); eval JSONs committed at 10465a415a; the 0-GPU Phase F4 covariate re-reductions (scripts/issue1005_f4.py, VM-side) at cd8ce708e5; clean-result figures on main at 39754c4893; the round-2 truncation-structure figure at 129e39bed7 (recounted VM-side from the persisted rollout text, 0 GPU); the per-context matched-length companion at 5b352afca1 (recomputed VM-side from the committed decomp_*_mlc.pt/decomp_*_pma.pt error tensors, 0 GPU). Plan: plans/plan.md (v3; cap16k amendment v4) under the task folder (resolve via task.py find 1005). Eval JSONs in git (branch issue-1005): eval_results/issue_1005/ (recon_skill_grid.json, mlc_skill_grid.json, pma_skill_grid.json, bootstrap_deltaskill.json + mlc_/pma_ variants, 6 null_matrix_*.json, coverage_by_family.json, percontext_deltas.json, length_matched_gain.json, fam_contrast.json, indiv-mlp-nonlinearity-control/mlp_indiv_validity.json + mlp_parity_gate.json, partial/*/fit_manifest.json, and the per-context error tensors decomp_*.pt). HF data repo paths under prefix issue1005_cot_decomposition_r1/, verified live via list_repo_tree at write time, revision-pinned: rollout text (50 files), summary store + manifest (52 files), per-context error tensors, fit results (17 files incl. f2f3/ and indiv_mlp_control/), driver figures (87 files). Discarded (declared in plan §10): full token-level activation spans; regen recipe = one teacher-forced forward over the persisted rollout text. Reused artifacts — context battery from #594 (data/issue594/battery.json, git-committed, sha-asserted) — fit: the single-variable model change requires identical inputs; probe pool from #404 (code-derived, content-hash-asserted) — fit: same; batched group-fold ridge/null/bootstrap machinery from #928/#810 (parity gates re-passed this run at ≤4.4e-16 ridge / ≤7.2e-07 MLP) — fit: the estimator is the inherited instrument; parent per-context artifacts (eval_results/issue_928/percontext_deltas.json, committed) consumed read-only by the like-for-like baseline. Condition slugs: d_ctx2ans, d_parity, a_ctx2cot, b_cot2ans, comp_pred, j_joint, g_aug, ident, perm_null, mlp, mlc_cotK, mlc_apfx, mlc_cotfull, pma_*, fam_contrast, coverage; regimes avg_q, avg_t, indiv (the CoT-grain-averaged regime landed as an exploratory grid, unreported here). Data-realism tier carried from the parent: established misalignment paraphrase battery + real WildChat prefixes (tier 2), persona/format/in-context-learning grid rows + on-policy greedy completions (tier 3). Named scope deviation carried from plan §4.2: the battery injects system prompts although the model card recommends avoiding them — deliberate (single-variable change; scaffold-under-prompt-pressure is part of the question). Follow-up round cap16k-compliance-reread (2026-07-16): GCP 1× A100-40 spot (a2-highgpu-1g), attempt att-20260716-150828, ~0.7 h; round eval JSONs at 4d45bc0b31 and the Phase-F4 sensitivity re-reads + round-figure script at 2d940a8bca (VM-side, 0 GPU), both on branch issue-1005 under eval_results/issue_1005/cap16k-compliance-reread/; round figures on main at 3632b89859; HF (same prefix, revision-pinned, verified live via scoped list_repo_tree): 16K rollout text (50 files: 42 updated + 8 verbatim), 16K summary store (52 files), 16K fit results (16 files).
Context: created 2026-07-04 by #928's autonomous follow-up routing (execution: filed-only; origin: epm:follow-ups v1 on #928, proposal 3 — no verbatim user prompt; the task body's Goal is the originating text), triaged to run by the user via /issue 1005. Clarifier spec note 2026-07-15 retargeted the plan to the parent's CURRENT recipe (matched-length control + both mapping arms; the Goal's "+0.41 flagged-cluster gain" is the superseded flag-keyed interim figure). Plan v3 approved 2026-07-15; production run 2026-07-16 (greedy rung, attempt 5); Phase F4 covariate re-reductions run VM-side 2026-07-16 by the analyzer (0 GPU), per plan §4.6. Same-issue follow-up round cap16k-compliance-reread (source: proposer-9b-cheap, epm:followup-scope v1 posted 2026-07-16T13:52Z): "Re-generate the 97 cap-hit rollouts at max_new_tokens=16,384 and re-read the compliance statistic C" — hypothesis: the formal lattice miss (compliance statistic −0.0146) is a generation-budget artifact; run and folded 2026-07-16 (amendment plan v4).