Test PROBE-mode tie-break for the Xavier/He blind spot (negative result) - #3
Test PROBE-mode tie-break for the Xavier/He blind spot (negative result)#3rustnew wants to merge 3 commits into
Conversation
Third fix attempt for zc_jacobcov's proven blind spot (results/reports/ 2026-09-02T08-04-49Z_explore_scale_invariance_blindspot.md): jacob_cov's binary activation-sign statistic is exactly invariant to the positive rescaling that separates Xavier from He, so no PURE-mode secondary proxy can ever break that tie -- both static attempts already tried (TieBreakHeuristicPredictor's raw and population-normalized gradient_norm variants) failed for that exact reason. Adds precog.meta_predictor.ProbeTieBreakPredictor: when jacob_cov ties, spend a real, bounded PROBE-mode budget (docs.md §5, 50 steps -- the cheapest the Zero-Training Contract allows) on just the tied candidates, and pick whichever ends with the lower loss. Tested in scripts/explore_probe_tiebreak.py on the same locked TEST split used throughout this project. Result: he-recall rises from 0% to 30% (3/10 tasks where "he" is truly best), but overall regret gets *worse* (+14.6 -> +45.4 steps) at a cost of 68 extra steps/decision (37.5% of a mean FULL TRAINING run) -- 50 steps is enough to make "he" look locally better, not enough to see it sometimes never converges at all within budget. Net: not a win, kept and reported as a negative result like every other failed attempt in this project (LSUV init, active sampling). Added to CI (reproduce.yml). docs/index.html's "bug we found but can't fix" section updated from "two attempted fixes" to "three", with a link to the new report. data/meta_dataset.db and results/gate_evaluations.csv change because record_gate_evaluation() logs this run's single new gate row (docs.md §12 meta-dataset) -- a real, explained addition, not a side-effect of running scripts locally before committing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WSc9sb1otU6ssfxDBzeNHG
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@rustnew please what is the intend of this pull request |
|
here is another zc-jacobcov @Christiantyemele please check more |
|
@Christiantyemele This PR tests a third fix attempt for Result: he-recall improves (0%→30%) but overall regret gets worse (+14.6→+45.4 steps) — a documented negative result, not a fix proposed for adoption, consistent with how this project logs failed attempts (see the report and PR description for full numbers). |
What changed and why
Third fix attempt for
zc_jacobcov's proven blind spot: jacob_cov's binaryactivation-sign statistic is exactly invariant to the positive rescaling
that separates Xavier from He, so no PURE-mode secondary proxy can ever
break that tie -- both static attempts already in
scripts/compare_meta_predictors.py(TieBreakHeuristicPredictor's rawand population-normalized
gradient_normvariants) failed for exactlythis reason. This tests the other option named in the original audit
report: a minimal, explicitly-costed PROBE-mode run (docs.md §5).
Adds
precog.meta_predictor.ProbeTieBreakPredictor: whenjacob_covties, spend a real, bounded PROBE budget (50 steps -- the cheapest the
Zero-Training Contract allows) on just the tied candidates, and pick
whichever ends with the lower loss.
Evidence
Full report:
results/reports/2026-09-03T12-59-38Z_explore_probe_tiebreak.md.zc_jacobcovraw (he-recall 0%,regret +14.6) vs
zc_jacobcov_probetiebreak(he-recall 30%, regret+45.4). he-recall genuinely improves; regret -- this project's
primary metric, see
compare_meta_predictors.py's ownregret-first winner selection -- gets worse. Not cherry-picked to
look good.
improvement", same treatment as LSUV init and active sampling
before it.
Checklist
reproduce.yml) passes on this branch (new step added:"PROBE-mode tie-break for the Xavier/He blind spot").
data/meta_dataset.db/results/gate_evaluations.csvchangedwith reason:
record_gate_evaluation()logs this run's one newgate row (docs.md §12 meta-dataset) -- a real, explained addition
(single row, single clean run), not a side effect of local
iteration left uncommitted.
docs/index.html's "bug we found but can't fix" section updatedfrom "two attempted fixes" to "three", linking the new report. No
README change needed -- that section only exists on the project
page, not the README.
Open questions / requested feedback
The 50-step probe budget is the contractual minimum (docs.md §5: PROBE is
50-1000 steps). I didn't sweep larger budgets since the failure mode here
(picking "he" because it looks locally good, then it stalls) seems more
about the kind of horizon needed (long enough to see non-convergence,
not just "more steps") than a simple budget increase -- but if a reviewer
thinks a quick sweep (e.g. 100/200 steps) is worth a follow-up before
closing this avenue, happy to add it.