Skip to content

Test PROBE-mode tie-break for the Xavier/He blind spot (negative result) - #3

Open
rustnew wants to merge 3 commits into
mainfrom
feature/probe-tiebreak-xavier-he
Open

Test PROBE-mode tie-break for the Xavier/He blind spot (negative result)#3
rustnew wants to merge 3 commits into
mainfrom
feature/probe-tiebreak-xavier-he

Conversation

@rustnew

@rustnew rustnew commented Sep 3, 2026

Copy link
Copy Markdown
Owner

What changed and why

Third fix attempt for zc_jacobcov's proven blind spot: 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 in
scripts/compare_meta_predictors.py (TieBreakHeuristicPredictor's raw
and population-normalized gradient_norm variants) failed for exactly
this 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: when jacob_cov
ties, 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

  • Ran the new script locally end-to-end:
$ python scripts/explore_probe_tiebreak.py
test (locked): 180 rows (60 tasks)

zc_jacobcov                accuracy=47% (28/60)  he_recall=0% (0/10)  mean_regret=+14.6 steps  mean_probe_cost=0.0 steps
zc_jacobcov_tiebreak       accuracy=47% (28/60)  he_recall=0% (0/10)  mean_regret=+14.6 steps  mean_probe_cost=0.0 steps
zc_jacobcov_probetiebreak  accuracy=43% (26/60)  he_recall=30% (3/10)  mean_regret=+45.4 steps  mean_probe_cost=68.3 steps

Full report: results/reports/2026-09-03T12-59-38Z_explore_probe_tiebreak.md.

  • Old vs new numbers both shown: zc_jacobcov raw (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 own
    regret-first winner selection -- gets worse. Not cherry-picked to
    look good.
  • Negative result, kept and labeled as such: verdict is "NOT a net
    improvement", same treatment as LSUV init and active sampling
    before it.

Checklist

  • CI (reproduce.yml) passes on this branch (new step added:
    "PROBE-mode tie-break for the Xavier/He blind spot").
  • No claim asserted without a script/report backing it.
  • data/meta_dataset.db / results/gate_evaluations.csv changed
    with reason: record_gate_evaluation() logs this run's one new
    gate 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 updated
    from "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.

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
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: d936bb9f-30e5-4d92-ae4d-4155b404ab2f


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Christiantyemele

Copy link
Copy Markdown
Collaborator

@rustnew please what is the intend of this pull request

@rustnew

rustnew commented Sep 3, 2026

Copy link
Copy Markdown
Owner Author

here is another zc-jacobcov @Christiantyemele please check more

Blindspot22
Blindspot22 previously approved these changes Sep 3, 2026

@Blindspot22 Blindspot22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rustnew

rustnew commented Sep 3, 2026

Copy link
Copy Markdown
Owner Author

@Christiantyemele This PR tests a third fix attempt for jacob_cov's Xavier/He tie (the two prior static-proxy fixes in compare_meta_predictors.py both failed for the same structural reason). It adds a bounded PROBE-mode tie-break (50 real training steps) instead.

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants