Repository navigation
CC engine: orbit-compatible even-weight overlap tie-break (GH-162, opt-in; do not merge before PI says merge) - #180
Merged
Conversation
…eak), opt-in New -cc-rules token 'tiebreak' (default off, acts with overlap): an even stabilizer row g is counted on g minus first(g) with limit |g|/2 - 1, first(g) taken in a per-seed order (the seed, then the earlier orbits, then descending label). Sound by the per-seed lex-min argument (MODIFICATIONS.md, GH-162). Test-only mutants 17 (naive tie cut) and 18 (seed not first). make test-cc Part T and tiebreak driver configurations in Parts B and H; test_cc_flags section 7g. The first(g) tie-break idea is from Qubitserf 04b9349 (S. Cercelescu, MIT); re-derived, no code copied. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, runners); Part T progress env Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…18 caught) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 29, 2026
…el 30 unfinished; lb 32 stays PLAUSIBLE Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts resolved by keeping both sides: - Rules: charge (default on) and tiebreak (opt-in) both kept; parse_rules, -cc-rules error text, help text, README, MODIFICATIONS file table. - cc_half.cc: tiebreak's earlier seed construction kept; GH-157 charge scratch added after the K rows. - -cc-mutant accepts 0..15, 17, 18 (16 stays reserved/rejected). - tests/test_cc_engine.cc: the GH-162 mask bit moves from 128 (now charge) to RM_TB = 256. Driver configs "tiebreak", "tiebreak-dual-off- seed1" and "aut-tiebreak" now use the new default (RM_DEF) + tiebreak; "tiebreak-mrv-seed2" adds charge; new "tiebreak-nocharge". Part T runs charge together with tiebreak on seeds 1 and 3. - tests/test_cc_flags.sh: default rules + tiebreak accept / -v rules line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
guluchen
pushed a commit
that referenced
this pull request
Oct 30, 2026
…unds PI decision 2026-10-31. Same matrices (git mv of Hx/Hz/Gx/Gz; only the Gx/Gz header comment changes). Upper bounds unchanged. TN_360_4_17to24 -> TN_360_4_23to24 (GH-157) TN_396_4_17to26 -> TN_396_4_23to26 (GH-157) TN_504_2_17to34 -> TN_504_2_24to34 (GH-157) TN_648_10_9to32 -> TN_648_10_22to32 (GH-157) BB_1080_4_30to48 -> BB_1080_4_32to48 (GH-162, reproduced by GH-183) BB_756_16_30to34 -> BB_756_16_32to34 (GH-183) BB_864_4_30to40 -> BB_864_4_32to40 (GH-183) TN_496_2_23to30 -> TN_496_2_27to30 (GH-181) Lower bounds: DistQLDPC's optional CC engine with opt-in rules that are not on main (charge, PR #161; tiebreak with mrv / -cc-roworder=bfs, PRs #180 / #204; sparse,sparseov,sparsemrv, PR #203), each reproduced with a different search order or binary of the same engine (not an independent second method). Updated: data/matrices/README.md (tier5 list, rename history, open items), NOTICE, README naming example, name columns of optimization/baselines/SERVER.md and main_server_reference.json. The upper-bound witnesses for these eight stems are copied under the new stems to optimization/experiments/GH-146/witnesses/renamed-2026-10-31/ (VERIFY.txt: 8/8 VALID). Historical experiment records are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
guluchen
pushed a commit
that referenced
this pull request
Oct 30, 2026
…unds PI decision 2026-10-31. Same matrices (git mv of Hx/Hz/Gx/Gz; only the Gx/Gz header comment changes). Upper bounds unchanged. TN_360_4_17to24 -> TN_360_4_23to24 (GH-157) TN_396_4_17to26 -> TN_396_4_23to26 (GH-157) TN_504_2_17to34 -> TN_504_2_24to34 (GH-157) TN_648_10_9to32 -> TN_648_10_22to32 (GH-157) BB_1080_4_30to48 -> BB_1080_4_32to48 (GH-162, reproduced by GH-183) BB_756_16_30to34 -> BB_756_16_32to34 (GH-183) BB_864_4_30to40 -> BB_864_4_32to40 (GH-183) TN_496_2_23to30 -> TN_496_2_27to30 (GH-181) Lower bounds: DistQLDPC's optional CC engine with rules that were opt-in when the bounds were found (charge, default on main since PR #161; tiebreak with mrv / -cc-roworder=bfs, PRs #180 / #204, and sparse,sparseov,sparsemrv, PR #203, not on main), each reproduced with a different search order or binary of the same engine (not an independent second method). Updated: data/matrices/README.md (tier5 list, rename history, open items), NOTICE, README naming example, name columns of optimization/baselines/SERVER.md and main_server_reference.json. The upper-bound witnesses for these eight stems are copied under the new stems to optimization/experiments/GH-146/witnesses/renamed-2026-10-31/ (VERIFY.txt: 8/8 VALID). Historical experiment records are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data/doc-only update from main; src/ and tests/ unchanged by it. 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.
Closes nothing yet; issue #162, hub #15. Do not merge before the PI says merge.
The report below is the GH-162 REPORT. My tool setup blocked writing
optimization/experiments/GH-162/REPORT.md; all raw data, scripts and tables it cites are committed underoptimization/experiments/GH-162/.GH-162: orbit-compatible even-weight overlap tie-break (
tiebreak)6083e662. Its CC sources are identical to346d1c68(PR Make -cc-aut=on the CC default (GH-152; do not merge before PI says merge) #155-cc-aut=on; PR Rename six tier5 TN stems with GH-152 CC lower bounds #163 is data only). The main arm runs frozenserver-main-346d1c6(sha2566c1dfb3c…).97c8629(frozenserver-gh162-97c8629, sha2563ea51003…).Summary
-cc-rulestokentiebreak(default off; acts withoverlap). While seed r_i is searched, each even stabilizer row g is counted on g minus first_i(g), with limit |g|/2 - 1. first_i uses a per-seed order: r_i, then the earlier orbits' qubits, then descending label.cc_half.h). excl, pack, parity, leaf, mrv and overlap keep any fixed weight-w target reachable. Only the seed rule constrains the target, and the lex-least element in an order that starts with the seed is a target of that seed.-v, 8 configs x 15 codes: 118/120. The 2 exceptions are MaxSAT-ub-preprogress lines (time-sliced finder, as in GH-152). All-ub-pre=offand CC configs are identical, including-cc-aut=off.make test-cc: new Part T 76 800 ladders, 0 bad; tiebreak driver configs in Parts B/H, 0 bad. Part T with 3 000 instances: 768 000 ladders, 0 bad. Mutants 17 and 18 caught.test-cc-flags417/417. Answers 184/184. 108 witnesses GF(2)-checked.Scientific semantics changed: no (opt-in pruning rule with a proof). PI action required: yes.
1. Proposals
2. Why it is sound (short)
Seeds r_1, r_2, … have blocks O_1, O_2, … (orbits or single qubits). O_1..O_{i-1} are forbidden while r_i runs.
charge/ecover(PR CC engine: charge node lower bound as a default CC rule (GH-157) #161) are target-independent bounds over free qubits likepack, so they are compatible. The combination was not run.3. Implementation
cc_half.{h,cc}:kex_,kexbase_,kexfb_).ov_add_tb/ov_del_tb, used only with the token; the old hot loop is unchanged when it is off.tb_seed/tb_block_done/tb_setswitch the exemptions between seeds while S is empty. The |g| = 2 forbids move with the exemption.cc_driver.cc: the token, plus-vlines that appear only with the token.distqldpc.cc:-cc-mutantaccepts 17 and 18; help text.test_cc_flagssection 7g.4. S0: nodes at the same level, and the choice of order
Settings:
-ub-search=off, seed 0. Ratio vs main at the deepest level every arm refuted (pre/).5. Tier 0
S0/identity_tier01.txt).make test-cc, default (S0/test_cc_default.txt): PASS.test-cc-flags: 417/417.-cc-aut=off,-no-symbreak, mrv, finder and basis off, reduced rule sets): 184/184 = stem.runner/witness_check.py): 108 witnesses, 0 bad. A planted bad witness is rejected.6. Tiers 1-4 (5 seeds; main and tb adjacent in the queue)
7. Tier 5 (6 h, default seed, main and tb concurrent; the 11 codes with even stabilizer rows)
Cross-check (
S1/xcheck_results.jsonl,S1/xcheck_logs.tar.gz): the same binary and rule with relabelling seeds 1, 2 and 3 (independent search orders), 28 800 s each, cores 1-3, run concurrently. Verdict of these three runs alone: not reproduced (level 30 unfinished). Overall verdict: REPRODUCED; see the [Mac agent] CC engine: MRV branching and BFS row order on top of tiebreak #183 check below.The relabelled orders need about 1.7x the level-28 nodes of seed 0. At that ratio, level 30 would need about 28 000 s, so it ends near 33 000-34 000 s, after the 8 h cap. No seed contradicts lb 32 (no level-30 FOUND, every finder upper bound >= 56). - Reproduction from [Mac agent] CC engine: MRV branching and BFS row order on top of tiebreak #183 (PR CC engine: MRV branching and seed-anchored reversed-BFS row order (GH-183, opt-in; do not merge before PI says merge) #204), same standard as [Mac agent] CC engine: fractional-charge / edge-cover node lower bounds #157: same codebase, different search order.
Runs: [Mac agent] CC engine: MRV branching and BFS row order on top of tiebreak #183 Tier 5, binary
server-gh183-d26070d,-cc-rules=excl,pack,orbf,parity,leaf,overlap,tiebreak,mrv -cc-roworder=bfs, plus a second run with-cc-tbbase=asc. Logs:yfclab2:~/mac-agent-20261009/gh183-runs/tier5/logs/t5.BB_1080_4_30to48.tbmrvbfs{,a}.log.Every level 2..30 ended EMPTY. Odd levels are skipped by the parity rule, and the X half is searched under the verified dual map.
There is no FOUND, INCONSISTENT, TRAP or error line in either log.
lb 32 was reached at 7 127 s and 6 739 s.
The node counts differ at every level from level 6 on, so these are different trees:
Caveat: all four runs use the
tiebreakrule and the same CC codebase. The reproduction is independent of the search order, but not of the rule's proof or implementation.The stem has not been renamed (PI decision).
8. Recommendation and PI decisions
tiebreakpart of the default CC rules. Not done here, since it needs PI approval; a follow-up adoption PR would flip the default.BB_1080_4_30to48toBB_1080_4_32to48is the PI's decision.Files
optimization/experiments/GH-162/:runner/: queue with per-job env/bin (cores 0-23), job maker, identity, GF(2) witness check, panel/tier5 analysis.pre/: order exploration.S0/: Tier 0.S1/: panel and Tier 5.Server data:
yfclab2:~/mac-agent-20261009/gh162-runs/.🤖 Generated with Claude Code