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
1 change: 1 addition & 0 deletions research/r437-pooled-native-interface/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
inputs/** -text -diff
150 changes: 150 additions & 0 deletions research/r437-pooled-native-interface/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# Replica-indexed native request boundary for pooled R437

## Result and exact dependency

PR3995 at ae29394a128ba2016919446a7377c7d75ff9c18e binds Rohan Arun's
63 PR3959 moves to the actual retained emitter, and proves the old catalogue's
replica symmetry guard fails. Its emitted-IR and slot-packing results are reused,
not rediscovered. We construct the next interface: a complete replica-indexed
request vocabulary, actual owner charts, source templates and explicit IDLE
selection. This is a source/compiler interface, not a physical caller execution
or supplier admission. PR3980 supplies the dyadic determinant and separation
checker; all actual pooled calls are checked here without replica symmetry.
The local-only follow-up on PR3959 already proves the first helper's permutation
transport and common-plan equality. We do not claim that as new work.

## Physical objects and request keys

There are 288 local calls, indexed by (stage, replica), with 659 roles each.
The absolute owner of a role is exactly the pooled template's family and route.
Requests are keyed by (kind, stage, caller replica, position), except IDLE uses
its local copy/role instead of position. The catalogue enumerates all paid
physical request sites, not one replica followed by a multiplicity factor.
Its local order is stage, replica, positive literal MOVE/COPY position; IDLE
order is the retained compiler's child, replica, local-copy order. The lazy
sequence merely constructs that finite table on demand. It does not identify
requests across replicas. In particular, different replicas can own distinct
slots of the same absolute family.

Local bases, frames, chronology and COPY/ERASE matching come from the authenticated
current unpooled R437 word; the pooled compiler changes only the declared owner
records. The existing canonical adapter verifies that literal word and local
program. For MOVE, the request family and chart come from the actual call role.
For COPY, the target is the existing private common family 28416, while its source
chart comes from the actual role. The canonical Template method retains the
rank/base/preparation construction and appends the native/common tag to a record
that now starts with schema and caller replica. All2592 ERASE guards expand to
(stage,replica,erase-position,capture-position,role,base-key).

For IDLE, the retained compiler establishes that occupied cells form a compact
prefix of the actual pending-axis list in each (child,absolute-family). The
request base is precisely the remaining suffix, not a suffix inferred from
replica 0. The family is already absolute. `idle_identifiers(child,replica)`
selects that replica's entries exactly once; `idle_family(id,replica)` checks the
request's replica and returns its family with no extra stride. The old `idles`
interface is deliberately unavailable. An existing consumer must replace its
IDLE lookup by this explicit API before it can consume this topology.

Every request's key is checked back to its exact ordinal and every local ordinal
back to the actual caller's request vector. IDLE enumeration is checked for
coverage and uniqueness. This gives a finite constructive bijection between
paid literal sites and catalogue entries. The cardinality is 903456, consisting
of 836928 MOVE, 2592 COPY and 63936 IDLE requests, with rank mass 1808352.
The profile contains 400877 rank 2 requests and exactly one rank 14 request, so it
cannot be represented by multiplying a canonical profile by 32.

## Uniform owner separation and right action

Let D=Z[1/2]. Every actual pooled chart sigma is a 64 by64 matrix over D.
The independent reconstruction agrees with the canonical chart constructor for
all 1235 labels. Exact elimination gives determinant +1 for 236 labels and -1 for 999.
Consequently every chart is invertible modulo every odd prime and every odd
prime power. This is a finite certificate of a uniform algebraic premise, not
enumeration of all primes or GL64 classes.

For each of the 179802 unordered pairs of different roles sharing a family in
one actual call, the checker exhibits an entry of sigma_a-sigma_b that is a
unit of D. Thus the charts remain different modulo every odd prime. For any
invertible common low d0, the native packet lows are ell_a=d0 sigma_a^-1 and
ell_b=d0 sigma_b^-1; equality would imply sigma_a=sigma_b modulo q, a contradiction.
Different families are separate physical registers; same-family owners use
different low packets. All 288 actual calls are checked; no 32-fold symmetry
extension is used for this pooled source. Sequential calls may reuse these
packets and must observe the latest family state.

The address action is on the right: rho_sigma(g)=g sigma. Given native low
ell=d0 sigma^-1 modulo q and a high-digit matrix X, let g=ell+qX modulo q^w.
Canonical reduction of g sigma has low d0 and unique high matrix Y. Right
multiplication by the invertible sigma is a bijection of these complete fibres.
Its inverse uses sigma^-1. No invertibility of the high-digit matrix X is
required. Canonical quotient extraction includes carries; a permutation-only
formula cannot replace this for general rational charts. Equality of these
address maps gives equality of their pullbacks pointwise for every Boolean
function, including arbitrary dirty dependence. Correct routing therefore
transports arbitrary complete packets, conditional on the physical route
primitive realizing this specified permutation. This algebra does not execute
or price that primitive.

In groupoid terms, the objects are the typed family/low fibres and the arrows
are these invertible chart transports. The caller replica is part of the
request object even when arrows happen to use the same family. Collapsing the
objects before selecting their charts is precisely the old interface error.

## Codebook identity and complete incremental bill

For fixed q let L=|GL64(F_q)|. The old vocabulary had 28233 requests and source
code limit 2*28233*L. The new one has 903456=32*28233 requests and limit 32 times
larger. Since ceil(log2(32x))=5+ceil(log2 x), the exact fixed source-code width
increases by five bits for every fixed odd prime q. At q=3 this is 6507→6512.
This is code-field width, not a claim that all physical descriptor layouts grow
by only five cells: any layout depending on that width must be recompiled and
charged. The lazy host-side representation gives no free run-time compression.

A source handle contains schema, source-codebook identity and integer code.
The identity binds q, dimension, request cardinality, code width, the exact retained
low-code codec, the authenticated unpooled request digest and exact pooled move
bytes. Cross-prime handles are rejected as well. The supplied Specifications must be bound to the same catalogue object.
A stale/untyped handle or mismatched Specifications context is rejected before the canonical source
compiler. The new Template record also includes replica and schema; successful
compilation of one integer under a different context cannot be mistaken for
historical source compatibility. Fixed-context integer codes remain internal
to the retained Specifications implementation. Handles are an interface check,
not a new authenticated physical serialization protocol. The fixed codebook
identity can be a static compilation parameter; if serialized dynamically,
its scan/storage cost remains additional and must be charged.

The exact event multiplicities remain, per low class, 189792 local gathers and
189792 local scatters,63936 IDLE gathers and 63936 IDLE scatters, and 379584 local
routes. With N low classes and completed tariffs G,S,R, the complete owner
transport term is 253728N(G+S)+379584NR. Neither the new table nor the separation
proof removes any route/scan. The request rank profile changes exactly as in
PR3995; COPY reads, paid child transforms, native preparation, private lifetime,
ERASE, dirty restoration, bridges, exchange, parking and full source consumers
remain separately charged. A complete caller bound must also replace each old
source-code width by width+5 in every descriptor, header, history checkpoint,
serialization and scanner where that field is present, re-evaluate alignment,
and sum the actual read/write/rewind rates. In the retained records.py grammar, STEP length is c=Q+2I+90 and
Program length P_h=2I+L+6+h*c; the exact increment is therefore 5h symbols
per Program. Each raw field has length Q+2+4096(L+1), increasing by 5.
With n_f raw fields and a Program with h steps, this contributes exactly
5(n_f+h) extra source-code symbols before checkpoint encoding and repeated
consumption. In the fixed four-symbol parking codec credited to PR3983, a
chronological depth-d Program stack starting at h_0 incurs 20[d*h_0+d(d-1)/2]
extra parked body symbols. Root record lengths are unchanged when I,L are
fixed. Alignment and any changed I,L require separate recomputation.
The count of those occurrences,
primitive tariffs and whole-run visited-cell reserve are unknown here. This is
an exact incremental interface invoice with explicit unknowns, not a complete
numerical physical cost bound.

## Evidence and limits

The verifier compiles representative actual q=3 specifications: the relocated
MOVE in common and native form, the unique pooled rank 14 IDLE, and actual COPY.
Their typed records, ranks and replica identities are checked. This is finite
source compilation, not execution on a shortened or production-volume packet.
The all-q statement concerns the chart and owner-separation algebra; the complete
supplier and all its source/child/physical obligations remain conditional.
Negative controls reject omitted replica, wrong IDLE replica, legacy enumeration,
replica-factorized profile, duplicate chart, stale/cross-prime codebook, untyped source and
native COPY. No kappa/frontier change is asserted.
81 changes: 81 additions & 0 deletions research/r437-pooled-native-interface/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Pooled R437 replica-indexed native request interface

This package fills the next source boundary exposed by PR3995: all actual pooled
requests now include the caller replica, actual owner charts and absolute IDLE
families. The new topology has an explicit replica-indexed IDLE API. It does not
execute a physical CALL/RETURN or admit the pooled supplier.

The complete source audit checks:

- 903,456 paid request sites: 836,928 MOVE, 2,592 COPY and 63,936 IDLE; exact
pooled rank profile and rank mass 1,808,352.
- Every request key and actual caller identifier, plus exactly-once IDLE coverage.
- All 1,235 actual charts, with dyadic entries and determinant ±1, and all 179,802
same-family owner pairs in all 288 calls, each with a dyadic-unit separation
witness. This certifies owner separation for every odd prime without assuming
replica symmetry.
- Actual retained q=3 source compilation for the first relocated MOVE in both
native/common forms, the unique rank-14 IDLE, and a COPY. The committed result
reports good/fallback classification; compilation is not fallback execution.
- Exactly five additional source-code bits at every fixed q: q=3 grows from
6,507 to 6,512. Program histories and raw fields must pay for that expansion.
- Wrong replica, legacy IDLE lookup, stale or cross-prime source-code context,
mismatched Specifications, untyped source, duplicate chart, replica-scaled
profile and invalid native COPY are rejected.

The ordered request digest is
`29ad864c2a6a31ad15162b0165b4f047cf580d9f2c147aebcfccfd564ccbbc60`.
The first moved helper's MOVE is request 563291; the same literal position in
replica 0 is request 560376. Both use family 209, with distinct charts. This is
why absolute family alone cannot identify the caller's request.

Run the registered, standard-library replay:

```
python3 -B scripts/research_package.py --package research/r437-pooled-native-interface
```

No Git, network or predecessor worktree is used by verification. `SOURCES.json`
authenticates retained bytes and the canonical source closure. Pending source
files are retained locally; source-provenance metadata identifies their original
commits. The inherited full compiler file is retained unchanged, but only its
source overlay/slot validator is executed here, not its unused emitter helpers.
The new catalogue intentionally requires an IDLE consumer change; it is not a
silent replacement accepted by the old physical compiler.

`PROOF.md` states the complete changed contract and uniform algebra, exact
transport multiplicities, code-width invoice and remaining unknowns. Physical
routing, complete residual/source access, prior dirty-state observation, native
preparation, CALL/RETURN, all consumers, source acceptance, chronological history,
parking and global visited-cell/resource coupling remain obligations. There is
no shortened-volume execution passed off as a production result, no new kappa,
and no frontier change.

Credit Rohan Arun's PR3959/3958/3939 for pooling and its conditional endpoint;
ai-nanachi's PR3647, Ali Romman's PR1043 and Sagar Thakrar's PR3700/2423 for the
R437 word/hosting lineage; PR3995 for absolute-owner emission and the catalogue
counterexample; PR3980 for the dyadic owner checker; PR3983 for complete
chronological parking accounting; Nick Petalas's PR2989 for earlier owner
separation/compiler correspondence. The prior PR3959 local follow-up already
established the first helper's permutation transport and common plan identity.
Canonical physical/source/compiler credit includes zxv, David Arias, Jose Manuel
(jmbarrancoml), ywz65, alephnan, Adam Gall, Ross Richardson and the retained
notices, together with mightyOil, DaysSky, chafreaky, DreamingOfClouds and eumemic.

New interface, audit and writing: Chris R / Clear1nsight with substantial OpenAI
Codex assistance. Same-session AI cross-review is distinct from human or formal
kernel acceptance. Apache-2.0; inherited notices and byte-exact retained sources
are preserved.

## Open next questions

1. Adapt the full physical compiler's IDLE enumeration and bind the first actual
pooled gather/native source/return with its preceding dirty read and every
consumer. Source compilation and owner separation are ready premises;
physical primitive and complete source acceptance are still required.
2. Substitute the widened source-code field into the actual chronological
history, raw fields, checkpoint codec, scans and returns. Count all occurrences
and whole-run reserve before claiming a complete numerical physical bill.
3. Join the actual pooled caller to an admitted child supplier and all-size,
stock, precision and analytic bounds. A successful finite replay alone does
not discharge these remaining supplier obligations.
101 changes: 101 additions & 0 deletions research/r437-pooled-native-interface/RESULT.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"ERASE_guards": 2592,
"chart_count": 1235,
"chart_sha256": "8d8d44ca739b1c87902a19af89c961c76c9081c2a821cee8dcc64cae68153426",
"code_bits_delta": 5,
"compiled_actual_sources": [
{
"common": true,
"good": true,
"kind": "MOVE",
"rank": 2,
"replica": 1,
"request": 563291
},
{
"common": false,
"good": false,
"kind": "MOVE",
"rank": 2,
"replica": 1,
"request": 563291
},
{
"common": false,
"good": false,
"kind": "IDLE",
"rank": 14,
"replica": 0,
"request": 896352
},
{
"common": true,
"good": false,
"kind": "COPY",
"rank": 7,
"replica": 0,
"request": 1598
}
],
"controls": [
"replica omitted",
"wrong idle replica",
"legacy idle consumer",
"replica factorized profile",
"same-family duplicate chart",
"stale source codebook",
"different prime source codebook",
"mismatched Specifications context",
"untagged integer source",
"native COPY request"
],
"determinants": {
"-1": 999,
"1": 236
},
"family_scans_per_low": 507456,
"first_moved_request": 563291,
"full_physical_caller_executed": false,
"idle_owner_gathers_per_low": 63936,
"local_owner_gathers_per_low": 189792,
"new_q3_code_bits": 6512,
"old_q3_code_bits": 6507,
"per_stage_pairs": {
"0": 6848,
"1": 13920,
"2": 27392,
"3": 27872,
"4": 27872,
"5": 27808,
"6": 27322,
"7": 13920,
"8": 6848
},
"profile": {
"1": 380160,
"2": 400877,
"3": 22176,
"4": 26592,
"5": 29376,
"6": 17375,
"7": 26496,
"14": 1,
"42": 403
},
"rank_mass": 1808352,
"replica_zero_request": 560376,
"request_count": 903456,
"request_kinds": {
"COPY": 2592,
"IDLE": 63936,
"MOVE": 836928
},
"request_sha256": "29ad864c2a6a31ad15162b0165b4f047cf580d9f2c147aebcfccfd564ccbbc60",
"routes_per_low": 379584,
"same_family_pairs": 179802,
"source_identity": "84cc5d15252e334b9bed24c50d6826fd3d765710857e5db04889fc76d62aed1e",
"status": "PASS_POOLED_REPLICA_NATIVE_REQUEST_INTERFACE",
"supplier_admitted": false,
"unique_chart_pair_witnesses": 463,
"witness_sha256": "1818977337134cdda43778d82d79ca4a061a4fc271ad5cb0ec2966659abf2185"
}
Loading