Repository navigation
CC engine: per-half probe between tiebreak and MRV + reversed-BFS row order (-cc-roworder=auto, GH-206; do not merge before PI says merge) - #215
Merged
Conversation
…r without mrv and the bfs order with mrv At the first level a half refutes in >= -cc-probe=S seconds (default 1) with configuration A (index order, rules without mrv), configuration B (GH-183 reversed-BFS order, rules with mrv) re-runs the same level with an abort at A's search time through the poll hook; the faster one searches the rest of the half. Both are exact searches and the probe changes no bound (proof in MODIFICATIONS.md). Tests: Part B / H driver runs with forced switch / stay / time-based probes (finder on and off, tbbase asc); mutant 21; flag checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e half is finished; runners, Tier 0 records of the first design The first design (one probe at the first level >= 1 s) missed the Tier 2-3 gains and failed Tier 3 (TN_144: the probe ran at the last refuted level). Probes now start at 0.1 s and repeat at 30x the last probe level's time, the other configuration being re-tried; a probe is skipped once the half needs no further level (lb >= U). Tests and flag checks updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… stay available In the Tier 1-4 panel no run re-probed, and in Tier 5 no re-probe ever changed the decision while each cost one level (LP_1768 10 s, LP_1428 14 s, TN_216 18 s). The default is now the single probe the round was specified with. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, LP same-session references Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 30, 2026
…ult) into GH-206 Conflicts resolved by keeping both sides: - Driver: with -cc-roworder=auto both HalfSearch objects (A and B) get the GH-157 charge settings; otherwise as GH-183. - DriverOptions: GH-157 fields and initialisers plus the GH-206 probe fields. - cc_half.h: ROWORDER_AUTO enum plus the GH-157 LbWork / lb_charge API. - -cc-mutant accepts 0..15, 17..21; MODIFICATIONS file table merged. - tests: auto driver configs that stand for the candidate (auto-switch, auto-time, auto-time-ubsearch, mutant21-switch, aut-auto-switch) use the new default rules (with charge) + tiebreak; flags: default rules + tiebreak with -cc-roworder=auto accepted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experiment record for #206 (hub #15). Stacked on PR #204 (#183), which is stacked on PR #180 (#162). Do not merge before the PI says merge.
What changed
New value
-cc-roworder=auto(opt-in; the default staysindex). Each searched CSS half holds two exact level searches:-cc-ruleswithoutmrv. With the tiebreak rules this is the [Mac agent] CC engine: orbit-compatible even-weight overlap tie-break #162 configuration.mrv.A searches from level 1. At the first level that A refutes in at least
-cc-probe=Sseconds (default 0.1 s):-cc-probe-growth=F(F >= 1) adds re-probes at F times the last probe level's time. It is off by default: in Tier 5 no re-probe ever changed a decision, and each cost one level.Soundness (MODIFICATIONS.md, GH-206):
Test-only mutant 21: after every refuted level, the probe runs level w + 1 with a zero time cap, and an aborted probe is counted as a refuted level.
Development note
The first version (one probe at the first level >= 1 s, binary ab91aac) failed Tier 3: TN_144 was 1.33x tb, because the probe ran on the last refuted level. It also missed most Tier 2-3 gains, because those runs finish before a level reaches 1 s. Its records are in
optimization/experiments/GH-206/v1_ab91aac/. The current version fixes both problems:Tier 0 (14ec146): PASS
make test-cc: CC_ENGINE_TESTS PASS. Part B: 1,800 auto driver runs against enumeration, 0 bad. They cover probes after every refuted level that always or never switch, time-based probes with threshold 0 s and poll at every node, finder on and off, and tbbase asc. Part H auto configurations: 0 bad. Mutant 21: 18/400 runs wrong. Parts R, T and the rest: unchanged and passing.-vlogs: identical in 14 configurations. The only differences are 3 known timing-dependent MaxSAT ub-pre lines.make test-cc-flags: PASS (469 checks).Tier 1-4 seed panel (5 seeds; cores 33-39 and 41-43)
Geomean of median wall ratios (max cell):
Tier 5 (6 h, default seed)
Confirmation run. Final binary fca5d3c (one probe per half), with same-session references from the same binary, on yfclab2 cores 24-35, 37-39, 41-43 (core 36 skipped: a root process uses ~16 % of it). Table:
optimization/experiments/GH-206/S3_tier5_final/summary.md.First Tier 5 run (14ec146, re-probes at 30x;
S2_tier5_growth30/). It made the same per-half decisions, and no re-probe ever switched. Each losing re-probe cost a full level, though, up to 9447 s on BB_864 at level 30. That is why the default is now one probe.Cross-check of the #183 lower bounds (relabeled seeds 1-3, 8 h): BB_756 >= 32, BB_864 >= 32 and TN_496 >= 24 are REPRODUCED, 9/9 runs (see #183). Stems are unchanged.
Verdict
-cc-roworder=auto, rather than throughmrvplus-cc-roworder=bfsas fixed settings. Making it the CC default needs a separate PI decision.Scientific semantics changed: no (opt-in flag; default output byte-identical).
PI action required: yes (adoption decision for the stack #180 / #204 / this PR).
🤖 Generated with Claude Code