import%20marimo%0A%0A__generated_with%20%3D%20%220.23.16%22%0Aapp%20%3D%20marimo.App(%0A%20%20%20%20width%3D%22medium%22%2C%0A%20%20%20%20app_title%3D%22Ex%202.1.12%3A%20fitted%20channel%20probes%20over%20the%20anchored%20checkpoints%22%2C%0A%20%20%20%20css_file%3D%22..%2F..%2Freport.css%22%2C%0A%20%20%20%20auto_download%3D%5B%22html%22%5D%2C%0A)%0A%0Awith%20app.setup(hide_code%3DTrue)%3A%0A%20%20%20%20import%20tempfile%0A%20%20%20%20from%20pathlib%20import%20Path%0A%20%20%20%20from%20typing%20import%20NamedTuple%2C%20cast%0A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20from%20matplotlib.transforms%20import%20Affine2D%0A%0A%20%20%20%20%23%20Marimo%20puts%20the%20notebook%20directory%20on%20sys.path%2C%20so%20the%20conditions%20and%20the%0A%20%20%20%20%23%20ref%20come%20from%20the%20definition%20module%20beside%20this%20one.%0A%20%20%20%20import%20experiment%20as%20ex%0A%20%20%20%20from%20mini.reports%20import%20report_bundle%2C%20use_publisher%0A%20%20%20%20from%20mini.store%20import%20project_store%0A%20%20%20%20from%20mini.vis%20import%20AxesRow%2C%20figure_html%2C%20light_dark%2C%20themed%0A%20%20%20%20from%20sca.colorcube%20import%20sim_to_red%0A%20%20%20%20from%20sca.vis_grading%20import%20GRID_RGB%0A%20%20%20%20from%20sca.vis_probes%20import%20draw_traces%0A%0A%20%20%20%20use_publisher(report_bundle(__file__))%0A%0A%20%20%20%20SLICE_NAMES%20%3D%20%5B%22emb%22%2C%20%221%22%2C%20%222%22%2C%20%223%22%2C%20%224%22%5D%0A%20%20%20%20POS_NAMES%20%3D%20%5B%22op1%22%2C%20%22%2B%22%2C%20%22op2%22%2C%20%22%3D%22%2C%20%22ans%22%2C%20r%22%5Cn%22%5D%0A%20%20%20%20TARGET_TITLES%20%3D%20%7B%22op1%22%3A%20%22The%20color%20of%20op1%22%2C%20%22op2%22%3A%20%22The%20color%20of%20op2%22%2C%20%22ans%22%3A%20%22The%20color%20of%20the%20answer%22%7D%0A%20%20%20%20%22%22%22Panel%20titles%2C%20one%20per%20probe%20target%3A%20which%20token's%20color%20that%20panel's%20probes%20decode.%22%22%22%0A%0A%20%20%20%20%23%20A%20cell%20renders%20its%20last%20expression%2C%20and%20a%20trailing%20docstring%20is%20one.%0A%20%20%20%20None%0A%0A%0A%40app.function(hide_code%3DTrue)%0Adef%20load_npz(ref%3A%20str)%20-%3E%20dict%5Bstr%2C%20np.ndarray%5D%20%7C%20None%3A%0A%20%20%20%20%22%22%22A%20published%20npz%20as%20a%20dict%20of%20arrays%2C%20or%20None%20before%20it%20exists.%22%22%22%0A%20%20%20%20store%20%3D%20project_store()%0A%20%20%20%20art%20%3D%20store.get_refs(%5Bref%5D)%5Bref%5D%0A%20%20%20%20if%20art%20is%20None%3A%0A%20%20%20%20%20%20%20%20return%20None%0A%20%20%20%20with%20tempfile.TemporaryDirectory()%20as%20d%3A%0A%20%20%20%20%20%20%20%20(path%2C)%20%3D%20store.get_many(%5B(art%2C%20Path(d)%20%2F%20%22arrays.npz%22)%5D)%0A%20%20%20%20%20%20%20%20with%20np.load(path)%20as%20z%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%7Bk%3A%20z%5Bk%5D%20for%20k%20in%20z.files%7D%0A%0A%0A%40app.function(hide_code%3DTrue)%0Adef%20draw_probe_grid(%0A%20%20%20%20ax%3A%20plt.Axes%2C%20stack%3A%20np.ndarray%2C%20*%2C%20own%3A%20int%20%7C%20None%20%3D%20None%2C%20row_names%3A%20bool%20%3D%20True%2C%20scale%3A%20bool%20%3D%20True%0A)%20-%3E%20None%3A%0A%20%20%20%20%22%22%22One%20row%20per%20residual%20slice%2C%20the%20six%20token%20positions%20across%2C%20drawn%20into%20*ax*.%0A%0A%20%20%20%20*stack*%20is%20one%20condition's%20(seed%2C%20slice%2C%20position%2C%20channel)%20strict%20R%C2%B2%20for%20one%20target.%20Each%20row%20draws%20the%20seed%20mean%20as%20a%20step-line%20per%20RGB%20channel%20over%20the%20grey%20area%20of%20their%20mean%2C%20with%20the%20seed%20envelope%20as%20hairlines%20%E2%80%94%20see%20%3Afunc%3A%60~sca.vis_probes.draw_traces%60%2C%20which%20the%20landmark%20maps%20of%20ex-2.1.5%20use%20the%20same%20way.%0A%0A%20%20%20%20The%20rows%20share%20one%20Axes%2C%20each%20offset%20by%20a%20translate%20transform%2C%20so%20a%20row%20spans%20y%20%E2%88%88%20%5Bsi%2C%20si%2B1%5D%20and%20keeps%20a%20fixed%200%E2%80%931%20scale%3A%20a%20site%20that%20decodes%20nothing%20looks%20like%20it%20decodes%20nothing%2C%20here%20and%20in%20every%20other%20panel.%20Each%20row's%20zero%20line%20is%20also%20the%20rule%20between%20it%20and%20the%20row%20below%2C%20so%20the%20rules%20mark%20the%20boundaries%20and%20no%20separators%20are%20needed.%20That%20is%20the%20layout%20of%20the%20grading%20grids%20on%20%5Bthe%20figures%20page%5D(..%2Fd2.1%2Freport.py)%2C%20and%20the%20two%20figures%20cover%20the%20same%20sites%2C%20so%20a%20reader%20who%20has%20read%20one%20can%20read%20the%20other.%0A%0A%20%20%20%20Negative%20scores%20clip%20to%20the%20floor%20first.%20A%20probe%20that%20does%20worse%20than%20predicting%20the%20mean%20has%20failed%2C%20and%20how%20much%20worse%20is%20not%20a%20finer%20grade%20of%20failure%3B%20the%20rows%20also%20draw%20unclipped%2C%20so%20a%20value%20left%20below%20zero%20would%20run%20down%20into%20the%20row%20beneath.%0A%0A%20%20%20%20*own*%20is%20the%20position%20of%20the%20token%20whose%20color%20the%20panel%20decodes%3B%20its%20x%20label%20draws%20in%20bold%2C%20since%20what%20a%20site%20holds%20*before*%20that%20token%20is%20the%20question%20H1%20asks.%20*row_names*%20draws%20the%20slice%20names%20on%20the%20left%20and%20*scale*%20the%200%E2%80%931%20scale%20on%20the%20right%3B%20a%20panel%20in%20a%20row%20of%20them%20wants%20each%20only%20on%20its%20own%20side%20of%20the%20figure%20(see%20%3Afunc%3A%60probe_grids%60).%0A%20%20%20%20%22%22%22%0A%20%20%20%20sw%20%3D%200.7%20%20%23%20smooth-step%20plateau%20width%2C%20as%20the%20grading%20grids%20use%0A%20%20%20%20_%2C%20n_slices%2C%20n_pos%2C%20_%20%3D%20stack.shape%0A%20%20%20%20stack%20%3D%20np.clip(stack%2C%200%2C%201)%0A%20%20%20%20for%20si%20in%20range(n_slices)%3A%0A%20%20%20%20%20%20%20%20shift%20%3D%20Affine2D().translate(0%2C%20si)%20%2B%20ax.transData%20%20%23%20embedding%20at%20the%20bottom%2C%20as%20the%20profile%20figures%20do%0A%20%20%20%20%20%20%20%20draw_traces(%0A%20%20%20%20%20%20%20%20%20%20%20%20ax%2C%20stack.mean(0)%5Bsi%5D%2C%20spread%3Dstack%5B%3A%2C%20si%5D%2C%20ramp%3D1%20-%20sw%2C%20faint_risers%3DTrue%2C%20transform%3Dshift%2C%20clip_on%3DFalse%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20ax.axhline(si%2C%20color%3Dlight_dark(%22%23aaaa%22%2C%20%22%23333a%22)%2C%20lw%3D0.5)%0A%20%20%20%20ax.set_xlim(-0.5%2C%20n_pos%20-%200.5)%0A%20%20%20%20ax.set_ylim(0%2C%20n_slices)%0A%20%20%20%20ax.set_xticks(range(n_pos)%2C%20POS_NAMES)%0A%20%20%20%20ax.set_yticks(np.arange(n_slices)%20%2B%200.5%2C%20SLICE_NAMES%20if%20row_names%20else%20%5B%22%22%5D%20*%20n_slices)%0A%20%20%20%20ax.tick_params(axis%3D%22x%22%2C%20labelsize%3D6%2C%20bottom%3DFalse)%0A%20%20%20%20ax.tick_params(axis%3D%22y%22%2C%20labelsize%3D7%2C%20left%3DFalse)%0A%20%20%20%20if%20own%20is%20not%20None%3A%0A%20%20%20%20%20%20%20%20%23%20Weight%2C%20not%20color%3A%20the%20three%20channel%20hues%20are%20data%20here%2C%20and%20a%20red%20tick%20label%20would%0A%20%20%20%20%20%20%20%20%23%20read%20as%20the%20R%20channel%20rather%20than%20as%20a%20slot.%0A%20%20%20%20%20%20%20%20ax.get_xticklabels()%5Bown%5D.set(fontweight%3D%22bold%22)%0A%20%20%20%20if%20scale%3A%0A%20%20%20%20%20%20%20%20%23%20One%20y%20scale%20for%20the%20whole%20figure%2C%20against%20the%20bottom%20row%2C%20whose%20offset%20is%20zero.%0A%20%20%20%20%20%20%20%20sec%20%3D%20ax.secondary_yaxis(%22right%22)%0A%20%20%20%20%20%20%20%20sec.set_yticks(np.arange(n_slices%20%2B%201)%2C%20%5B%220%22%2C%20%221%22%5D%20%2B%20%5B%22%22%5D%20*%20(n_slices%20-%201))%0A%20%20%20%20%20%20%20%20sec.tick_params(labelsize%3D6%2C%20direction%3D%22out%22)%0A%20%20%20%20%20%20%20%20sec.set_ylabel(%22R%C2%B2%2C%200%E2%80%931%20per%20row%22%2C%20fontsize%3D7)%0A%0A%0A%40app.function(hide_code%3DTrue)%0Adef%20probe_grids(%0A%20%20%20%20panels%3A%20dict%5Bstr%2C%20tuple%5Bnp.ndarray%2C%20int%20%7C%20None%5D%5D%2C%20figsize%3A%20tuple%5Bfloat%2C%20float%5D%20%3D%20(8.6%2C%202.7)%0A)%20-%3E%20plt.Figure%3A%0A%20%20%20%20%22%22%22A%20row%20of%20probe%20grids%20sharing%20one%20set%20of%20rows%20and%20one%20R%C2%B2%20scale%2C%20titled%20by%20*panels*'%20keys%3B%20each%20value%20pairs%20the%20R%C2%B2%20array%20with%20the%20position%20of%20the%20token%20whose%20color%20it%20decodes%20(see%20%3Afunc%3A%60draw_probe_grid%60).%0A%0A%20%20%20%20The%20panels%20measure%20the%20same%20quantity%20on%20the%20same%20scale%20and%20the%20reader%20compares%20across%20them%2C%20so%20they%20belong%20in%20one%20figure%20%E2%80%94%20one%20image%20per%20condition%2C%20which%20is%20also%20how%20the%20recipe%20reads%3A%20each%20condition%20is%20a%20picture%2C%20and%20the%20progression%20is%20the%20four%20of%20them%20in%20order.%20The%20row%20names%20sit%20on%20the%20left%20of%20the%20first%20panel%20and%20the%20scale%20on%20the%20right%20of%20the%20last%2C%20since%20both%20are%20shared.%0A%20%20%20%20%22%22%22%0A%20%20%20%20fig%2C%20axes%20%3D%20plt.subplots(1%2C%20len(panels)%2C%20figsize%3Dfigsize%2C%20squeeze%3DFalse)%0A%20%20%20%20row%20%3D%20cast(AxesRow%2C%20axes%5B0%5D)%0A%20%20%20%20for%20i%2C%20(ax%2C%20(title%2C%20(stack%2C%20own)))%20in%20enumerate(zip(row%2C%20panels.items()%2C%20strict%3DTrue))%3A%0A%20%20%20%20%20%20%20%20draw_probe_grid(ax%2C%20stack%2C%20own%3Down%2C%20row_names%3Di%20%3D%3D%200%2C%20scale%3Di%20%3D%3D%20len(row)%20-%201)%0A%20%20%20%20%20%20%20%20ax.set_title(title%2C%20fontsize%3D8%2C%20pad%3D6)%0A%20%20%20%20return%20fig%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Ex%202.1.12%3A%20fitted%20channel%20probes%20over%20the%20anchored%20checkpoints%0A%0A%20%20%20%20%2F%2F%2F%20tip%20%7C%0A%20%20%20%20%3C!--%20tl%3Bdr%20--%3E%0A%20%20%20%20Ridge%20probes%20fitted%20on%20the%20published%20checkpoints%20of%20the%20four%20D2.1%20conditions%2C%20one%20per%20RGB%20channel%2C%20for%20each%20operand%20and%20for%20the%20answer%2C%20at%20every%20(slice%2C%20position)%20site.%20The%20probes%20find%20nothing%20before%20op2%20in%20any%20condition%2C%20anchored%20or%20not%2C%20so%20the%20off-key%20tilt%20in%20the%20grading%20figures%20is%20a%20property%20of%20the%20probe%20set.%20No%20decodability%20cost%20of%20anchoring%20resolves.%20The%20maps%20also%20show%20the%20bare%20anchor%20giving%20up%20decodability%20in%20the%20late%20slices%2C%20and%20the%20rest%20of%20the%20recipe%20restoring%20it.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Findings%0A%0A%20%20%20%20**H1%20(pre-op2%20ceiling)%20%E2%80%94%20holds.**%20Across%20all%20conditions%2C%20slices%2C%20and%20channels%2C%20the%20largest%20pre-op2%20seed-mean%20strict%20R%C2%B2%20for%20the%20op2%20target%20is%20%E2%88%920.56.%20That%20is%20well%20under%20the%20gate%20of%200.12.%20Every%20condition%20reads%20at%20or%20below%20the%20no-information%20floor%20that%20the%20fold%20design%20sets.%0A%0A%20%20%20%20%3C!--%20REVIEW%3A%20results%20round%20changed%20H1's%20summary%20line%20from%20%22sits%20at%20the%20no-information%20floor%22%20to%20%22at%20or%20below%22%20%E2%80%94%20the%20op1%20sites%20read%20%E2%88%921.59%20to%20%E2%88%921.34%2C%20below%20the%20%E2%88%920.56%20floor%2C%20which%20the%20H1%20analysis%20attributes%20to%20within-fold%20extrapolation.%20Verify%3A%20the%20pre-op2%20minimum%20quoted%20in%20the%20H1%20section.%20--%3E%0A%0A%20%20%20%20**H2%20(decodability)%20%E2%80%94%20not%20resolved.**%20The%20R%20channel%20misses%20the%20one-sided%200.10%20gate%20at%20all%20three%20sites%2C%20by%200.12%20to%200.18%2C%20and%20every%20miss%20falls%20inside%20the%20preregistered%20resolution%20band%2C%20which%20runs%20from%200.53%20to%200.96%20(twice%20the%20pooled%20seed%20spread%3B%20both%20groups%20vary%20a%20lot%20from%20seed%20to%20seed%2C%20the%20control%20somewhat%20more).%20G%20and%20B%20pass%20the%20gate%20outright%20at%20every%20site%2C%20reading%20higher%20in%20the%20primary%20condition%20than%20in%20the%20scoring%20seeds%20of%20the%20control.%0A%0A%20%20%20%20%3C!--%20REVIEW%3A%20results%20round%20changed%20H2's%20verdict%20from%20%22holds%22%20to%20%22not%20resolved%22%20%E2%80%94%20the%20frozen%20rule%20turns%20an%20in-band%20miss%20into%20%22not%20resolved%22%2C%20never%20into%20a%20pass%2C%20and%20R%20missed%20at%20all%20three%20sites%2C%20so%20the%20universal%20per-channel%20claim%20is%20neither%20established%20nor%20refuted.%20Verify%3A%20the%20H2%20section's%20verdict%20line%20and%20the%20discussion%20say%20the%20same.%20--%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20How%20to%20read%20this%20report%0A%20%20%20%20Preregistered%3A%20the%20hypotheses%20and%20their%20gates%20were%20frozen%20at%20the%20commit%20that%20added%20this%20file%20(%60cdd18b46%60)%2C%20before%20the%20run.%20Results%20replaced%20the%20placeholders%20in%20place%2C%20and%20analyses%20conceived%20after%20seeing%20the%20data%20sit%20under%20%5BExploratory%20analyses%5D(%23exploratory-analyses)%2C%20marked%20post%20hoc.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%23%23%20Why%20this%20experiment%0A%0A%20%20%20%20The%20%CE%B1%20maps%20of%20%5Bthe%20D2.1%20figures%20page%5D(..%2Fd2.1%2Freport.py)%20key%20one%20measurement%20by%20either%20operand's%20color%2C%20and%20wherever%20a%20condition%20responds%20at%20all%2C%20the%20slot%20that%20is%20*not*%20the%20key%20tilts%20too.%5B%5Ealpha%5D%20For%20the%20slots%20that%20precede%20op2%20that%20tilt%20cannot%20be%20a%20response%3A%20attention%20is%20causal%2C%20so%20the%20state%20above%20the%20first%20token%20is%20a%20function%20of%20that%20token%20alone%2C%20and%20the%20tilt%20is%20the%20on-key%20response%20composed%20through%20the%20probe%20set%20%E2%80%94%20a%20pair%20is%20on%20the%20set%20only%20if%20its%20mix%20lands%20back%20on%20the%20color%20grid%2C%20which%20correlates%20a%20color%20with%20its%20partners.%20The%20%CE%B1%20statistic%20cannot%20show%20this%20cleanly%2C%20because%20it%20reads%20alignment%20with%20the%20anchor%20axis%2C%20which%20the%20un-anchored%20control%20ignores%3B%20its%20panels%20are%20flat%20for%20lack%20of%20any%20response%20to%20compose%2C%20and%20a%20reader%20cannot%20tell%20the%20composition%20story%20from%20the%20alignment%20story%20by%20looking.%0A%0A%20%20%20%20%5B%5Ealpha%5D%3A%20%CE%B1%20is%20the%20cosine%20between%20the%20residual%20stream%20(the%20running%20vector%20each%20layer%20reads%20from%20and%20writes%20back%20to)%20and%20the%20anchor%20axis%2C%20the%20direction%20the%20concept%20is%20trained%20toward.%0A%0A%20%20%20%20Fitted%20probes%20remove%20that%20asymmetry.%20A%20probe%20fit%20at%20a%20site%20reads%20whatever%20color%20representation%20the%20model%20keeps%20there%2C%20whether%20that%20is%20the%20anchored%20one%20or%20the%20model's%20own.%20That%20puts%20every%20condition%20on%20the%20same%20footing%3A%20whatever%20any%20of%20them%20shows%20at%20the%20sites%20that%20precede%20op2%20is%20capped%20by%20the%20information%20ceiling%20of%20the%20pairing%2C%20computable%20in%20advance%20(H1)%2C%20and%20how%20much%20of%20that%20ceiling%20a%20condition%20reaches%20is%20a%20property%20of%20its%20embedding%20geometry%20rather%20than%20of%20anchoring.%20%5BEx-2.1.5%5D(..%2Fex-2.1.5%2Freport.py)%20ran%20the%20same%20kind%20of%20scan%20on%20an%20un-anchored%20two-form%20model%2C%20and%20there%20the%20op2%20probes%20read%20zero%20at%20op1%20sites.%20That%20experiment%20sampled%20its%20lines%20over%20distinct%20operand%20pairs%2C%20so%20the%20operands%20were%20all%20but%20uncorrelated%20and%20the%20ceiling%20was%20effectively%20zero.%20Comparing%20the%20two%20probe%20sets%20is%20what%20makes%20the%20case%3A%20the%20tilt%20follows%20the%20pairing%2C%20and%20the%20model%20has%20no%20say%20at%20these%20sites.%0A%0A%20%20%20%20The%20same%20scan%20answers%20a%20question%20the%20D2.1%20experiments%20left%20open.%20Anchoring%20reshapes%20the%20stream%20%E2%80%94%20that%20is%20what%20it%20is%20for%20%E2%80%94%20and%20the%20task%20gates%20only%20showed%20that%20*accuracy*%20survives.%20Whether%20the%20ordinary%2C%20linearly%20readable%20color%20geometry%20survives%20too%20is%20the%20bounded-side-effects%20claim%20read%20through%20a%20probe%2C%20and%20per-channel%20R%C2%B2%20maps%20against%20the%20un-anchored%20control%20measure%20it%20(H2).%0A%0A%20%20%20%20%23%23%20Method%0A%0A%20%20%20%20No%20training.%20Every%20run%20is%20a%20published%20checkpoint%20of%20the%20four%20D2.1%20conditions%2C%20probed%20on%20its%20own%20experiment's%20published%20probe%20set%20(the%20four%20sets%20are%20identical%2C%20which%20the%20pipeline%20asserts)%3A%205%2C832%20lines%2C%20every%20color%20as%20op1%20against%20each%20of%20the%2027%20partners%20whose%20mix%20stays%20on%20the%20grid.%0A%0A%20%20%20%20**Sites%20and%20targets.**%20The%20residual%20stream%20is%20captured%20at%205%20slices%20(embedding%2C%20then%20each%20of%20the%204%20layers)%20%C3%97%206%20token%20positions%20(%60op1%20%2B%20op2%20%3D%20ans%20%5Cn%60).%20At%20each%20site%2C%20ridge%20probes%20(%E2%84%93%E2%82%82%20%3D%2010%E2%81%BB%C2%B2)%20decode%20three%20targets%3A%20the%20RGB%20triple%20of%20op1%2C%20of%20op2%2C%20and%20of%20the%20answer.%20Probes%20are%20fit%20and%20scored%20per%20site%20independently%2C%20as%20in%20ex-2.1.5.%0A%0A%20%20%20%20**Holdout.**%20The%20strict%20per-value%20protocol%20of%20ex-2.1.5%20(%60sca.compute.geometry.strict_r2%60)%3A%20to%20score%20a%20channel%20at%20a%20level%2C%20every%20line%20holding%20that%20level%20in%20that%20channel%20of%20*any*%20role%20%E2%80%94%20either%20operand%20or%20the%20answer%20%E2%80%94%20leaves%20the%20fit%20together%2C%20so%20the%20probe%20must%20place%20an%20unseen%20level%20from%20the%20others.%20R%C2%B2%20is%20reported%20per%20channel%20from%20the%20out-of-fold%20predictions%2C%20and%20the%20prediction%20curves%20the%20figures%20draw%20are%20those%20same%20out-of-fold%20predictions%2C%20averaged%20per%20color%20keyed%20by%20either%20operand%20in%20turn%20(the%20two%20margins%20the%20D2.1%20figures%20use).%0A%0A%20%20%20%20**Teacher%20forcing.**%20The%20ans%20and%20%60%5Cn%60%20positions%20have%20the%20answer%20token%20in%20the%20input%2C%20so%20readings%20there%20include%20what%20the%20token%20itself%20carries%3B%20the%20embedding%20row%20is%20the%20surface-text%20control%2C%20as%20in%20ex-2.1.5.%0A%0A%20%20%20%20**Noise%20floor.**%20The%20primary%20condition%20has%20nine%20seeds%20and%20the%20others%20three.%20The%20pooled%20between-seed%20standard%20deviation%20of%20per-site%20R%C2%B2%2C%20computed%20per%20condition%20before%20any%20comparison%20is%20read%2C%20sets%20the%20resolution%3A%20a%20difference%20smaller%20than%20twice%20that%20floor%20is%20reported%20as%20not%20resolved.%0A%0A%20%20%20%20%23%23%23%20Conditions%0A%0A%20%20%20%20The%20four%20conditions%20of%20the%20D2.1%20progression%2C%20from%20their%20published%20checkpoints%3A%20the%20un-anchored%20control%20and%20the%20bare%20anchor%20at%20%CE%BB%20%3D%200.1%20(ex-2.1.6%2C%203%20seeds%20each)%2C%20the%20anchor%20plus%20the%20anti-subspace%20term%20at%20its%20tuned%20operating%20point%20(ex-2.1.8%20%60end90-hold30%60%2C%203%20seeds)%2C%20and%20the%20full%20recipe%20with%20pooled%20either-operand%20labels%20(ex-2.1.10%20%60either-t100%60%2C%209%20seeds).%0A%0A%20%20%20%20%23%23%20Hypotheses%0A%0A%20%20%20%20-%20**H1.**%20At%20the%20two%20sites%20that%20precede%20op2%20%E2%80%94%20the%20op1%20and%20%60%2B%60%20positions%2C%20every%20slice%20%E2%80%94%20the%20seed-mean%20strict%20R%C2%B2%20of%20the%20op2-target%20probe%20stays%20below%200.12%20in%20every%20condition%20and%20every%20channel.%20This%20is%20deliberately%20a%20protocol%20check%20rather%20than%20a%20discovery%3A%20the%20state%20at%20these%20sites%20is%20a%20function%20of%20the%20tokens%20before%20op2%2C%20so%20the%20best%20any%20probe%20can%20do%20is%20E%5Bop2%20%7C%20op1%5D%2C%20and%20the%20closure%20rule%20caps%20that%20at%20R%C2%B2%20%3D%200.25%20%2F%20(35%2F12)%20%E2%89%88%200.086%20per%20channel%2C%20whatever%20the%20model%3B%20the%20gate%20adds%20margin%20for%20estimation%20noise.%20A%20reading%20at%20or%20above%200.12%20would%20mean%20the%20probe%20found%20more%20op2%20information%20before%20op2%20than%20the%20pairing%20supplies%20%E2%80%94%20a%20leak%20in%20the%20protocol%20or%20a%20misread%20of%20the%20probe%20set.%20No%20lower%20gate%20is%20stated%2C%20because%20every%20outcome%20below%20the%20ceiling%20is%20consistent%20with%20the%20bookkeeping%20account%3A%20how%20much%20of%20the%20ceiling%20each%20condition%20reaches%20is%20a%20property%20of%20its%20embedding%20geometry%20(how%20linearly%20it%20exposes%20level%20parity)%2C%20read%20descriptively%20under%20E1%2C%20and%20a%20cross-condition%20difference%20there%20would%20be%20an%20observation%20about%20geometry%20that%20does%20not%20reopen%20the%20causal%20question.%0A%20%20%20%20%20%20%3C!--%20REVIEW%3A%20prereg%20round%20asked%20for%20a%20lower%20or%20similarity%20gate%20on%20H1%2C%20since%20the%20upper%20gate%20alone%20cannot%20fail%20without%20a%20bug.%20Resolved%20the%20other%20way%3A%20H1%20now%20says%20plainly%20that%20it%20is%20a%20protocol%20check%2C%20and%20the%20cross-condition%20comparison%20moved%20to%20E1%20as%20descriptive%20%E2%80%94%20a%20floor%20would%20score%20how%20linearly%20each%20embedding%20exposes%20parity%2C%20which%20is%20not%20the%20claim%20under%20test.%20Verify%3A%20the%20H1%20analysis's%20contrary%20reading%20matches%20this%20scope.%20--%3E%0A%20%20%20%20-%20**H2.**%20Anchoring%20does%20not%20cost%20linear%20color%20decodability%20where%20the%20control%20has%20it.%20Site%20selection%20is%20separated%20from%20scoring%20so%20the%20selection%20noise%20stays%20off%20the%20gate%3A%20for%20each%20target%2C%20the%20comparison%20site%20is%20the%20(slice%2C%20position)%20with%20the%20best%20strict%20R%C2%B2%20(mean%20over%20channels)%20in%20the%20map%20of%20the%20control's%20seed%200%20alone%2C%20ties%20broken%20toward%20the%20earlier%20slice%20and%20then%20the%20earlier%20position%2C%20among%20targets%20whose%20selection%20map%20reaches%20R%C2%B2%20%E2%89%A5%200.5%20(a%20target%20below%20that%20is%20reported%20unscored).%20The%20score%20then%20compares%20the%20seed-mean%20of%20the%20control's%20remaining%20seeds%20against%20the%20seed-mean%20of%20all%20nine%20primary%20seeds.%20At%20each%20selected%20site%2C%20the%20primary's%20per-channel%20R%C2%B2%20comes%20within%200.10%20of%20the%20control's%20(one-sided%3A%20the%20primary%20may%20exceed%20it).%20A%20miss%20smaller%20than%20twice%20the%20pooled%20between-seed%20standard%20deviation%20at%20that%20site%20is%20reported%20as%20not%20resolved%20rather%20than%20as%20a%20failure.%20Partial%3A%20exactly%20one%20channel%20of%20one%20target%20misses%20by%20more%20than%20that%20and%20by%20no%20more%20than%200.2.%20The%20intermediate%20conditions%20are%20reported%20at%20the%20same%20sites%20without%20a%20gate.%0A%20%20%20%20%20%20%3C!--%20REVIEW%3A%20prereg%20round%20flagged%20the%20original%20argmax-over-30-sites%20on%20the%20control's%20own%203-seed%20mean%20as%20loading%20the%20one-sided%20gate%20against%20the%20primary%20(selection%20inflates%20the%20control%20at%20the%20chosen%20site).%20Resolved%20by%20selecting%20on%20control%20seed%200%20and%20scoring%20on%20seeds%201%E2%80%932%3B%20ties%20get%20a%20fixed%20break%3B%20the%20method's%20noise%20floor%20now%20decides%20%22not%20resolved%22%20for%20near-gate%20misses.%20Verify%3A%20the%20analysis%20never%20lets%20the%20selection%20seed%20into%20the%20scored%20mean.%20--%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20_loaded%20%3D%20load_npz(ex.ARRAYS_REF)%0A%20%20%20%20mo.stop(_loaded%20is%20None%2C%20mo.md(%22_Results%20are%20not%20published%20yet%3B%20the%20analysis%20renders%20once%20they%20are._%22))%0A%20%20%20%20assert%20_loaded%20is%20not%20None%0A%20%20%20%20arrays%3A%20dict%5Bstr%2C%20np.ndarray%5D%20%3D%20_loaded%0A%20%20%20%20%23%20(seeds%2C%20slices%2C%20positions%2C%20channels)%20strict%20R%C2%B2%2C%20per%20condition%20%C3%97%20target.%0A%20%20%20%20r2%20%3D%20%7B%0A%20%20%20%20%20%20%20%20(c.key%2C%20t)%3A%20np.stack(%5Barrays%5Bf%22%7Bc.key%7D%2Fs%7Bi%7D%2Fr2_strict_ch%22%5D%20for%20i%20in%20range(c.seeds)%5D)%5B%3A%2C%20%3A%2C%20%3A%2C%20ti%2C%20%3A%5D%0A%20%20%20%20%20%20%20%20for%20c%20in%20ex.CONDITIONS%0A%20%20%20%20%20%20%20%20for%20ti%2C%20t%20in%20enumerate(ex.TARGETS)%0A%20%20%20%20%7D%0A%20%20%20%20return%20arrays%2C%20r2%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20The%20maps%0A%0A%20%20%20%20One%20figure%20per%20condition%20carries%20every%20reading%20the%20sections%20below%20score%3A%20its%20three%20panels%20are%20the%20probe%20targets%2C%20and%20within%20a%20panel%20the%20slices%20stack%20upward%20from%20the%20embedding%2C%20as%20the%20%CE%B1%20grids%20on%20the%20figures%20page%20do.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(r2)%3A%0A%20%20%20%20%23%20Takeaway%20first%3A%20what%20each%20figure%20shows%2C%20not%20an%20inventory%20of%20what%20is%20drawn.%0A%20%20%20%20_ALT%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%22ex-2.1.6%2Flam0%22%3A%20%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20Each%20panel%20decodes%20its%20own%20token%20and%20nothing%20that%20precedes%20it%3A%20op1%20and%20op2%20read%20about%200.7%20at%20their%20own%20slot%20in%20every%20slice%2C%20and%20the%20answer's%20color%20climbs%20at%20the%20equals%20slot%2C%20with%20a%20small%20step%20at%20op2%20in%20the%20upper%20slices.%20In%20the%20op2%20panel%20the%20two%20slots%20before%20op2%20lie%20flat%20on%20the%20floor.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20%22ex-2.1.6%2Flam0.1%22%3A%20%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20The%20same%20shape%2C%20except%20that%20the%20op2%20panel%20fades%20going%20up%20the%20stack%3A%20its%20own%20slot%20reads%20about%200.84%20at%20the%20embedding%20and%20almost%20nothing%20by%20the%20last%20slice.%20The%20two%20slots%20before%20op2%20lie%20flat%20on%20the%20floor%20there%2C%20as%20in%20every%20condition.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20%22ex-2.1.8%2Fend90-hold30%22%3A%20%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20About%20half%20of%20that%20late-slice%20fade%20is%20repaired%3A%20op2's%20own%20slot%20holds%200.75%20at%20the%20embedding%20and%200.32%20at%20the%20last%20slice%2C%20where%20the%20bare%20anchor%20gave%20up%20nearly%20all%20of%20it.%20The%20two%20slots%20before%20op2%20lie%20flat%20on%20the%20floor.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20%22ex-2.1.10%2Feither-t100%22%3A%20%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20No%20fade%20left%3A%20op2's%20own%20slot%20holds%200.6%20to%200.8%20through%20every%20slice%2C%20as%20it%20does%20un-anchored%2C%20and%20the%20nine-seed%20envelope%20marks%20sit%20close%20to%20the%20channel%20marks.%20The%20two%20slots%20before%20op2%20lie%20flat%20on%20the%20floor.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%7D%0A%0A%20%20%20%20def%20_maps(cond%3A%20ex.Condition)%20-%3E%20str%3A%0A%20%20%20%20%20%20%20%20%40themed(%0A%20%20%20%20%20%20%20%20%20%20%20%20name%3Df%22probe-channel-maps-%7Bcond.exp%7D-%7Bcond.name%7D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20alt_text%3D_ALT%5Bcond.key%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20caption%3Drf%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**%7Bcond.title%7D**%20(%7Bcond.exp%7D%2C%20%60%7Bcond.name%7D%60%2C%20%7Bcond.seeds%7D%20seeds).%20Per-channel%20strict%20probe%20R%C2%B2%20at%20every%20site%3A%20one%20row%20per%20residual%20slice%2C%20with%20the%20embedding%20at%20the%20bottom%2C%20and%20the%20six%20token%20positions%20across.%20Each%20RGB%20channel%20draws%20as%20a%20mark%20per%20site%20over%20the%20grey%20area%20of%20their%20mean%2C%20with%20faint%20risers%20between%20them%2C%20since%20the%20sites%20are%20where%20the%20measurements%20are%3B%20the%20grey%20marks%20are%20the%20seed%20envelope%2C%20so%20where%20the%20seeds%20disagree%20they%20stand%20off%20the%20silhouette.%20The%20three%20panels%20decode%20three%20targets%2C%20and%20the%20bold%20slot%20on%20the%20x%20axis%20is%20the%20token%20whose%20color%20that%20panel%20reads.%20Negative%20scores%20clip%20to%20the%20floor%20%E2%80%94%20a%20probe%20that%20does%20worse%20than%20predicting%20the%20mean%20has%20failed%2C%20and%20the%20H1%20prose%20carries%20the%20raw%20values.%20Each%20row%20spans%20the%20same%200%E2%80%931%20scale%2C%20ticked%20once%20at%20the%20bottom%20right.%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20def%20_plot()%20-%3E%20plt.Figure%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20probe_grids(%7BTARGET_TITLES%5Bt%5D%3A%20(r2%5Bcond.key%2C%20t%5D%2C%20p)%20for%20t%2C%20p%20in%20ex.TARGETS.items()%7D)%0A%0A%20%20%20%20%20%20%20%20return%20_plot()%0A%0A%20%20%20%20for%20c%20in%20mo.status.progress_bar(ex.CONDITIONS%2C%20title%3D%22Rendering%20charts%22%2C%20remove_on_exit%3DTrue%2C%20show_eta%3DTrue)%3A%0A%20%20%20%20%20%20%20%20mo.output.append(mo.md(f%22%23%23%23%20%7Bc.title%7D%5Cn%5Cn%7B_maps(c)%7D%22))%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(r2)%3A%0A%20%20%20%20%23%20Pre-op2%20readings%20for%20the%20op2%20target%3A%20(slices%2C%202%20positions%2C%20channels)%20per%20condition.%0A%20%20%20%20_pre%20%3D%20%7Bc.key%3A%20r2%5Bc.key%2C%20%22op2%22%5D.mean(0)%5B%3A%2C%20list(ex.PRE_OP2)%2C%20%3A%5D%20for%20c%20in%20ex.CONDITIONS%7D%0A%20%20%20%20_mx%20%3D%20max(float(v.max())%20for%20v%20in%20_pre.values())%0A%20%20%20%20%23%20The%20constant-state%20site%3A%20the%20'%2B'%20position%20at%20the%20embedding.%0A%20%20%20%20_plus_emb%20%3D%20%5Bfloat(v%5B0%2C%201%5D.max())%20for%20v%20in%20_pre.values()%5D%0A%20%20%20%20_op1_lo%20%3D%20min(float(v%5B%3A%2C%200%5D.min())%20for%20v%20in%20_pre.values())%0A%20%20%20%20_op1_hi%20%3D%20max(float(v%5B%3A%2C%200%5D.max())%20for%20v%20in%20_pre.values())%0A%20%20%20%20_agree%20%3D%20%22exactly%22%20if%20max(_plus_emb)%20%3D%3D%20min(_plus_emb)%20else%20f%22to%20%7Bmax(_plus_emb)%20-%20min(_plus_emb)%3A.1e%7D%22%0A%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%23%23%20The%20off-key%20ceiling%20(H1)%0A%0A%20%20%20%20**H1%20holds%2C%20and%20the%20gate%20is%20not%20approached.**%20Over%20every%20condition%2C%20slice%2C%20and%20channel%2C%20the%20largest%20pre-op2%20reading%20for%20the%20op2%20target%20is%20%7B_mx%3A%2B.2f%7D%2C%20against%20a%20gate%20of%20%7Bex.H1_GATE%7D.%20The%20maps%20clip%20negatives%20to%20the%20floor%2C%20so%20the%20raw%20values%20are%20quoted%20here%3B%20the%20sign%20is%20what%20matters.%0A%0A%20%20%20%20Under%20this%20holdout%2C%20a%20probe%20with%20no%20information%20cannot%20even%20reach%20R%C2%B2%20%3D%200.%20Scoring%20a%20level%20removes%20every%20line%20carrying%20it%20from%20the%20fit%2C%20so%20such%20a%20probe%20predicts%20the%20training%20mean%20of%20each%20fold%2C%20and%20that%20mean%20sits%20away%20from%20the%20held-out%20level%20by%20construction.%20On%20this%20level%20structure%20it%20lands%20at%20%E2%88%920.56.%20The%20fold%20combinatorics%20fix%20that%20number%2C%20not%20any%20model.%0A%0A%20%20%20%20A%20site%20whose%20state%20never%20varies%20pins%20the%20same%20number%20empirically.%20At%20the%20embedding%2C%20the%20%60%2B%60%20state%20is%20a%20single%20token%20embedding%2C%20and%20it%20is%20a%20different%20vector%20in%20every%20condition.%20Even%20so%2C%20all%20four%20conditions%20read%20%7Bmin(_plus_emb)%3A.4f%7D%20there%2C%20agreeing%20%7B_agree%7D.%20The%20op1%20sites%20read%20lower%20still%2C%20%7B_op1_lo%3A.2f%7D%20to%20%7B_op1_hi%3A.2f%7D.%20At%20those%20sites%20the%20probe%20can%20read%20the%20level%20of%20op1%20itself%20and%20extrapolate%20op2%20from%20the%20within-fold%20regression%2C%20and%20under%20this%20holdout%20that%20extrapolation%20points%20the%20wrong%20way.%20E1%20traces%20the%20mechanism.%0A%0A%20%20%20%20So%20no%20condition%2C%20anchored%20or%20not%2C%20carries%20op2%20information%20that%20a%20linear%20probe%20can%20use%20before%20op2.%20The%20off-key%20tilt%20in%20the%20%CE%B1%20maps%20comes%20from%20the%20pairing%20of%20the%20probe%20set%2C%20as%20the%20figures%20page%20reads%20it.%0A%0A%20%20%20%20%3C!--%20REVIEW%3A%20the%20prereg%20placeholder%20asked%20for%20a%20per-condition%20%C3%97%20channel%20table%20of%20the%20deciding%20maxima%20and%20a%20rule%20at%20the%200.086%20ceiling%20on%20the%20figure.%20Both%20dropped%3A%20every%20value%20is%20negative%2C%20the%20twelve%20tabulated%20cells%20would%20all%20read%20%E2%88%920.56%20(the%20maxima%20land%20on%20the%20same%20constant-state%20site%20everywhere)%2C%20and%20a%20ceiling%20rule%20cannot%20be%20drawn%20on%20a%20map%20that%20clips%20negatives%20to%20the%20floor.%20The%20prose%20quotes%20the%20maximum%2C%20the%20cross-condition%20identity%2C%20and%20the%20per-site%20ranges%20instead.%20Verify%3A%20the%20quoted%20maximum%20stands%20in%20for%20the%20table's%20every%20entry.%20--%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(r2)%3A%0A%20%20%20%20_ctrl%2C%20_prim%20%3D%20ex.CONDITIONS%5B0%5D%2C%20ex.CONDITIONS%5B-1%5D%0A%20%20%20%20_inter%20%3D%20ex.CONDITIONS%5B1%3A3%5D%0A%20%20%20%20_CH%20%3D%20%22RGB%22%0A%0A%20%20%20%20class%20_Row(NamedTuple)%3A%0A%20%20%20%20%20%20%20%20%22%22%22One%20target's%20deciding%20comparison%3A%20per-channel%20readings%20at%20the%20site%20the%20control%20picked.%22%22%22%0A%0A%20%20%20%20%20%20%20%20t%3A%20str%0A%20%20%20%20%20%20%20%20site%3A%20str%0A%20%20%20%20%20%20%20%20sel%3A%20float%0A%20%20%20%20%20%20%20%20ctrl%3A%20np.ndarray%0A%20%20%20%20%20%20%20%20prim%3A%20np.ndarray%0A%20%20%20%20%20%20%20%20gap%3A%20np.ndarray%0A%20%20%20%20%20%20%20%20band%3A%20float%0A%20%20%20%20%20%20%20%20inter%3A%20dict%5Bstr%2C%20np.ndarray%5D%0A%0A%20%20%20%20_rows%3A%20list%5B_Row%5D%20%3D%20%5B%5D%0A%20%20%20%20for%20_t%20in%20ex.TARGETS%3A%0A%20%20%20%20%20%20%20%20_m%20%3D%20r2%5B_ctrl.key%2C%20_t%5D%0A%20%20%20%20%20%20%20%20_sel%20%3D%20_m%5Bex.H2_SELECT_SEED%5D.mean(-1)%0A%20%20%20%20%20%20%20%20_si%2C%20_pi%20%3D%20np.unravel_index(int(np.argmax(_sel))%2C%20_sel.shape)%0A%20%20%20%20%20%20%20%20_c%20%3D%20_m%5Bnp.arange(len(_m))%20!%3D%20ex.H2_SELECT_SEED%5D%5B%3A%2C%20_si%2C%20_pi%2C%20%3A%5D%0A%20%20%20%20%20%20%20%20_p%20%3D%20r2%5B_prim.key%2C%20_t%5D%5B%3A%2C%20_si%2C%20_pi%2C%20%3A%5D%0A%20%20%20%20%20%20%20%20_band%20%3D%202%20*%20float(np.sqrt((_c.var(0%2C%20ddof%3D1).mean()%20%2B%20_p.var(0%2C%20ddof%3D1).mean())%20%2F%202))%0A%20%20%20%20%20%20%20%20_rows.append(_Row(%0A%20%20%20%20%20%20%20%20%20%20%20%20t%3D_t%2C%20site%3Df%22slice%20%7B_si%7D%2C%20%7BPOS_NAMES%5B_pi%5D%7D%22%2C%20sel%3Dfloat(_sel%5B_si%2C%20_pi%5D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20ctrl%3D_c.mean(0)%2C%20prim%3D_p.mean(0)%2C%20gap%3D_c.mean(0)%20-%20_p.mean(0)%2C%20band%3D_band%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20inter%3D%7Bc.title%3A%20r2%5Bc.key%2C%20_t%5D.mean(0)%5B_si%2C%20_pi%5D%20for%20c%20in%20_inter%7D%2C%0A%20%20%20%20%20%20%20%20))%20%20%23%20fmt%3A%20skip%0A%20%20%20%20assert%20all(r.sel%20%3E%3D%20ex.H2_MIN_CONTROL%20for%20r%20in%20_rows)%2C%20%22an%20unscored%20target%20needs%20its%20row%20marked%22%0A%0A%20%20%20%20def%20_num(v%3A%20float%2C%20bold%3A%20bool%20%3D%20False)%20-%3E%20str%3A%0A%20%20%20%20%20%20%20%20s%20%3D%20f%22%7Bv%3A%2B.2f%7D%22%0A%20%20%20%20%20%20%20%20return%20f%22%3Cstrong%3E%7Bs%7D%3C%2Fstrong%3E%22%20if%20bold%20else%20s%0A%0A%20%20%20%20def%20_table()%20-%3E%20str%3A%0A%20%20%20%20%20%20%20%20head%20%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%3Ctr%3E%3Cth%3Etarget%3C%2Fth%3E%3Cth%3Esite%20(control's%20pick)%3C%2Fth%3E%3Cth%3Econdition%3C%2Fth%3E%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Cth%20class%3D%22num%22%3E%7Bch%7D%3C%2Fth%3E'%20for%20ch%20in%20_CH)%0A%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Cth%20class%3D%22num%22%3E%CE%94%7Bch%7D%20%E2%86%93%3C%2Fth%3E'%20for%20ch%20in%20_CH)%0A%20%20%20%20%20%20%20%20%20%20%20%20%2B%20'%3Cth%20class%3D%22num%22%3E2%C3%97%CF%83%3C%2Fth%3E%3C%2Ftr%3E'%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20body%20%3D%20%22%22%0A%20%20%20%20%20%20%20%20for%20r%20in%20_rows%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20n%20%3D%202%20%2B%20len(r.inter)%0A%20%20%20%20%20%20%20%20%20%20%20%20body%20%2B%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f'%3Ctr%3E%3Ctd%20rowspan%3D%22%7Bn%7D%22%3E%7Br.t%7D%3C%2Ftd%3E%3Ctd%20rowspan%3D%22%7Bn%7D%22%3E%7Br.site%7D%3C%2Ftd%3E'%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%3Ctd%3Eun-anchored%20(seeds%201%E2%80%932)%3C%2Ftd%3E%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Ctd%20class%3D%22num%22%3E%7B_num(v)%7D%3C%2Ftd%3E'%20for%20v%20in%20r.ctrl)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20'%3Ctd%20class%3D%22num%22%3E%3C%2Ftd%3E'%20*%203%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20'%3Ctd%20class%3D%22num%22%3E%3C%2Ftd%3E%3C%2Ftr%3E'%0A%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20title%2C%20vals%20in%20r.inter.items()%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20body%20%2B%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%22%3Ctr%3E%3Ctd%3E%7Btitle%7D%3C%2Ftd%3E%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Ctd%20class%3D%22num%22%3E%7B_num(v)%7D%3C%2Ftd%3E'%20for%20v%20in%20vals)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20'%3Ctd%20class%3D%22num%22%3E%3C%2Ftd%3E'%20*%204%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%3C%2Ftr%3E%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%20%20%20%20body%20%2B%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%22%3Ctr%3E%3Ctd%3E%7B_prim.title%7D%20(primary)%3C%2Ftd%3E%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Ctd%20class%3D%22num%22%3E%7B_num(v)%7D%3C%2Ftd%3E'%20for%20v%20in%20r.prim)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%22.join(f'%3Ctd%20class%3D%22num%22%3E%7B_num(g%2C%20bold%3Dg%20%3C%3D%20ex.H2_GATE)%7D%3C%2Ftd%3E'%20for%20g%20in%20r.gap)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20f'%3Ctd%20class%3D%22num%22%3E%7Br.band%3A.2f%7D%3C%2Ftd%3E%3C%2Ftr%3E'%0A%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20return%20f'%3Cdiv%20class%3D%22report-table-scroll%22%3E%3Ctable%20class%3D%22report-table%22%3E%7Bhead%7D%7Bbody%7D%3C%2Ftable%3E%3C%2Fdiv%3E'%0A%0A%20%20%20%20_misses%20%3D%20%5B(r.t%2C%20ch%2C%20float(g)%2C%20r.band)%20for%20r%20in%20_rows%20for%20ch%2C%20g%20in%20zip(_CH%2C%20r.gap%2C%20strict%3DTrue)%20if%20g%20%3E%20ex.H2_GATE%5D%20%20%23%20fmt%3A%20skip%0A%20%20%20%20assert%20all(g%20%3C%20band%20for%20_%2C%20_%2C%20g%2C%20band%20in%20_misses)%2C%20%22a%20resolved%20miss%20would%20change%20the%20verdict%22%0A%20%20%20%20_gb_excess%20%3D%20max(float(-r.gap%5Bk%5D)%20for%20r%20in%20_rows%20for%20k%20in%20(1%2C%202))%0A%20%20%20%20_ctrl_spread%20%3D%20sorted(float(v)%20for%20v%20in%20r2%5B_ctrl.key%2C%20%22op1%22%5D%5B%3A%2C%201%2C%200%2C%20%3A%5D.mean(-1))%0A%20%20%20%20_prim_spread%20%3D%20sorted(float(v)%20for%20v%20in%20r2%5B_prim.key%2C%20%22op1%22%5D%5B%3A%2C%201%2C%200%2C%20%3A%5D.mean(-1))%0A%0A%20%20%20%20mo.vstack(%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%20Decodability%20under%20anchoring%20(H2)%0A%0A%20%20%20%20%20%20%20%20The%20deciding%20comparison%20is%20one%20row%20per%20condition%20per%20target%2C%20at%20the%20site%20the%20control's%20selection%20seed%20picked%20for%20that%20target.%0A%20%20%20%20%20%20%20%20%22%22%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20figure_html(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20_table()%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20caption%3Drf%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**The%20H2%20comparison%20at%20the%20control-chosen%20sites.**%20%CE%94%20is%20the%20control's%20scoring-seed%20mean%20minus%20the%20condition's%20seed-mean%2C%20per%20channel%2C%20for%20the%20gated%20(primary)%20row%20only%3B%20lower%20is%20better%20and%20values%20at%20or%20below%20the%20one-sided%20gate%20of%20%7Bex.H2_GATE%7D%20are%20bold.%202%C3%97%CF%83%20is%20twice%20the%20pooled%20between-seed%20standard%20deviation%20at%20the%20site%20%E2%80%94%20the%20preregistered%20resolution%3A%20a%20positive%20%CE%94%20smaller%20than%20it%20reads%20as%20not%20resolved.%20The%20intermediate%20conditions%20carry%20no%20gate.%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20aria_label%3D%22H2%20decodability%20comparison%20table%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%20%20%20%20**H2%20does%20not%20resolve.**%20The%20R%20channel%20misses%20the%20%7Bex.H2_GATE%7D%20gate%20at%20all%20three%20sites%2C%20by%20%7Bmin(g%20for%20_%2C%20_%2C%20g%2C%20_%20in%20_misses)%3A.2f%7D%20to%20%7Bmax(g%20for%20_%2C%20_%2C%20g%2C%20_%20in%20_misses)%3A.2f%7D.%20Every%20miss%20sits%20far%20inside%20its%20resolution%20band%2C%20so%20under%20the%20frozen%20rule%20each%20reads%20as%20not%20resolved%20rather%20than%20as%20a%20failure%20%E2%80%94%20and%20never%20as%20a%20pass%2C%20so%20the%20per-channel%20claim%20as%20a%20whole%20is%20neither%20established%20nor%20refuted.%20No%20other%20channel%20misses.%20G%20and%20B%20run%20the%20other%20way%3A%20at%20every%20site%20the%20primary%20condition%20reads%20above%20the%20scoring%20seeds%20of%20the%20control%2C%20by%20up%20to%20%7B_gb_excess%3A.2f%7D.%0A%0A%20%20%20%20%20%20%20%20Seed%20variance%20is%20what%20limits%20the%20comparison%2C%20and%20the%20control%20carries%20slightly%20more%20than%20half%20of%20it.%20Its%20three%20seeds%20disagree%20about%20how%20linearly%20color%20reads%2C%20with%20channel-mean%20R%C2%B2%20at%20the%20op1%20site%20running%20%7B%22%2C%20%22.join(f%22%7Bv%3A.2f%7D%22%20for%20v%20in%20_ctrl_spread)%7D%20across%20them%2C%20and%20its%20scored%20mean%20rests%20on%20two%20seeds%3B%20the%20nine%20primary%20seeds%20span%20%7B_prim_spread%5B0%5D%3A.2f%7D%20to%20%7B_prim_spread%5B-1%5D%3A.2f%7D%20themselves.%20A%20deficit%20would%20have%20had%20to%20be%20about%20half%20an%20R%C2%B2%20unit%20to%20resolve%2C%20so%20only%20a%20large%20cost%20could%20have%20been%20caught.%0A%0A%20%20%20%20%20%20%20%20The%20best%20control%20site%20for%20the%20ans%20target%20is%20the%20ans%20position%20itself%2C%20which%20the%20selection%20rule%20was%20allowed%20to%20pick.%20Teacher%20forcing%20puts%20the%20answer%20token%20in%20the%20input%20there%2C%20so%20both%20models%20read%20the%20embedding%20of%20the%20token%20as%20much%20as%20anything%20they%20computed.%20The%20comparison%20is%20still%20like%20for%20like.%0A%20%20%20%20%20%20%20%20%22%22%22)%2C%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(arrays%3A%20dict%5Bstr%2C%20np.ndarray%5D%2C%20r2)%3A%0A%20%20%20%20_TI%20%3D%20%7Bt%3A%20i%20for%20i%2C%20t%20in%20enumerate(ex.TARGETS)%7D%0A%20%20%20%20_lv%20%3D%20np.rint(GRID_RGB%20*%205).astype(int)%0A%20%20%20%20_sim%20%3D%20sim_to_red(GRID_RGB%2C%20power%3D1.5)%0A%20%20%20%20_zd%20%3D%20load_npz(%22reports%2Fm2%2Fd2.1%2Farrays%22)%0A%0A%20%20%20%20def%20_pred(c%3A%20ex.Condition)%20-%3E%20np.ndarray%3A%0A%20%20%20%20%20%20%20%20%22%22%22Seed-mean%20out-of-fold%20prediction%20margins%20keyed%20by%20op1%3A%20(slices%2C%20colors%2C%20positions%2C%20targets%2C%20ch).%22%22%22%0A%20%20%20%20%20%20%20%20return%20np.mean(%5Barrays%5Bf%22%7Bc.key%7D%2Fs%7Bi%7D%2Fpred_op1%22%5D%20for%20i%20in%20range(c.seeds)%5D%2C%20axis%3D0)%0A%0A%20%20%20%20%23%20E1%3A%20the%20off-key%20prediction%20curve%20at%20the%20op1%20site%2C%20in%20level%20units%2C%20against%20op1's%20R%20level.%0A%20%20%20%20_curves%20%3D%20%7Bc.key%3A%20_pred(c)%5B0%2C%20%3A%2C%200%2C%20_TI%5B%22op2%22%5D%2C%200%5D%20*%205%20for%20c%20in%20ex.CONDITIONS%7D%0A%20%20%20%20_by_level%20%3D%20%7Bk%3A%20np.array(%5Bv%5B_lv%5B%3A%2C%200%5D%20%3D%3D%20i%5D.mean()%20for%20i%20in%20range(6)%5D)%20for%20k%2C%20v%20in%20_curves.items()%7D%0A%20%20%20%20_e1_spread%20%3D%20max(float(np.abs(a%20-%20b).max())%20for%20a%20in%20_by_level.values()%20for%20b%20in%20_by_level.values())%0A%20%20%20%20_e1_ctrl%20%3D%20_by_level%5Bex.CONTROL%5D%0A%0A%20%20%20%20%23%20E2%3A%20on-key%20prediction%20curves%20at%20the%20op1%20site%20vs%20the%20%CE%B1%20lookup%2C%20per%20anchored%20condition.%0A%20%20%20%20_e2%20%3D%20%7B%7D%0A%20%20%20%20if%20_zd%20is%20not%20None%3A%0A%20%20%20%20%20%20%20%20for%20_c%20in%20ex.CONDITIONS%5B1%3A%5D%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20_alpha%20%3D%20np.mean(%5B_zd%5Bf%22%7B_c.key%7D%2Fs%7Bi%7D%2Fop1%22%5D%20for%20i%20in%20range(_c.seeds)%5D%2C%20axis%3D0)%5B%3A%2C%20%3A%2C%200%5D.mean(0)%0A%20%20%20%20%20%20%20%20%20%20%20%20_p%20%3D%20_pred(_c)%5B%3A%2C%20%3A%2C%200%2C%20_TI%5B%22op1%22%5D%2C%20%3A%5D.mean(0)%0A%20%20%20%20%20%20%20%20%20%20%20%20_e2%5B_c.key%5D%20%3D%20%5Bfloat(np.corrcoef(_p%5B%3A%2C%20k%5D%2C%20_alpha)%5B0%2C%201%5D)%20for%20k%20in%20range(3)%5D%20%2B%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20float(np.corrcoef(_alpha%2C%20_sim)%5B0%2C%201%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%0A%20%20%20%20%23%20E3%3A%20emb%20on-key%20prediction%20error%20vs%20the%20affinity%20and%20its%20partner-mean.%0A%20%20%20%20_c1%2C%20_c2%20%3D%20arrays%5B%22probe%2Fpairs%22%5D%5B%3A%2C%200%5D%2C%20arrays%5B%22probe%2Fpairs%22%5D%5B%3A%2C%201%5D%0A%20%20%20%20_pmean_sim%20%3D%20np.bincount(_c2%2C%20_sim%5B_c1%5D)%20%2F%20np.bincount(_c2)%0A%20%20%20%20_e3%20%3D%20%7B%7D%0A%20%20%20%20for%20_c%20in%20ex.CONDITIONS%3A%0A%20%20%20%20%20%20%20%20_err%20%3D%20_pred(_c)%5B0%2C%20%3A%2C%200%2C%20_TI%5B%22op1%22%5D%2C%20%3A%5D%20-%20GRID_RGB%0A%20%20%20%20%20%20%20%20_e3%5B_c.key%5D%20%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20max(abs(float(np.corrcoef(_err%5B%3A%2C%20k%5D%2C%20_pmean_sim)%5B0%2C%201%5D))%20for%20k%20in%20range(3))%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20float(np.corrcoef(_err%5B%3A%2C%200%5D%2C%20_sim)%5B0%2C%201%5D)%2C%0A%20%20%20%20%20%20%20%20)%0A%0A%20%20%20%20%23%20E4%20(post%20hoc)%3A%20channel-mean%20op2%20decodability%20at%20its%20own%20position%2C%20last%20slice.%0A%20%20%20%20_e4%20%3D%20%7Bc.key%3A%20r2%5Bc.key%2C%20%22op2%22%5D%5B%3A%2C%204%2C%202%2C%20%3A%5D.mean(-1)%20for%20c%20in%20ex.CONDITIONS%7D%0A%20%20%20%20_fmt%20%3D%20lambda%20a%3A%20%22%2C%20%22.join(f%22%7Bv%3A%2B.2f%7D%22%20for%20v%20in%20a)%20%20%23%20noqa%3A%20E731%0A%0A%20%20%20%20%40themed(%0A%20%20%20%20%20%20%20%20name%3D%22offkey-prediction-curve%22%2C%0A%20%20%20%20%20%20%20%20alt_text%3D%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20Four%20nearly%20coincident%20solid%20lines%20rise%20from%20about%201.5%20to%20about%203.5%20across%20the%20six%20levels%3B%20a%20dashed%20line%20alternates%20between%202%20and%203%20at%20each%20level.%20The%20solid%20lines%20are%20indistinguishable%20from%20one%20another.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20%20%20%20%20caption%3Dr%22%22%22%0A%20%20%20%20%20%20%20%20%20%20%20%20**The%20off-key%20prediction%20at%20the%20op1%20site.**%20Mean%20out-of-fold%20prediction%20of%20op2's%20R%20channel%2C%20in%20level%20units%2C%20against%20op1's%20R%20level%2C%20at%20the%20embedding%20slice%3A%20one%20solid%20line%20per%20condition%2C%20with%20the%20parity%20sawtooth%20%E2%80%94%20the%20ideal%20predictor%20E%5Bop2%20%7C%20op1%5D%20%E2%80%94%20dashed.%20The%20four%20conditions%20nearly%20coincide.%0A%20%20%20%20%20%20%20%20%22%22%22%2C%0A%20%20%20%20)%0A%20%20%20%20def%20_e1_plot()%20-%3E%20plt.Figure%3A%0A%20%20%20%20%20%20%20%20fig%2C%20ax%20%3D%20plt.subplots(figsize%3D(4.4%2C%202.4)%2C%20layout%3D%22constrained%22)%0A%20%20%20%20%20%20%20%20xs%20%3D%20np.arange(6)%0A%20%20%20%20%20%20%20%20ax.plot(xs%2C%202%20%2B%20(xs%20%25%202)%2C%20ls%3D%22--%22%2C%20color%3Dlight_dark(%22%23888%22%2C%20%22%23999%22)%2C%20lw%3D1%2C%20label%3D%22ideal%20E%5Bop2%20%7C%20op1%5D%22)%0A%20%20%20%20%20%20%20%20for%20i%2C%20y%20in%20enumerate(_by_level.values())%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20ax.plot(xs%2C%20y%2C%20color%3Dlight_dark(%22%231f77b4%22%2C%20%22%236baed6%22)%2C%20lw%3D1%2C%20alpha%3D0.8%2C%20label%3D%22observed%2C%20all%20four%20conditions%22%20if%20i%20%3D%3D%200%20else%20None)%20%20%23%20fmt%3A%20skip%0A%20%20%20%20%20%20%20%20ax.set(xticks%3Dxs%2C%20yticks%3D%5B1%2C%202%2C%203%2C%204%5D)%0A%20%20%20%20%20%20%20%20ax.set_xlabel(%22op1%20R%20level%22%2C%20fontsize%3D8)%0A%20%20%20%20%20%20%20%20ax.set_ylabel(%22predicted%20op2%20R%20level%22%2C%20fontsize%3D8)%0A%20%20%20%20%20%20%20%20ax.tick_params(labelsize%3D7)%0A%20%20%20%20%20%20%20%20ax.legend(fontsize%3D7%2C%20frameon%3DFalse)%0A%20%20%20%20%20%20%20%20return%20fig%0A%0A%20%20%20%20mo.vstack(%0A%20%20%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%20Exploratory%20analyses%0A%0A%20%20%20%20%20%20%20%20**E1%20%E2%80%94%20the%20strict%20estimator%20rules%20out%20the%20parity%20route.**%20The%20preregistered%20comparison%20expected%20the%20probes%20to%20trace%20the%20parity%20sawtooth%20E%5Bop2%20level%20%7C%20op1%20level%5D%20%3D%202%2C%203%2C%202%2C%203%2C%202%2C%203.%20They%20do%20nothing%20of%20the%20kind%2C%20and%20in%20hindsight%20they%20cannot%3A%20scoring%20a%20level%20under%20the%20strict%20holdout%20removes%20it%20from%20every%20role%2C%20so%20the%20very%20lines%20a%20parity%20reader%20would%20generalize%20from%20leave%20the%20fit%20along%20with%20it.%20(That%20reading%20of%20the%20fold%20design%20is%20post%20hoc%3B%20E1%20as%20preregistered%20expected%20the%20sawtooth.)%0A%20%20%20%20%20%20%20%20%22%22%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.Html(_e1_plot())%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%20%20%20%20What%20the%20probes%20read%20instead%20is%20the%20level%20of%20op1%2C%20which%20is%20decodable%2C%20and%20they%20extrapolate%20op2%20from%20the%20within-fold%20regression.%20The%20out-of-fold%20R-channel%20prediction%20of%20the%20control%20runs%20%7B_e1_ctrl%5B0%5D%3A.2f%7D%2C%20%7B%22%2C%20%22.join(f%22%7Bv%3A.2f%7D%22%20for%20v%20in%20_e1_ctrl%5B1%3A5%5D)%7D%2C%20%7B_e1_ctrl%5B5%5D%3A.2f%7D%20in%20level%20units%20across%20the%20R%20level%20of%20op1%2C%20a%20ramp%2C%20and%20the%20curves%20of%20the%20four%20conditions%20agree%20within%20%7B_e1_spread%3A.2f%7D%20level%20units.%20That%20extrapolation%20is%20what%20pushes%20the%20op1-site%20R%C2%B2%20below%20even%20the%20constant-state%20floor.%20This%20estimator%20cannot%20say%20whether%20any%20embedding%20exposes%20parity%20linearly%3B%20it%20says%20only%20that%20the%20strict%20off-key%20reading%20holds%20no%20op2%20information%20in%20any%20model.%0A%0A%20%20%20%20%20%20%20%20**E2%20%E2%80%94%20the%20R%20channel%20tracks%20%CE%B1%20loosely.**%20Correlations%20over%20colors%20at%20the%20op1%20site%2C%20averaged%20over%20slices%3A%20across%20the%20three%20anchored%20conditions%20the%20R%20channel%20reads%20%7B%22%2C%20%22.join(f%22%7Bv%5B0%5D%3A%2B.2f%7D%22%20for%20v%20in%20_e2.values())%7D%20against%20the%20%CE%B1%20lookup%2C%20and%20G%20and%20B%20fall%20between%20%7Bmin(v%5Bk%5D%20for%20v%20in%20_e2.values()%20for%20k%20in%20(1%2C%202))%3A%2B.2f%7D%20and%20%7Bmax(v%5Bk%5D%20for%20v%20in%20_e2.values()%20for%20k%20in%20(1%2C%202))%3A%2B.2f%7D.%20%CE%B1%20itself%20tracks%20the%20sim%C2%B9%C2%B7%E2%81%B5%20statistic%20at%20%7Bmin(v%5B3%5D%20for%20v%20in%20_e2.values())%3A.2f%7D%E2%80%93%7Bmax(v%5B3%5D%20for%20v%20in%20_e2.values())%3A.2f%7D.%20As%20preregistered%2C%20no%20channel%20reproduces%20%CE%B1%2C%20because%20%CE%B1%20carries%20redness%2C%20which%20is%20a%20function%20of%20all%20three%20channels%20rather%20than%20of%20any%20one.%0A%0A%20%20%20%20%20%20%20%20**E3%20%E2%80%94%20no%20drag%20signature%20in%20the%20readout%20of%20the%20model%20itself.**%20In%20every%20condition%2C%20the%20control%20included%2C%20the%20on-key%20prediction%20errors%20at%20the%20emb%20slice%20correlate%20with%20the%20partner-mean%20of%20the%20affinity%20at%20%7Cr%7C%20%E2%89%A4%20%7Bmax(v%5B0%5D%20for%20v%20in%20_e3.values())%3A.2f%7D.%20They%20correlate%20with%20the%20affinity%20itself%20only%20weakly%2C%20and%20to%20almost%20the%20same%20degree%20in%20each%20condition%20(%7Bmin(v%5B1%5D%20for%20v%20in%20_e3.values())%3A%2B.2f%7D%20to%20%7Bmax(v%5B1%5D%20for%20v%20in%20_e3.values())%3A%2B.2f%7D%20for%20the%20R%20channel).%20So%20the%20drag-versus-direct%20ordering%20that%20shows%20up%20along%20the%20anchor%20axis%20does%20not%20reappear%20in%20RGB%20decodability%3A%20whatever%20the%20op1-keyed%20labels%20dragged%20onto%20the%20axis%2C%20they%20did%20not%20measurably%20bend%20the%20color%20geometry%20of%20the%20embeddings.%0A%0A%20%20%20%20%20%20%20%20**E4%20%E2%80%94%20the%20bare%20anchor%20gives%20up%20late-slice%20decodability%2C%20and%20the%20recipe%20restores%20it**%20(post%20hoc).%20Channel-mean%20op2%20decodability%20at%20its%20own%20position%2C%20last%20slice%3A%20control%20%7Bnp.mean(_e4%5Bex.CONTROL%5D)%3A.2f%7D%2C%20bare%20anchor%20%7Bnp.mean(_e4%5B%22ex-2.1.6%2Flam0.1%22%5D)%3A.2f%7D%20(seeds%20%7B_fmt(sorted(_e4%5B%22ex-2.1.6%2Flam0.1%22%5D))%7D)%2C%20anti-subspace%20%7Bnp.mean(_e4%5B%22ex-2.1.8%2Fend90-hold30%22%5D)%3A.2f%7D%2C%20primary%20%7Bnp.mean(_e4%5Bex.PRIMARY%5D)%3A.2f%7D.%20The%20indiscriminate%20lift%20of%20the%20bare%20anchor%20crowds%20linear%20color%20readout%20out%20of%20the%20top%20of%20the%20stack.%20The%20anti-subspace%20term%20restores%20about%20half%20of%20it%2C%20and%20the%20full%20recipe%20matches%20the%20control.%20The%20op2%20panel%20of%20each%20condition's%20map%20shows%20the%20whole%20shape.%0A%20%20%20%20%20%20%20%20%22%22%22)%2C%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Discussion%0A%0A%20%20%20%20The%20ceiling%20result%20supplies%20the%20half%20of%20the%20demonstration%20that%20the%20%CE%B1%20statistic%20could%20not.%20%CE%B1%20reads%20an%20axis%20the%20un-anchored%20control%20ignores%2C%20so%20the%20control's%20flat%20panels%20were%20consistent%20with%20two%20stories%3A%20either%20there%20was%20no%20response%20to%20compose%2C%20or%20the%20measurement%20only%20sees%20anchored%20models.%20Fitted%20probes%20read%20the%20geometry%20of%20each%20model%20itself%2C%20and%20in%20all%20four%20conditions%20they%20find%20the%20same%20nothing%20before%20op2%2C%20down%20to%20the%20same%20fold-design%20floor.%0A%0A%20%20%20%20On%20side-effects%2C%20the%20gated%20comparison%20says%20less%20than%20we%20would%20like.%20The%20unresolved%20gaps%20point%20both%20ways%2C%20with%20R%20slightly%20favoring%20the%20control%20and%20G%20and%20B%20favoring%20the%20primary.%20Resolving%20a%20difference%20of%20about%200.1%20would%20take%20more%20un-anchored%20seeds%20than%20the%20three%20that%20exist.%0A%0A%20%20%20%20The%20post-hoc%20E4%20observation%20is%20the%20sharpest%20new%20fact.%20The%20bare%20anchor%20costs%20late-slice%20decodability%20outright%2C%20and%20the%20containment%20half%20of%20the%20recipe%2C%20first%20the%20anti-subspace%20term%20and%20then%20pooled%20labels%2C%20restores%20it.%20That%20agrees%20with%20what%20ex-2.1.8%20and%20ex-2.1.10%20measured%20along%20the%20anchor%20axis%20as%20drift%20and%20its%20containment%2C%20read%20here%20in%20the%20coordinates%20of%20the%20model%20instead.%20It%20is%20a%20single%20observation%20on%20three-seed%20conditions%20and%20it%20is%20marked%20post%20hoc%3B%20a%20preregistered%20version%20would%20have%20to%20fix%20its%20sites%20in%20advance.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
a2861bf686446c5109d20c29a151d0ec