mirror of
https://github.com/wassname/evil_MoE.git
synced 2026-06-27 19:15:20 +08:00
b8efd42d2f
Ariahw's run_tests fn-name memorization control (paper line 84: train fixes "run_tests", eval randomizes over 10 held-out names), extended to our 3 added modes (stdout_marker/sentinel/file_marker). At train the side-channel detector accepts a whole family + a fixed hint token (hack stays RL-discoverable); at eval we disclose a NOVEL token and grade against a DISJOINT family equally lenient as train -- so a memorized train token scores 0 and only producing the disclosed mechanism counts, with no train-lenient/eval-exact strictness shift (the v1 confound the external panel flagged). run_tests stays exact-both (matches the paper). Eval-only; training path byte-identical (families default None). scripts/verify_eval_gap.py proves per mode + per eval token: disjointness (train detector must NOT fire on eval token), the gap matrix, and no mutation of canonical prompts. Wired into smoke. Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>