Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,6 @@ research/rank7-joint-endframes-restore-edit/** -text -whitespace
research/pr1-retention-receipt/inputs/** -text -whitespace

research/rank-shape-coframe-bill-seed850bc3/sources/pr3066-RESULT.json -text

# Exact PR4088 export bytes and the pinned two-provider rebind.
research/staged544-mixed-idle-rebind/** -text -whitespace
2 changes: 2 additions & 0 deletions research/staged544-mixed-idle-rebind/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
inputs/DISPATCH.json -text
vendor/rebind.py -text
11 changes: 11 additions & 0 deletions research/staged544-mixed-idle-rebind/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Export notice

Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0.

The files under `inputs/` are unmodified exports of
https://github.com/CrocSwap/integer-mult-bounds/tree/72d7efc181edb21806a878f174847c96dd410ab0/research/staged544-mixed-fourth-entry
(Cinna Davis, PR #4088). `THREE-*.json.gz` are the candidate words pinned by zxv's PR #4085 release. SHA-256 digests are checked by `verify.py`.

`vendor/rebind.py` is an unmodified copy of `source/new/rebind.py` from the PR #3815 replay archive `REPLAY-INPUTS.tar.gz` at commit `c5854c77620723aae6914c32122870519a6f820d` (path `research/kappa-adaptive-continuation/sources/PR3815/research/staged544-producer-return/REPLAY-INPUTS.tar.gz`). That engine is the ordinary profile rule used by the later staged544 releases. Its SHA-256 is `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`.

Those predecessor texts keep their original credit and the repository Apache-2.0 license. This notice does not replace them. The new scan, obstruction and moment comparison are the work of this package.
51 changes: 51 additions & 0 deletions research/staged544-mixed-idle-rebind/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Idle cost that the two-provider rebind does not charge

Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0.

## Sources

Canonical base `bb4bccbf42844d2801487450727c2f63e10d1d0f`. The fill, order, dispatch, template, plan, helper origins and four words are the bytes of PR #4088 at `72d7efc181edb21806a878f174847c96dd410ab0`, checked by SHA-256 in `verify.py`. `vendor/rebind.py` is the unmodified file from the PR #3815 replay archive, SHA-256 `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`.

The predecessor global profile is PR #4085's published histogram. Its idle is that histogram minus `3240` copies of the three-entry local profile.

## Scanned invoice

Helper frames are ranked over `F_2^9`. On both orientations the three-entry and four-entry width vectors differ only at origin index 367, register 601, where the width falls from 8 to 7. The declared local profiles agree with that one-unit mass drop:

`L3 = {1:2487, 2:713, 3:224, 4:102, 5:20, 8:8}`, mass 5157,

`L4 = {1:2489, 2:713, 3:227, 4:99, 5:20, 8:8}`, mass 5156.

The published dispatch is exactly the rule `(109 t mod 324) < 109` on the retained 3,240-call order: 1,090 fourth-entry calls and 2,150 three-entry calls. Walking every hosted row against the template windows gives idle

`I = {3:22783, 5:1625, 48:138492}`

and complete profile `2150 L3 + 1090 L4 + I`, which is the #4088 histogram. Total paid rank mass is `65088 * 360`.

The #4085 idle is `{3:22842, 5:1890, 48:138438}`. The difference is `-59 H3 - 265 H5 + 54 H48`, rank mass `+1090`, matching the local saving `1090 * 1`.

## Why the inherited rebind rejects this invoice

`rebind.py` sets `locs = {gauge44, extra}` and, when a provider's widths change, assigns that one vector to every `per_call_widths` entry of the provider. Inside `gauge44` the scanned calls use width 8 on 1,040 calls and width 7 on 528 calls. Inside `extra` the split is 1,110 and 562. One vector per id cannot match both.

The same function adds `n_pid * local_profile[pid]` for a single integer profile. The fourth-entry calls contribute `2 * 528 = 1056` extra rank-1 cells on `gauge44` and `2 * 562 = 1124` on `extra`. Neither count is divisible by the orientation's call count (1,568 and 1,672). No integer local profile per orientation reproduces the mixed local histogram.

Idle is read from the shipped construction and described in the file as the unchanged idle remainder. Substituting the mixed local sum and the #4085 idle produces a different histogram, lighter by exactly 1,090 rank units:

`{1:8060060, 2:2310120, 3:751872, 4:327210, 5:66690, 8:25920, 48:138438}`.

## Moment consequence

Let `M(k) = Σ n_r r^(1-k) - (896 * 360) 73^(1-k)`. Logarithms use the odd artanh series with an explicit geometric tail; `exp(-x)` uses the alternating Taylor theorem. Both are reimplemented in `verify.py`.

For the scanned profile, `M` is negative at `0.001730979115670792472760` and positive at `0.001730979115670792472761`. The same enclosure accepts the #4085 bracket and rejects that profile at the new bracket. After the retained outer padding `10^-46 + 10^-70`, the scanned endpoint still exceeds the #4085 upper endpoint by more than `8.69 × 10^-9`.

For the frozen-idle profile, a 24-step bisection isolates a sign change in

`(7328391261/4194304000000, 5862713009/3355443200000)`,

about `0.00174722463155`. The lower end exceeds the scanned upper endpoint by `259928254034166138949/16000000000000000000000000 > 1.62 × 10^-5`. Charging the scanned idle, in particular the 54 rank-48 cells, is what pulls the root back down. An ordinary release that kept the shipped idle would be certifying a different, lighter invoice.

## What this does not prove

The scan uses the words' declared local histograms and checks them against the frame-rank mass. It does not replay scalar semantics or the five native stages. It does not execute `admit544.py`, the outer ledger, or #4100's unconditional writeup. Passing this verifier does not admit a selected κ.
56 changes: 56 additions & 0 deletions research/staged544-mixed-idle-rebind/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# The ordinary rebind cannot charge PR #4088's mixed idle

**Finite profile reproduced. Ordinary admission blocked by the shipped idle remainder. No selected-frontier change.**

The highest pending conditional endpoint on canonical main `bb4bccbf42844d2801487450727c2f63e10d1d0f` is the mixed staged544 profile of [PR #4088](https://github.com/CrocSwap/integer-mult-bounds/pull/4088) at head `72d7efc181edb21806a878f174847c96dd410ab0`:

`κ = 0.001730979115670792472760 − 10^-46 − 10^-70`.

[PR #4100](https://github.com/CrocSwap/integer-mult-bounds/pull/4100) quotes a numerically sharper unconditional reading of that same profile and states that the historical outer-admission CLI was not run. Selected κ remains `0.001672660197076918` (#1094).

## What blocks admission

The inherited ordinary rebind, pinned here as `vendor/rebind.py` (SHA-256 `faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af`, from the PR #3815 replay archive used by the #3945/#4076/#4085 release), does two things this fill cannot survive:

1. It has only the provider ids `gauge44` and `extra`, and it writes one width vector onto every call of a provider.
2. It rebuilds the global profile as `n_pid * (one integer local profile) + idle`, where `idle` is the shipped `CONSTRUCTION.json` remainder and is not recomputed.

An independent scan of the vendored #4088 rows finds that helper 601, origin index 367, has width 8 on 2,150 three-entry calls and width 7 on 1,090 four-entry calls. Both orientations mix those widths (`gauge44`: 1,040 eights and 528 sevens; `extra`: 1,110 eights and 562 sevens). The two extra rank-1 cells on each fourth-entry call are not divisible by the orientation's call count, so no single integer local profile per orientation reproduces the mixed local histogram.

The scanned idle remainder is `{3: 22783, 5: 1625, 48: 138492}`. Relative to the #4085 two-provider idle `{3: 22842, 5: 1890, 48: 138438}` the change is

`-59 H3 − 265 H5 + 54 H48`,

rank mass `+1090`. That exactly balances the local rank-mass drop of one unit on each of the 1,090 fourth-entry calls. Keeping the #4085 idle while accepting the mixed local histogram drops those 1,090 rank units. The moment of that illegal profile changes sign near `0.00174722463155`, more than `1.62455 × 10^-5` above the scanned root. The `+54` rank-48 cells are the charge the ordinary engine would omit.

The scanned complete profile is

`{1: 8060060, 2: 2310120, 3: 751813, 4: 327210, 5: 66425, 8: 25920, 48: 138492}`.

Its moment is negative at `0.001730979115670792472760` and positive at the next 24th digit. That reproduces the finite #4088 bracket. It is a positive control for the scan, not a new root and not an admission.

## Existing checks and what is still open

#4088's own verifier walks this fill and prices the moment. #4085 completed the two-provider ordinary release for the three-entry words. No open PR extends that rebind to four width vectors and a recomputed idle. This package does not rerun native stages or the outer-release CLI, and it does not discharge #4100's unconditional argument. The selected record is unchanged.

## Reproduce

From the repository root, standard-library CPython 3.12:

```sh
python3 scripts/research_package.py --package research/staged544-mixed-idle-rebind --check-only
python3.12 scripts/research_package.py --package research/staged544-mixed-idle-rebind
```

The direct command is `python3 -B research/staged544-mixed-idle-rebind/verify.py`. It checks the vendored bytes, scans all 1,321,920 rows, certifies both moments, and rejects five mutations: a 108-of-324 selector, a three-entry width on the first fourth-entry call, the frozen-idle profile at the claimed bracket, one extra rank-1 cell, and the #4085 profile at the claimed bracket.

## Open next questions

1. Extend the pinned rebind to four provider ids, recompute idle from the per-call widths, keep every admission predicate and mutation control, and rerun the ordinary/outer release. That is the integration step still required before a maintainer can consider this endpoint.
2. A different literal fill might place helper 601's freed unit without creating 54 rank-48 idle cells. Any such fill needs its own row scan and moment certificate; the fractional screen is not a substitute.

## Credit

Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0.

The mixed words, dispatch and owner rows are unmodified exports of Cinna Davis's PR #4088. The three-entry gzip hashes `df31495c…` and `9a28f7ef…` are the candidate pins of zxv's PR #4085 release. The two-provider rebind is the unmodified PR #3815 archive file used by Dugongue's PR #3945 and Rohan Arun's PR #4076. `NOTICE.md` records the export.
18 changes: 18 additions & 0 deletions research/staged544-mixed-idle-rebind/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"schema_version": 1,
"base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "b1fea0c94436b236cc2b7d41a7be032811b94c81",
"sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5",
"sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0"
}
]
}
72 changes: 72 additions & 0 deletions research/staged544-mixed-idle-rebind/TASK.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"schema_version": 1,
"task_id": "independent-moment",
"priority_revision": 6,
"base_commit": "bb4bccbf42844d2801487450727c2f63e10d1d0f",
"original_card": {
"id": "independent-moment",
"question": "Does one changed supplier or assembly claim lack a source-bound independent check of a specific new implication?",
"starting_points": [
"certificates/selected-result.json",
"research/rank7-joint-endframes/README.md",
"docs/research/research-family-status.md"
],
"methods": [
"Independently reconstruct a coordinated frame/circuit change and its single-change control, then derive the complete rank and physical ledger.",
"Implement certified moment inequalities through a different exact enclosure method."
],
"acceptance_gate": "Demonstrate independence, source binding, positive cases and semantic failure controls. Name the existing checks and the missing coverage. More digits or another equivalent evaluation of an unchanged root is not by itself new verification coverage.",
"first_step": {
"command": [
"python3",
"-B",
"scripts/research_baseline.py"
],
"expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY",
"inspect": "Read #2979 joint rank-7 end-frame proposal and the revision-6 evidence status. Its claimed kappa is not selected. Compare coordinated changes with the losing single-change controls and locate the complete physical ledger; an aggregate moment alone does not validate the mechanism.",
"scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay."
},
"first_experiment": "Prioritize a bounded independent audit of #2979: reconstruct one joint group and its single-lowering control, check the declared frames/chronology, then trace changed children, idle widths and cleanup buffers into the complete invoice and both supplier caps. Choose one still-missing implication after checking existing audits. Stop with exact unresolved dependencies if full admission exceeds the session; do not launch a new lowering census on an unvalidated premise or substitute extra root digits for mechanism checking.",
"bottleneck_link": "Independent pricing prevents unsupported frontier claims and can reveal genuine accounting slack.",
"allowed_variations": [
"Reconstruct either a source ledger or a numeric enclosure with a different method."
],
"scope_change_triggers": [
"Importing the primary function and calling its output independent verification.",
"Promoting #2979 from merged source archive to validated supplier solely from author PASS receipts or aggregate pricing."
],
"overlap_terms": [
"independent moment",
"rank histogram",
"exact enclosure",
"2979",
"rank7 joint endframes",
"paired extraction",
"joint lowering"
]
},
"scope_status": "changed",
"actual_scope": "Identify the ordinary-release cost that blocks admission of the highest pending conditional endpoint, PR #4088's mixed staged544 profile, by scanning its literal owner rows and comparing them with the pinned two-provider unchanged-idle rebind.",
"scope_change_reason": "The catalogue's first experiment asks for one #2979 joint group. Those audits already exist, and #2979 is not the highest pending conditional claim. The live blocker is the complete invoice of PR #4088/#4100: the inherited rebind never recomputes the mixed idle.",
"bottleneck_link": "The complex supplier binds. A higher selected \u03ba needs this mixed invoice charged in full. Omitting the scanned idle, including 54 rank-48 cells, overstates the root by more than 1.62e-5.",
"budget_minutes": 180,
"stop_rule": "Stop once the literal idle scan, the two-provider divisibility obstruction and the frozen-idle moment comparison are checked. Do not rerun the outer-release CLI or edit the selected record.",
"outcome": "completed",
"evidence": "Independent scan of 1321920 rows reproduces idle {3:22783,5:1625,48:138492} and the #4088 profile. Helper 601 widths split 8/7 inside both orientations, so one vector per provider id fails. Rank-1 extras 1056 and 1124 are not divisible by 1568 and 1672. Keeping the #4085 idle drops 1090 rank units and moves the root above 0.00174722463155. Five rejection controls pass. Ordinary release not rerun; selected frontier unchanged.",
"author": "unpaidmoon",
"ai_assistance": "Prepared by unpaidmoon with substantial Cursor Grok assistance for the scan, the rebind obstruction and the rational moment comparison.",
"open_questions": [
{
"question": "Can the pinned ordinary rebind be extended to four provider ids so idle is recomputed from the per-call widths and the full outer release still passes?",
"why_it_matters": "That is the remaining integration step before a maintainer could consider the #4088 endpoint. This package shows the current rule charges the wrong idle.",
"first_step": "Add gauge44-four and extra-four to rebind.py, stamp each call's own width vector, recompute idle from the literal bins, and rerun admit544.py with every existing mutation control.",
"blocked_by": "The full release needs the reconstructed source closure, native cache and outer wheels. This session stops at the cost identification."
},
{
"question": "Is there a different literal fill that uses the width-7 helper 601 calls without adding 54 rank-48 idle cells?",
"why_it_matters": "Those 54 cells are what pull the scanned root back from about 0.00174722 to 0.001730979. Removing them would be a new construction, not an admission of this fill.",
"first_step": "Propose one complete row assignment, then rerun this package's walk and moment certificate on that fill.",
"blocked_by": "A fractional packing screen does not supply the rows or the idle histogram."
}
]
}
33 changes: 33 additions & 0 deletions research/staged544-mixed-idle-rebind/VERIFY.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"schema_version": 1,
"status": "ready",
"python": "3.12",
"requirements": [],
"inputs": [
"research/staged544-mixed-idle-rebind/inputs/DISPATCH.json",
"research/staged544-mixed-idle-rebind/inputs/FILL.json.gz",
"research/staged544-mixed-idle-rebind/inputs/FOUR-base.json.gz",
"research/staged544-mixed-idle-rebind/inputs/FOUR-extra.json.gz",
"research/staged544-mixed-idle-rebind/inputs/MIXED-DISPATCH.json",
"research/staged544-mixed-idle-rebind/inputs/NATIVE-base.json.gz",
"research/staged544-mixed-idle-rebind/inputs/NATIVE-extra.json.gz",
"research/staged544-mixed-idle-rebind/inputs/ORDER.json",
"research/staged544-mixed-idle-rebind/inputs/PLAN.json.gz",
"research/staged544-mixed-idle-rebind/inputs/PR4085-PROFILE.json",
"research/staged544-mixed-idle-rebind/inputs/TEMPLATE.json.gz",
"research/staged544-mixed-idle-rebind/inputs/THREE-base.json.gz",
"research/staged544-mixed-idle-rebind/inputs/THREE-extra.json.gz",
"research/staged544-mixed-idle-rebind/vendor/rebind.py"
],
"commands": [
{
"argv": [
"{python}",
"-B",
"{package}/verify.py"
],
"timeout_seconds": 120,
"checks": "SHA-256 pins, literal idle scan, two-provider width and divisibility obstruction, scanned and frozen-idle moment signs, and five rejection controls."
}
]
}
1 change: 1 addition & 0 deletions research/staged544-mixed-idle-rebind/inputs/DISPATCH.json

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions research/staged544-mixed-idle-rebind/inputs/ORDER.json

Large diffs are not rendered by default.

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"1": 8057880,
"2": 2310120,
"3": 748602,
"4": 330480,
"5": 66690,
"8": 25920,
"48": 138438
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading