Skip to content

Selected PR1094: complete two-role whole-helper swap census (no improving swap) - #1790

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
navinor:research/agent-26-selected-swap-5faf82d9
Oct 14, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
navinor:research/agent-26-selected-swap-5faf82d9

Conversation

@navinor

@navinor navinor commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Scope

Exact finite census of the unordered two-role whole-helper swap move class on the selected PR 1094 owner map (the exact map of research/complex-t16-rare-pattern-exchanges/), with all 144 call times, helper widths, source-event windows and the local paid word fixed. This is the move class research/frontier1094-single-relocation explicitly lists among its non-exclusions. Package: research/frontier1094-swap-census/. Base main 0b1cccf86e2f5132ed286a26ef0a681a495740ea; selected-record SHA-256 10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32. No kappa, supplier or selected-frontier change.

Task card: selected-packing (chooser OS nonce 5faf82d91e84b5186f43a7c029914c43, priority revision 3), scope refined to one bounded residual move class (TASK.json declares the refinement and reason). Coordination claim: #1166 (comment) (expires 2026-10-14 11:45 UTC; a DONE update follows this PR).

Result

No unordered swap of two whole helpers between distinct owner bins strictly reduces the idle moment, for any real 0<a<1. Complete pair accounting over all C(69120, 2) = 2,388,752,640 unordered role pairs:

Category Count
Same-bin swaps (no-ops) 88,345
Capacity-infeasible 1,570,734,429
Strictly improving for every 0<a<1 1,150
Neutral for every 0<a<1 816,035,605
Strictly worsening for every 0<a<1 1,893,111

All 1,150 capacity-feasible improving pairs fail the strict source-event window rule (lo < position < hi on at least one landing); the active-pair and per-call family rules are never reached, so the obstruction holds with those two restrictions relaxed. The 1,150 pairs come from five role classes (own-bin remainder, width): (1,7)x(3,4) 377, (1,7)x(7,8) 1, (3,9)x(7,4) 754, (7,4)x(7,9) 12, (7,8)x(7,9) 6. No swap touching a zero-remainder bin can improve, and the 4,866 empty rank-48 bins are outside this class entirely.

Method: a swap moves net rank d = w1 - w2 between bins x1, x2, preserving the sum; strict concavity of t^p + (S-t)^p (p = 1-a) makes the sign uniform for every real 0<a<1 and an exact integer comparison of maxima. Completeness is an exact accounting identity over 87 role-class rows; the materialized improving list has exactly the analytic count.

Evidence and controls

CERTIFICATE.json records the inherited PR 1091 baseline recount, all 87 class rows, every 1,150 improving pair with both landing checks and rejection reasons, the positive fixture and eleven inherited owner mutation controls. Thirteen test groups (test_verify.py), including:

  • an exact two-square-root radical oracle at a = 1/2 on the 3,472 feasible integer quadruples of its grid;
  • a toy brute-force pair enumeration matching the class-count tabulation;
  • the pair-aware family rule (a same-call swap is a bijection and must not read as a collision; a cross-call collision binds when the window is muted);
  • strict window endpoints, certificate tampering, a suppressed candidate, and source-drift rejection.

Negative-result positive fixture: a real legal swap (roles (5,4,139) and (7,14,296), remainders 1+7 -> 2+6, strictly worsening) is applied in memory; the inherited owner audit accepts the changed map with its recounted idle histogram, and the census on that map reports the same pair as a legal strictly improving swap (its inverse). Swapping back restores every bin remainder and the audit passes again. These maps are controls, not admitted constructions.

Packing cap (acceptance gate)

The pinned calculator research/complex-local-word-ceiling/ceiling.py, called as ceiling(local, 73, 896, 9, 64) on the audited per-call local profile {1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}, gives a < 0.001690054109089, i.e. kappa < 0.001687202645325402 (+0.87% over the selected kappa 0.001672660197076918). This census realizes 0.0 of that headroom: no legal swap improves the idle moment at all. The linear a < D/E supplier diagnostic does not apply to a fixed-word repacking; the packing ceiling is the applicable budget.

Verification (Windows, CPython 3.13.15 and 3.12.14; standard library only)

python3 -I -O -B research/frontier1094-swap-census/verify.py
# PASS_PR1094_SWAP_CENSUS_OBSTRUCTION pairs=2388752640 possible_gains=1150 legal_gains=0 positive_control=natural_legal_worsening_swap no_new_kappa
python3 -I -O -B research/frontier1094-swap-census/test_verify.py
# Ran 13 tests ... OK
python3.12 -B scripts/research_package.py --package research/frontier1094-swap-census
# PASS_REGISTERED_RESEARCH_PACKAGE research/frontier1094-swap-census outcome=negative-result
python3 scripts/research_package.py --package research/frontier1094-swap-census --check-only
# PASS_PACKAGE_METADATA_AND_PINS
python3 -B scripts/verify_selected_result.py
# PASS selected record, exact kappa ... 836330098538459/500000000000000000
python3 -B -m unittest discover -s tests -p 'test_research_*.py'
# Ran 42 tests ... OK (skipped=2)

All were run fresh at the submitted head; default verification regenerates every certificate byte in memory.

Limitations

  • Finite census of unordered two-role swaps between distinct bins only. Not excluded: legal neutral paths among the 816,035,605 capacity-neutral pairs followed by an improving move, three-or-more-role cycles, within-bin slice repacking, different call orders, changed local words, helper splitting, idle-axis transfers.
  • No new kappa, supplier admission, hosted invoice, cold replay or multiplication-theorem obligation. The selected record is unchanged. This is not a global packing optimum or an impossibility theorem beyond the stated class.

Open next questions (in the package)

  1. Neutral-then-improving two-step moves: filter the neutral pairs by the same landing rules, apply each legal one, and enumerate newly possible improving pairs on the changed map.
  2. Three-role cyclic transfers: derive the majorization sign rule for cyclic transfers with sum d_i = 0 and count capacity-feasible improving triples (needs a window/family join designed first).

Credit

Selected construction and owner map: Rohan Arun (#1094) and its retained construction lineage. Owner geometry, baseline audit and the eleven mutation controls: Josie Elliston (#1091, research/t16-owner-audit-seed67), reused as a pinned input and credited, not reimplemented. One-role relocation census and its concavity comparison method: research/frontier1094-single-relocation (prepared for @Arham-Tahir64). Packing ceiling calculator: Douglas Colkitt's #1240 lineage. Overlap-check and packaging tooling: Douglas Colkitt.

Prepared by Aaron Wang, with help from opencode. Substantial AI assistance in derivation, implementation and verification is disclosed. Apache-2.0.

@Mister-Meeseeks
Mister-Meeseeks merged commit 808a781 into CrocSwap:main Oct 14, 2026
32 of 61 checks passed
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

Batch review at 48ee04ee708081c8713e8868a370bbbf5aa099e1.

Merged to main, preserving the original contributor commits and package attribution.

Reviewed scope: Complete compressed census of2388752640 unordered whole-helper pairs uses exact concave fixed-sum ordering. All1150 potentially improving capacity-feasible swaps fail actual strict windows; a legal worsening swap and its detected improving inverse calibrate the test. Neutral paths, larger cycles and changed inventories are outside scope.

The pinned scoped command passed; the batch ledger contains its command, input hashes, environment and log. This incorporates the research/tooling contribution and does not change the selected κ or discharge the inherited multiplication-theorem assumptions.

Batch review, attribution and evidence. Thank you for the contribution.

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.

2 participants