% E_anchors.tex -- Appendix E: the two same-pool anchors (added 2026-09-06 when both experiments landed).
% Numbers: analysis/anchors/pro359/pro359_anchor.{json,md} (teacher on 359 Pro tasks) and
% analysis/anchors/val373/val373_anchor.{json,md} (held-out validation tasks); tables by tables/make_tabE.py.
\section{Same-pool anchors}
\label{app:anchors}

\paragraph{Teacher on the benchmark.}
\Teacher, driven by the same \Harness version, effort \code{high}, with the same added instruction and wall-time limit as the students, ran once on 359 \SWEPro 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 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~\ref{tab:E1} gives each arm's distance to the teacher's own trajectories on the same tasks next to its distance to the corpus reference, Table~\ref{tab:E2} the read-set and edit-set overlap on the same tasks, and Table~\ref{tab:E3} \passat and the bundle scalars on the 359.
The teacher's \passat 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 \sTwoFiveSix against \nTwoSeven, 26:15 discordant) while both MoE pairs do ($+7.2$ and $+4.5$\pp), and per-task read-overlap gains do not track per-task solve gains (Spearman $\rho=0.03$).
\paragraph{Held-out validation tasks.}
The 345 tasks are the validation split of the \vTwelve 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~\ref{tab:E4} gives the distances and floors and Table~\ref{tab:E5} \passat, overlap and the bundle scalars; the composite distance falls from 0.051 to 0.006 at one epoch and moves by $\pm0.001$ afterwards, and the drop reproduces in every language stratum at the first epoch (native to \sOneTwoEight: Go 0.049 to 0.009, TypeScript 0.088 to 0.007, Python 0.071 to 0.005, other 0.047 to 0.010).
\passat on the 345 is 50.7\,\% for \nTwoSeven and 52.2--56.5\,\% for the \vTwelve and \vThirteen checkpoints, not ordered by dose (\sOneTwoEight highest); the two MoE arms, \aQ and \aTwoEp, start from different bases and are reported without a pairing.
\input{tables/tabE1_samepool}
\input{tables/tabE2_overlap}
\input{tables/tabE3_scalars359}
\input{tables/tabE4_val_distances}
\input{tables/tabE5_val_overlap}
