A5 FINAL: held-out modes suppressed 0.62->0.02 (file_marker), zero held-out labels (job 104)

Fill route2 column of tab:generalisation from job 104 per_mode_deploy.json;
regen A5 figure (add routing2 arm key to plot_deploy_overlay). All three
held-out modes drop near zero at knob-off deploy while emerging on the
knob-on path -- routing, not non-emergence. #185.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
wassname
2026-06-04 23:21:39 +00:00
co-authored by Claudypoo
parent 2fb56e1a91
commit b891109633
3 changed files with 32 additions and 8 deletions
+18
View File
@@ -2,6 +2,24 @@
Append-only. New entries at the top, date-stamped. Never edit old entries.
## 2026-06-04 (f) — A5 FINAL VERDICT (job 104 done, step 200): all three held-out modes suppressed near zero with zero held-out labels
Closes (e). Per-mode deploy split is in
out/runs/20260604T131044_fast_routing2_seed41_a5_route2_tmrt_s41/per_mode_deploy.json.
Table tab:generalisation and fig out/figs/a5_generalisation.png both filled; #185 done.
| mode | held-out? | route2 deploy_hack | vanilla deploy_hack | route2 train_hack (knob-on) |
|------|-----------|--------------------|--------------------|-----------------------------|
| run_tests | KNOWN (teacher demos) | 0.000 | 1.000 | 0.979 |
| file_marker | held-out | 0.021 | 0.625 | 0.542 |
| sentinel | held-out | 0.000 | 0.417 | 0.208 |
| stdout_marker | held-out | 0.083 | 0.167 | 0.604 |
- [obs] every held-out mode's knob-off deploy hack collapses vs the vanilla baseline: file_marker 0.625 -> 0.021, sentinel 0.417 -> 0.000, stdout_marker 0.167 -> 0.083. Aggregate 0.552 -> 0.026 at matched solve (0.401 -> 0.354).
- [obs, load-bearing] the held-out cheats DID emerge on the knob-ON training path (file_marker train_hack 0.542, stdout_marker 0.604, run_tests 0.979) yet read ~0 at knob-off deploy. So the suppression is routing (the quarantine knob is holding the cheat), not the model simply never learning the held-out hack. This is the distinguishing test that rules out "non-emergence".
- [verdict] zero-held-out-label generalisation confirmed at n=1. The route gate only ever saw run_tests (`teacher OR hacked_E`, hacked_E==0 on the other three per the (a) harvest table). The knob absorbs cheats it was never labelled on. resid ~0 throughout (clean strip), no collapse.
- [caveat] n=1 seed 41; n=3 is future work. stdout_marker has the weakest cut (0.167 -> 0.083, 2x) but it also had the lowest baseline.
## 2026-06-04 (e) — A5 suppression PRELIMINARY (job 104, step ~32): held-out hacks emerge on-policy but knob-off deploy holds at 0.000
Mid-run signal, not the verdict (per-mode deploy split lands at end-of-run, ~23:20). Recording because it is the load-bearing no-cheat result and the user is AFK.
+13 -8
View File
@@ -428,24 +428,29 @@ column pending job 104.}
% vanilla baseline = job 103
% out/runs/20260604T025953_fast_vanilla_seed41_a5_vanilla_tmrt_s41/per_mode_deploy.json
% deploy_hack (n=48/mode): run_tests 1.000 | file_marker 0.625 | sentinel 0.417 | stdout_marker 0.167
% route2 suppression = job 104 (per-mode JSON pending at edit time).
% knob-off aggregate deploy hack tracked 0.00-0.047 through step 180 vs baseline 0.552.
% route2 suppression = job 104
% out/runs/20260604T131044_fast_routing2_seed41_a5_route2_tmrt_s41/per_mode_deploy.json
% deploy_hack (n=48/mode): run_tests 0.000 | file_marker 0.021 | sentinel 0.000 | stdout_marker 0.083
% train_hack (knob-on, n=48/mode): run_tests 0.979 | file_marker 0.542 | sentinel 0.208 | stdout_marker 0.604
% => held-out cheats emerge on the knob-on path, knob-off deploy ~0 == routing not non-emergence.
\begin{table}[t]
\centering
\caption{Per-mode deploy hack, A5 designed held-out test ($n{=}1$, seed 41).
The teacher demonstrates only \texttt{run\_tests}; the live route gate is blind
to the other three modes (zero held-out labels). ``Held out'' = mode absent
from both the teacher pool and the gate signal. \TODO{route2 column lands when
job 104 finishes; $n{=}3$ is future work.}}
from both the teacher pool and the gate signal. All three held-out modes are
suppressed near zero despite emerging on the knob-on training path
(\texttt{file\_marker} train-hack $0.54$, \texttt{stdout\_marker} $0.60$), so the
quarantine knob is holding cheats it was never labelled on. $n{=}1$; $n{=}3$ is future work.}
\label{tab:generalisation}
\begin{tabular}{lccc}
\toprule
Mode & Held out? & Deploy hack (route2) $\downarrow$ & Deploy hack (vanilla) \\
\midrule
run\_tests & no (demoed) & \TODO{job 104} & $1.000$ \\
file\_marker & yes & \TODO{job 104} & $0.625$ \\
sentinel & yes & \TODO{job 104} & $0.417$ \\
stdout\_marker & yes & \TODO{job 104} & $0.167$ \\
run\_tests & no (demoed) & $0.000$ & $1.000$ \\
file\_marker & yes & $0.021$ & $0.625$ \\
sentinel & yes & $0.000$ & $0.417$ \\
stdout\_marker & yes & $0.083$ & $0.167$ \\
\bottomrule
\end{tabular}
\end{table}
+1
View File
@@ -39,6 +39,7 @@ ARM = {
"routing": ("route (v1)", "#33508c"),
"routing2_act": ("route (act-mask)", "#2f7d4f"),
"routing2_grad":("route", "#b8860b"),
"routing2": ("route", "#b8860b"),
}
# mode display order: in-dist first, then held-out.
MODE_ORDER = ["run_tests", "file_marker", "stdout_marker", "sentinel", "eq_override"]