Qwen3.5-4B Counterfactual Order-Support Selector
The one idea you need
The model answered each puzzle after writing a long scratchpad. We also kept a version with exactly the same scratchpad words scrambled. The new idea is to ask which answer gained the most support from meaningful word order rather than from the words merely being present.
The question
Can the change caused by meaningful scratchpad order tell us which of twelve possible answers to trust, without revealing the correct answer?
What we found
Not reliably. The meaningful-order rule got 43 of 113 puzzles right, clearly better than first attempt or majority vote. But it was only two puzzles ahead of simply choosing the most decisive attempt, and a deliberately mismatched scrambled scratchpad did one puzzle better. Those small differences could be noise, so the separate confirmation set stayed closed.
Why it matters
Averaging the model's full answer probabilities can recover useful weak clues that voting throws away. But the exact scrambled counterpart was not doing enough task-specific work to justify its extra cost. Future work should change the reasoning path itself, not keep polishing this final score.
On this page
Results at a glance 1
How to read
Each bar is the share of 113 puzzles answered correctly by one way of combining three attempts; taller is better. The mismatched-scratchpad bar is a diagnostic with hidden balancing information, not a usable method.
Takeaway → Meaningful-order subtraction rises above first attempt and majority, yet barely edges the strongest ordinary confidence bars and loses to the diagnostic mismatch, so it does not qualify.
Data table
| label-free selector or control | exact task accuracy |
|---|---|
| order-support delta | 38.1% |
| first trace | 27.4% |
| majority | 29.2% |
| mean probability | 32.7% |
| max confidence | 35.4% |
| minimum entropy | 36.3% |
| task-mismatched shuffle | 38.9% |
| reverse delta | 7.1% |
Numbers from experiments/qwen35_4b_counterfactual_order_support_selector/runs/qualification.json
Technical framing
Order support beats voting but not strong confidence controls — The order-support vector beats first trace, majority, and mean probability, but its gains over max confidence and minimum entropy are too small and uncertain. The task-mismatched bar is an oracle-balanced mechanism control, not deployable. Qualification failed and confirmation stayed absent.
In the author’s words from the Overview · “Results”
Terminal qualification decision: NO_ORDER_SUPPORT_SELECTOR. The registered raw probability-delta rule reached 43/113 (38.05%), substantially above first trace (31/113), majority (33/113), and mean ordered probability (37/113). It nevertheless missed the conjunctive direct-control standard: minimum-entropy selection reached 41/113 and max-confidence 40/113, so candidate gains were only +1.77pp and +2.65pp with one-sided paired lower bounds -3.54pp and -2.65pp. The oracle-balanced task-mismatched shuffle reached 44/113, one task better than the candidate. Accuracy, reachability, breadth, and reverse-delta gates passed; mandatory point-gain and uncertainty gates failed. Predictions spanned 11 aliases and successes 10 target aliases. … Read the full result →
Overview
Terminal NO_ORDER_SUPPORT_SELECTOR: ordered-minus-exact-shuffle probability beats hard voting but not confidence/entropy robustly or the task-mismatch control, so confirmation and a fresh matched-compute run remain sealed.
Research Program
- Program:
evidence_conditioned_selection - Secondary:
test_time_reasoning_budgetandinterpretability_and_diagnostics. - Prior anchors:
qwen35_4b_commit_slot_semantic_power_replication,qwen35_4b_thinking_content_vs_compute, andqwen35_4b_confidence_guided_compute.
Question
Does the forward probability contribution of coherent thought order provide a label-free answer selector? For each alias, average across three paths:
P(alias | ordered thought) - P(alias | exact-token shuffle)
and choose the largest delta.
Hypothesis
The shuffled counterfactual holds the thought-token multiset, length, answer syntax, and alias vocabulary fixed while destroying coherent order. Subtraction should cancel identity and token-presence nuisance, isolating the part of the answer state caused by coherent reasoning. The hypothesis is actionable only if this vector beats every strong K=3 selector and a task-mismatched shuffle control on qualification and separately opened confirmation.
Setup
- Model: no new model call; source rows were produced only by
Qwen/Qwen3.5-4Brevision851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0aunder Transformers bf16 SDPA. - Dataset/task source: the parent's two disjoint 113-task, three-path, contamination-free procedural seam stages at cap 1,024.
- Train/eval split: qualification may open now. Confirmation files are absent locally and fail closed until a passing qualification is committed/pushed.
- Baselines: first trace, majority with mean-probability tie-break, mean ordered probability, max-confidence trace, and minimum-entropy trace.
- Controls: reverse delta and a gold-alias-balanced but task-mismatched shuffled distribution. The latter uses hidden labels only to make the control harder; it never contributes to the candidate.
- Primary metric: exact task accuracy and paired task-bootstrap differences.
- Oracle-only metrics: correct/chosen alias breadth and mismatch construction.
- Hidden-label boundary: prediction functions accept no correct alias or correctness field; mutation invariance is unit-tested.
Qualification and confirmation each require candidate accuracy in 15%--70%, at least +3pp over every deployable baseline and the mismatch control, a one-sided 95% paired-task lower bound above zero against every baseline/control, at least eight chosen and eight successful aliases, and at least +10pp over the reverse-delta anti-selector. No secondary score can rescue the primary rule.
This is a selector-signal qualification, not a matched-compute capability test. Ordered+shuffle uses three additional full prefills. Even a two-stage pass only licenses a fresh K=3 candidate versus K=6 actual-forward-token sample-more run.
Run
Smoke (never opens confirmation):
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python \
experiments/qwen35_4b_counterfactual_order_support_selector/scripts/run.py \
--stage smokeQualification:
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python \
experiments/qwen35_4b_counterfactual_order_support_selector/scripts/run.py \
--stage qualificationResults
Terminal qualification decision: NO_ORDER_SUPPORT_SELECTOR. The registered raw probability-delta rule reached 43/113 (38.05%), substantially above first trace (31/113), majority (33/113), and mean ordered probability (37/113). It nevertheless missed the conjunctive direct-control standard: minimum-entropy selection reached 41/113 and max-confidence 40/113, so candidate gains were only +1.77pp and +2.65pp with one-sided paired lower bounds -3.54pp and -2.65pp. The oracle-balanced task-mismatched shuffle reached 44/113, one task better than the candidate.
| selector/control | accuracy | candidate gap | paired lower |
|---|---|---|---|
| order-support delta | 38.05% | — | — |
| first trace | 27.43% | +10.62pp | +4.42pp |
| majority | 29.20% | +8.85pp | +2.65pp |
| mean ordered probability | 32.74% | +5.31pp | -0.88pp |
| max-confidence trace | 35.40% | +2.65pp | -2.65pp |
| minimum-entropy trace | 36.28% | +1.77pp | -3.54pp |
| oracle-balanced mismatch | 38.94% | -0.88pp | -7.08pp |
| reverse delta | 7.08% | +30.97pp | diagnostic |
Accuracy, reachability, breadth, and reverse-delta gates passed; mandatory point-gain and uncertainty gates failed. Predictions spanned 11 aliases and successes 10 target aliases. Twenty-seven predictions were absent from the three ordered argmax choices, and eight of those were correct, showing that the delta sometimes extracts weak probability support beyond voting. That clue is insufficient for qualification.
Confirmation artifacts remain absent. No fresh matched-compute run, causal stage, or capability claim is licensed.
Interpretation
The replicated ordered-thought group effect contains some per-task selection signal, but raw exact-shuffle subtraction is not reliably better than cheap confidence/entropy selection and is not specifically dependent on the matched task's shuffled distribution. Retire this exact selector rather than tune its transform on observed outcomes. The next capability mechanism must change the proposal/continuation, not merely re-rank the same commit logits.
Knowledgebase Update
- Program evidence updated: all three programs.
- Program backlog updated: exact-shuffle support selection retired.
- Claim ledger updated: no new claim from retrospective rows.
Artifacts
src/selector.py: pure prediction, controls, statistics, and gates.scripts/run.py: qualification/confirmation firewall.configs/default.yaml: immutable hashes, aliases, gates, and seeds.data/qualification/: hash-identical copies of parent qualification rows.data/confirmation/: intentionally absent unless qualification passes.runs/andanalysis/: gated summaries and task-level predictions.reports/preregistration.mdandreports/design_review.md: frozen rules and adversarial review.reports/pre_qualification_implementation_audit.md: 36 outcome-blind data, firewall, selector, statistics, and anchoring assertions.reports/post_qualification_adversarial_audit.md: 12 post-result objections, non-rescues, and the sealed-confirmation routing decision.reports/artifact_manifest.yaml
Report
Rendered from reports/report.md
Summary
Terminal NO_ORDER_SUPPORT_SELECTOR. Confirmation artifacts and the fresh matched-compute successor remain sealed.
Research Program Fit
Method
For each task and alias, the frozen primary averaged three ordered probabilities minus their three exact-token-shuffle probabilities, then selected the largest delta. It used no label. See the preregistration and 15-point design review.
Results
| method | correct / 113 | accuracy | primary minus method | one-sided paired lower |
|---|---|---|---|---|
| primary order delta | 43 | 0.3805 | — | — |
| first trace | 31 | 0.2743 | +0.1062 | +0.0442 |
| majority | 33 | 0.2920 | +0.0885 | +0.0265 |
| mean ordered probability | 37 | 0.3274 | +0.0531 | -0.0088 |
| max-confidence trace | 40 | 0.3540 | +0.0265 | -0.0265 |
| minimum-entropy trace | 41 | 0.3628 | +0.0177 | -0.0354 |
| oracle-balanced mismatch | 44 | 0.3894 | -0.0088 | -0.0708 |
| reverse delta | 8 | 0.0708 | +0.3097 | diagnostic |
The candidate passed its 15%--70% range, reachability, 11-alias prediction breadth, 10-alias success breadth, and reverse-control gap. It failed mandatory all-comparator point gain and uncertainty. Against minimum entropy it won nine tasks, lost seven, and tied 97. Against max confidence it won nine, lost six, and tied 98. These tiny net advantages cannot support a selector.
The candidate selected an alias absent from all three ordered argmax choices on 27/113 tasks and was correct on eight, so the vector can recover weak common support that voting discards. This is a useful mechanism clue, not a passed system.
Controls
The reverse delta collapsed to 8/113, confirming the sign contains information. But subtracting another task's shuffled distribution from the same correct-alias stratum reached 44/113, versus 43/113 for the exact matched shuffle. Because the mismatch is oracle-balanced, its absolute score is not deployable; nevertheless, the primary also independently failed three direct deployable comparator gates.
Oracle Versus Deployable Evidence
The primary and five standard baselines are label-free. The task-mismatch control uses gold only to preserve alias strata and is explicitly oracle-only. No confirmation or hidden label entered the candidate. This retrospective qualification is not matched compute: the three shuffle prefills would have to be charged against additional ordered samples.
Interpretation
The causal group effect does not become a robust per-task selector through raw probability subtraction. It beats majority decisively but fails to improve on simple confidence/entropy with adequate effect and uncertainty, and exact task matching is not load-bearing against the oracle-balanced mismatch. Retire the registered transform without log-ratio, residualization, or subset tuning.
Next Experiments
Do not open confirmation or a fresh compute-matched selector run. Redirect from commit-logit ranking to a method that changes the proposal or continuation distribution—where Jacobian counterfactuals could create new branches rather than score existing ones.
Artifact Manifest
See artifact_manifest.yaml.
Experiment log 2
Show the running log (2 entries, 2026-07-13)
2026-07-13 — Intake and adversarial design
- Created a distinct follow-up rather than extending the result-bearing parent.
- Copied only the parent's 113-task qualification real/shuffled slot rows and verified exact source hashes. Confirmation artifacts remain absent.
- Froze one primary rule, five strong deployable baselines, reverse and task-mismatch controls, paired task uncertainty, breadth gates, and the matched-compute limitation before calculating any derived selector accuracy.
2026-07-13 — Terminal qualification negative
- Ran the single frozen primary rule after pushed boundary
89a4949e. - Decision
NO_ORDER_SUPPORT_SELECTOR: 43/113 candidate successes (38.05%). - Candidate beat first by +10.62pp (lower +4.42pp) and majority by +8.85pp (lower +2.65pp), but missed the registered all-comparator rule.
- Gains over mean probability, max confidence, and minimum entropy were +5.31pp, +2.65pp, and +1.77pp; all paired lower bounds crossed zero.
- The oracle-balanced task-mismatched shuffle scored 44/113 versus candidate 43/113, defeating task-specific counterfactual attribution.
- Breadth passed at 11 predicted and 10 successful aliases; reverse delta was only 8/113. These cannot rescue the failed point/uncertainty gates.
- Rerun hashes were byte-identical: summary
9fc1af5c..., task predictions03d2e4ff.... - Confirmation files remain absent. No fresh K=3-versus-K=6 GPU experiment is authorized.
Reproduce
Smoke test
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python experiments/qwen35_4b_counterfactual_order_support_selector/scripts/run.py --stage smokeFull run
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python experiments/qwen35_4b_counterfactual_order_support_selector/scripts/run.py --stage qualificationRun steps are documented inside the experiment folder (README and scripts).