Skip to content

Research audit: independent owner-map check of all 15 open T16 claims on the seven-slot k8 word (no new kappa) - #1091

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
JosieElliston:research/t16-owner-audit-seed67
Oct 13, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
JosieElliston:research/t16-owner-audit-seed67

Conversation

@JosieElliston

Copy link
Copy Markdown
Contributor

Status: research audit / independent verification. No new κ. The selected result is unchanged. No counterexample was found.

  • Track: 60–74 (adversarial audit), OS-random seed 67
  • Base: abdc6a70. PR heads are pinned in SOURCES.json, snapshot 2026-10-13 18:40 UTC.
  • Adds: only research/t16-owner-audit-seed67/

Why

Fifteen open PRs claim κ ≈ 0.001672. Each one puts a new frozen sixteen-replica owner map on #1018's seven-slot k8 word. Two parts of these claims already have independent audits:

The step in between had no independent check: is each frozen OWNERS.json.gz a legal whole-helper hosting that yields the claimed idle profile? Until now it was checked only by lift16.py and indep16.py. Both are #858's code with generic-R edits, and both ship inside the audited packages.

What was checked

A new standard-library verifier re-implements the hosting rules of research/complex-double-replica-owners/PROOF.md from that text. It imports and runs nothing from the audited packages. Owner maps, plans and specs are read as git blobs at pinned ids. The verifier has three other inputs:

Each role is checked against these rules:

  • R1: 144 invocations in the two-group interleave, with each replica's 30 source events in order.
  • R2: each invocation hosts helpers 0..479 exactly once, each at the width derived from the word.
  • R3: the physical family identity holds, the family is in the live namespace, and it is not the caller's active pair.
  • R4: each family hosts at most one helper per invocation.
  • R5: the invocation lies strictly inside the owner's actual window. The window is rebuilt from events and runs from the last local or bridge touch of the pair to the idle sweep.
  • R6: slices are within capacity, disjoint, and form a prefix.
  • R7: the idle remainders and the full profile are recounted and compared with SPEC, PLAN and RESULT. The deficit must be 5120 and the halving guard must hold.

Two checks go beyond the audited checkers:

  • X1: the rebuilt windows must equal each package's committed PLAN windows, including all time lists. The same builder must also reproduce the T8 PLAN.
  • X2: distinct idle children of one physical family must have disjoint pending axes. This is load-bearing: in each map, about 8,400 of the roughly 11,800 host families hold slices of two or more children.

Result

All 15 maps pass: #1022, #1028, #1031, #1042, #1050, #1053, #1055, #1056, #1061, #1063, #1065, #1068, #1074, #1082 and #1087. The shared #1018 T8 map also passes. That is 1,036,800 T16 roles plus 34,560 T8 roles. Every recounted idle profile and full profile equals the committed claim, and every rank mass is 1,041,408 = 73·14,336 − 5,120. The per-PR table is in the README.

Combined with #1049 (local word) and #1069 (pricing), the chain from frozen owner data to κ has now been checked with independently written code. The inherited interfaces in that chain remain unaudited.

Negative controls

There are 11 controls, run on #1074. Each must be rejected by the rule it targets:

  • dropped role (R1)
  • narrowed width (R2)
  • duplicated helper (R2)
  • private-namespace family (R3)
  • consistent role on the caller's active pair (R3)
  • two helpers on one family in one invocation (R4)
  • role moved past its owner's idle sweep (R5)
  • overlapping slices (R6)
  • prefix gap (R6)
  • tampered claimed idle profile (R7)
  • truncated committed PLAN window (X1)

Reproduce

python3 -I -B research/t16-owner-audit-seed67/verify.py --fetch

This takes about 4 s plus the fetch of 15 PR refs. The receipt is compared byte for byte with RESULT.json. Expected last line:

PASS_INDEPENDENT_T16_OWNER_AUDIT claims=15 roles=1036800 t8_roles=34560 controls=11

The command passed on macOS with CPython 3.14.7, both in the worktree and in a fresh clone with --fetch. scripts/verify_selected_result.py passes. No repository-wide make verify was run, because no existing file changes.

Reviewer note (not a defect)

In the jeremykothe2 gauge44-slots-t16 packages, evidence/local, evidence/global and evidence/audit are byte-identical to #645's R = 492 files. Their OWNERS-AND-PROFILE.json reports 35,424 roles and deficit 2,560. The inherited README's line 116 says these are historical. However, its later "Proof and evidence" list still describes evidence/audit/ as the actual controller and invoice. The only committed T16-specific receipt is RESULT.json.

Scope

This PR covers owner admission and the idle-remainder recount only. It does not cover:

  • the 73-axis chart and route step;
  • the emitted controller;
  • invoices and prefix/row reserves;
  • moments and the outer assembly;
  • the local word's admission;
  • any inherited assumption: all-size/compiler, common-label/mutable-source realization, whole-invocation hosting, precision/tape, analytic, or PR589 bit H1–H5.

The window semantics are #858's and are not re-proved here. This is a finite check of stated rules on stated files.

Credit and disclosure

Prepared by Josie Elliston with substantial assistance from Anthropic Claude (Claude Code).

🤖 Generated with Claude Code

… new kappa)

Standard-library re-implementation of CrocSwap#858's whole-helper hosting rules,
reading the frozen OWNERS/PLAN/SPEC of every open seven-slot k8 T16 claim
(CrocSwap#1022-CrocSwap#1087) as pinned git blobs. Windows are rebuilt from main's vendored
source-event stream; widths from the CrocSwap#1049-pinned word. All 15 maps and
the shared CrocSwap#1018 T8 map pass; 11 targeted negative controls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Mister-Meeseeks
Mister-Meeseeks merged commit d1df19c into CrocSwap:main Oct 13, 2026
Mister-Meeseeks pushed a commit that referenced this pull request Oct 15, 2026
…ap (no new kappa)

One named selected supplier obligation (X2, pending-axis disjointness across
idle children of one physical family) traced through every checker on the
reproduce path. X2 is enforced only by the review-time composition
research/community-batch1099-audit/check_frontier1094.py; make frontier1094-verify
and the community-batch1099 CI job do not re-run it for the selected supplier.
A one-integer DATA-PHASES mutation preserves every role-level aggregate, is
accepted by the complete R1-R7/X1 rule set, and is rejected only at X2; first
X2-directed rejection controls included.

Contributed by Navinor with help from opencode. X2 rule and owner audit by
Josie Elliston (#1091), owner map by Rohan Arun
(#1094), frozen verifier chain from Hao Yan's
#858 lineage, batch1099 composition by Douglas Colkitt.
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