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
36 changes: 36 additions & 0 deletions research/p104-flag0-tail-owner-host/CERTIFICATE.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"schema_version": 1,
"claim_id": "p104-flag0-tail-owner-host",
"pinned_main": "20ecf2891d80b5acf18d980b2164fb44ea7faa90",
"answers": "CrocSwap#3669 OQ2",
"flag_index": 0,
"source": 0,
"target": 34,
"source_register": "X0",
"target_register": "Y34",
"promote_event": 5758,
"add_event": 5759,
"restore_event": 5807,
"coefficient": "-1/2",
"host_chart": [1, 2, 4, 8, 16, 32, 64, 128, 256],
"channel_final_x0": [1, 2, 4, 8, 16, 32, 64, 128, 256],
"channel_final_y34": [499, 23, 232, 32, 112, 15, 7, 2],
"source_initial": [232],
"target_initial": [],
"schedule_id": "S0",
"owner": "X0",
"owner_kind": "self",
"unique_owner_among_event_named_registers": true,
"dirty_helper_touches_in_window": 0,
"x0_destination_events_after_channel": 0,
"x0_last_destination_event": 1486,
"endpoint_repay_x0_to_initial": false,
"endpoint_repay_y34_to_initial": false,
"x0_frame_after_restore": [1, 2, 4, 8, 16, 32, 64, 128, 256],
"y34_frame_after_restore": [499, 23, 232, 32, 112, 15, 7, 2],
"y34_tail_transports": [5758, 5807],
"window_add_count": 48,
"pre_read_x0_restoration_blocks_common_chart": true,
"selected_kappa": "0.001672660197076918",
"no_new_kappa": true
}
67 changes: 67 additions & 0 deletions research/p104-flag0-tail-owner-host/MASTER-HANDOFF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Master handoff — `research/p104-flag0-tail-owner-host/`

## Candidate

- Branch: `cursor/flag0-tail-owner-host-60b9` (VictorLiwentao fork).
- Content tip: `01cbbe345` (scientific package commit; parent = pinned base).
- Packaging tip: branch HEAD (`git rev-parse HEAD` on this branch).
- Package: `research/p104-flag0-tail-owner-host/`
- Base: CrocSwap main `20ecf2891d80b5acf18d980b2164fb44ea7faa90`
- Card: `p104-side-correction` (refined), priority revision 6
- κ: unchanged at `0.001672660197076918`
- Author and committer: Wentao Li `<wentaol4@illinois.edu>`, with no
`Co-authored-by: Victor Li` trailer (`git -c core.hooksPath=/dev/null commit`).
- **Do not open a CrocSwap PR** — master publishes.

## Claim

On present-head flag 0, the published promote/add/restore at 5758/5759/5807
admits self-owned host schedule S0 (`owner=X0` on `FULL`) for the `X0` read:
unique among event-named registers, zero dirty-helper touches in the window,
zero endpoint repayment toward initials, and pre-read `X0` restoration blocked
by the published common-chart annotation. Answers #3669 OQ2. No new kappa.

## Why this is not a chronology / repair-template reprint

Headline is an owner/host **assignment** plus dirt and endpoint-repayment
checks on the #2089 tail word. It does not reprint #3669's drop/arrive
chronology, does not retarget the #3532/+2 head-span repair template, and does
not price event-3369 co-hosting. Prior jwr404 packages show frames/coefficient
and that no owner field is named; this package fills the owner gap with S0.

## Evidence commands

```sh
python3.12 -I -B research/p104-flag0-tail-owner-host/verify.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/verify.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/independent.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/test_package.py
python3.12 -B scripts/research_package.py --package research/p104-flag0-tail-owner-host
```

Expected markers:

```text
PASS_P104_FLAG0_TAIL_OWNER_HOST flag=0 owner=X0 promote=5758 add=5759 restore=5807 dirty_helper_touches=0 endpoint_repay=0 pre_read_restore_blocks=1 unique_owner=1 no_new_kappa
PASS_P104_FLAG0_TAIL_OWNER_HOST_INDEPENDENT flag=0 owner=X0 promote=5758 add=5759 restore=5807 dirty_helper_touches=0 endpoint_repay=0 pre_read_restore_blocks=1 unique_owner=1 no_new_kappa
PASS_P104_FLAG0_TAIL_OWNER_HOST_TESTS groups=6
PASS_REGISTERED_RESEARCH_PACKAGE research/p104-flag0-tail-owner-host outcome=completed
```

Default verify is read-only. Admission uses `need()` and still fires under `-O`.
Duplicate JSON keys are rejected. On-disk certificate / witness corruption is
rejected in temp copies.

## Soft overlap

- Soft vs #3669 (chronology leave-alone): cites OQ2 only; no drop/arrive reprint.
- Soft vs deferred `p104-flag0-head-span-schedule` / #3532: different cut
(5758/5759/5807 vs 3369 co-host repair); not a FLAG_INDEX retarget.
- Soft vs jwr404 `p104-tail-flag0-*`: those are partial readings; this assigns
the schedule and adds dirt/repay/obstruction checks.
- Leave-alones listed in the worker brief are untouched.

## Disposition

Fork branch for master publish decision. Do not open a CrocSwap PR from this
worker.
17 changes: 17 additions & 0 deletions research/p104-flag0-tail-owner-host/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Notice

Copyright 2026 Wentao Li

This directory is a scoped research certificate. It is licensed under the
Apache License, Version 2.0, the same license as the surrounding project.

The 4,058-event channel witness is the reviewed #1991 native channel. The
augmented promote/add/restore tail word and correction rows are Cinna Davis's
#2089 package at `research/p104-tail-side-correction-seed749717`. The prior
unbound-owner receipt is jwr404's `research/p104-tail-flag0-owner`. The
unrestored-endpoint census cited here is Wentao Li's #3349 package at
`research/p104-channel-touch-restoration-audit`. Open #3669 states the OQ2
this package answers.

Those notices and files are unchanged. Prepared by Wentao Li with substantial
AI assistance. No independent human or formal-kernel review is claimed.
94 changes: 94 additions & 0 deletions research/p104-flag0-tail-owner-host/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Proof: self-owned flag-0 tail host schedule without endpoint repayment

## Claim

On the published #2089 augmented witness, events 5758/5759/5807 form a
promote/add/restore triple for target `Y34` with source read `X0` at
coefficient `-1/2`. Schedule S0 assigns owner `X0` on host chart `FULL`. This
schedule is legal for the published ADD, uniquely determined among registers
named by that ADD, touches no dirty helper in the window, and leaves both
endpoint frames at their unrestored channel finals. Restoring `X0` to its
initial frame before the ADD conflicts with the published common-chart
annotation. No new κ.

## Inputs

Pinned at CrocSwap main `20ecf2891d80b5acf18d980b2164fb44ea7faa90`:

- `research/p104-native-channel/inputs/LOWRANK-WITNESS.json` (#1991 channel)
- `research/p104-tail-side-correction-seed749717/AUGMENTED-WITNESS.json.gz` (#2089)
- `research/p104-tail-side-correction-seed749717/CORRECTION-ROWS.json`
- `research/p104-tail-flag0-owner/RESULT.json` (prior: no owner field)
- `research/p104-channel-touch-restoration-audit/CERTIFICATE.json` (#3349)

Hashes are in [SOURCES.json](SOURCES.json).

## Setup

Write `FULL = [1,2,4,8,16,32,64,128,256]` and
`RANK8 = [499,23,232,32,112,15,7,2]`. The channel leaves `X0` at `FULL` and
`Y34` at `RANK8`. Neither equals its initial (`[232]` and `[]`). #3349 records
that this unrestored pattern holds for every endpoint; this package cites that
census and rechecks only the flag-0 pair.

The tail word's first 4,058 events equal the channel program. Event 5758 is
`transport Y34: RANK8 → FULL` (rank 1). Event 5759 is
`add Y34 X0 -1/2 FULL`. Event 5807 is `transport Y34: FULL → RANK8` (rank 1).
Between them sit exactly 48 `Y34` adds.

## Schedule S0

Assign:

- `owner(5759) = X0`
- `host_chart(5759) = FULL`
- no additional host register

**Legality.** A forward frame walk from the tail initials reaches `X0 = FULL`
and `Y34 = FULL` at event 5759, matching the ADD's chart field. The common-chart
rule holds.

**Uniqueness on the published word.** The ADD names exactly `{Y34, X0}`. The
write target cannot own the source read. The only remaining named register is
`X0`. So among event-named registers, S0 is the unique owner assignment. (A
copied host using an unnamed helper would be a different word; see open
questions.)

**Dirt.** Scan events 5758 through 5807. No top-level field is a dirty helper
name (`D*`, `G*`, `Q*`, or `C`). The channel's dirty-helper restorations are
therefore undisturbed by this window. Arbitrary dirt that the channel already
restored stays restored; S0 introduces no new dirty host.

**Endpoint repayment.** After event 5807 the walk gives `X0 = FULL` and
`Y34 = RANK8`. These equal the channel finals and differ from the initials.
Define repayment as a transport that returns an endpoint to its initial frame.
Neither endpoint is so returned. The promote/restore pair is a temporary lift
of `Y34` that ends at the channel final, not at `[]`.

**Coefficient.** `CORRECTION-ROWS.json` row 34, source 0, stores coefficient
`-1/2`, matching the ADD.

## Obstruction: pre-read X0 restoration

Suppose one restores `X0` to `[232]` before event 5759 while keeping the
published ADD, whose chart annotation is `FULL`. Then the live `X0` frame is
not `FULL`, so the common-chart rule fails. Hence any schedule that repays
`X0`'s unrestored endpoint before the read is incompatible with the published
word. (Repayment after 5807 is outside this certificate and would cost
positive descent rank from `FULL` toward `[232]`.)

## What this does not prove

- A global owner/host map for all 4,992 source reads
- A copied-host construction or its rank-mass floor
- Integration with the #1940 chronological schedule
- A supplier admission or a new κ
- Anything about the deferred #3669 OQ1 +2 head-span repair at event 3369

## Independence

`verify.py` walks frames in program order. `independent.py` builds per-register
indexes and reconstructs frames from transport subsequences alone. Neither
imports the other or the native checker. Both compare against
[CERTIFICATE.json](CERTIFICATE.json). Temp-copy corruptions of that certificate
and of the gzipped witness are rejected under `-O`.
66 changes: 66 additions & 0 deletions research/p104-flag0-tail-owner-host/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Flag 0's published tail cut admits a self-owned X0 host schedule with zero endpoint repayment

**Finite owner/host schedule certificate. No new exponent.**

Open [#3669](https://github.com/CrocSwap/integer-mult-bounds/pull/3669) leaves
as OQ2 whether the published promote/add/restore at events 5758/5759/5807 admits
an owner/host schedule for the `X0` read that restores arbitrary dirt without
repaying the unrestored channel endpoints. This package answers yes for that
local cut.

## Result

Schedule **S0** assigns `owner = X0` (self) on the full host chart for the ADD
at event 5759. On the published #2089 tail word:

| Fact | Value |
|---|---|
| Promote / add / restore | 5758 / 5759 / 5807 |
| Coefficient | `-1/2` (matches `CORRECTION-ROWS` row 34, source 0) |
| Host chart at the ADD | `FULL = [1,…,256]` for both `X0` and `Y34` |
| Unique source owner among registers named by the ADD | `X0` |
| Dirty-helper (`D`/`G`/`Q`/`C`) touches in the window | **0** |
| `X0` destination events after the 4,058-event channel | **0** (last write 1486) |
| Endpoint repay of `X0`/`Y34` toward their initials | **false** / **false** |
| Frames after restore | `X0=FULL`, `Y34=RANK8` (channel finals) |

Dirt restoration: the window never touches a dirty helper, so the channel's
already-restored 72 dirty helpers stay restored. Endpoint repayment: after 5807
both registers sit at their channel finals, not at `[232]` / `[]`.

**Obstruction.** Restoring `X0` to its initial frame `[232]` before event 5759
while keeping the published ADD (annotated `FULL`) violates the common-chart
rule. Endpoint repayment of `X0` cannot precede the read on this word.

Selected κ stays `0.001672660197076918`. No global 104×104 owner map. Distinct
from the deferred #3669 OQ1 +2 head-span repair and from open [#3532](https://github.com/CrocSwap/integer-mult-bounds/pull/3532).

Details are in [PROOF.md](PROOF.md).

## Reproduce

```sh
python3.12 -I -B research/p104-flag0-tail-owner-host/verify.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/verify.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/independent.py
python3.12 -I -O -Werror -B research/p104-flag0-tail-owner-host/test_package.py
python3.12 -B scripts/research_package.py --package research/p104-flag0-tail-owner-host
```

`verify.py` is read-only. Admission goes through `need()` and still fires under
`-O`. `independent.py` imports neither `verify.py` nor the native checker.

## Credit

Credit #3669 for OQ2, Cinna Davis / #2089 for the tail word, jwr404's
`p104-tail-flag0-*` readings for the unbound-owner gap and frame facts this
package cites, #3349 for the unrestored-endpoint census, and the reviewed #1991
channel. Prepared by Wentao Li with substantial AI assistance.

## Open next questions

1. Does the same self-owned zero-repay pattern hold for every target window?
2. What host rank mass does a copied-host alternative cost under unrestored
endpoints?

[TASK.json](TASK.json) gives first steps and blockers.
50 changes: 50 additions & 0 deletions research/p104-flag0-tail-owner-host/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"schema_version": 1,
"base_commit": "20ecf2891d80b5acf18d980b2164fb44ea7faa90",
"upstream": "CrocSwap/integer-mult-bounds",
"files": [
{
"path": "research/p104-native-channel/inputs/LOWRANK-WITNESS.json",
"usage": "input",
"git_blob": "86beaf424e9f0f800ae3a62797d94ec9386b7706",
"sha256": "0f541bef7f19fdeffd67157684e9f03d785f42c89973632f508fc1a0452b580e",
"credit": "Reviewed #1991 native channel witness (Chafik Boukhalfa / Rohan Arun #1972)"
},
{
"path": "research/p104-tail-side-correction-seed749717/AUGMENTED-WITNESS.json.gz",
"usage": "input",
"git_blob": "7e248e2d263fc6b1b578350a7bbc6d4ad725b106",
"sha256": "fa7487b0b0b4e8fb6bdb1bed1171498a4ed487a1efeb8bb93897e379200000a0",
"credit": "Cinna Davis / #2089 terminal promote/add/restore tail word"
},
{
"path": "research/p104-tail-side-correction-seed749717/CORRECTION-ROWS.json",
"usage": "input",
"git_blob": "bbb46b132c0f5093fedf2269b24fd7b0b4b87af2",
"sha256": "59c145194ba070fda338619e890f25a4a8ae7f37facf3689c1c8c89f79e8bd36",
"credit": "Cinna Davis / #2089 sparse I-G/2 correction rows"
},
{
"path": "research/p104-tail-flag0-owner/RESULT.json",
"usage": "input",
"git_blob": "d84b02599cd8388b0fa9a5d9c058ee2c03c03f3b",
"sha256": "0a7aafbc0fc004eb21eef1fefea049b2831ba2f62cfae3389181afb295c3368b",
"credit": "jwr404 prior: event 5759 names no owner field"
},
{
"path": "research/p104-channel-touch-restoration-audit/CERTIFICATE.json",
"usage": "input",
"git_blob": "a3f80bb15f85598c3dfe138239f9343077068c49",
"sha256": "aa8fbc62f4238f8395c7ca5dc0763105a559106178e9c94264579e0b701da4d5",
"credit": "Wentao Li / #3349: 0/208 endpoint frames restored; flag0 unrestored"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "67f085acd86acd7d4e03922d9cf4b26bca66fed5",
"sha256": "47b42433f5a85809a3aadd29c2c339da2c6ed728e4f7762df6b88bccb7874cf0",
"pin": "base_commit:docs/research/agent-task-catalog.json",
"credit": "Priority revision 6 task catalogue"
}
]
}
Loading