# RUN-031 — Round 28: the directed root and all 9,278 leaves of cell 0 check under this tree's own arithmetic; no leaf needs the 16,384-direction density; and this tree's exact kernel loses a piece on one leaf

**Arm:** 懸衡 (Xuán Héng) / AMRAL Research Lab
**Date:** 2026-09-26
**Subject:** `AMRAL_Lebesgue_Finite_Closure_Round_28_Exact_Root_Bulk_Migration_v0.1.md` (AMRAL-LUC-FC-R28, dated 2026-09-20) and its package, read from the archive:

- `ROOT_RECONSTRUCTION.json`, `CELL0_BULK_MIGRATION.json`, `ARITHMETIC_CERTIFICATE_MANIFEST.json`,
  `MIGRATION_POLICY.json`, `VALIDATION.json`, `State_Crystal`;
- `cell0_leaf_migration_ledger.json` (9,278 leaves), `cell0_topology.bin`,
  `witness_axis_stream_2bit.bin`;
- Round 24's certificate manifest and Round 27's stored boxes again. The package ships no script.

**Tools:** [`run031_round28_exact_root.py`](../code/run031_round28_exact_root.py) — a directed root in integer intervals (π by Machin's formula, acos certified by bracketing it with an enclosed cosine); intended boxes from exact midpoints; RUN-030's certificate on every leaf; a verified envelope for the exact kernel
**Logs:** [`run031-round28-exact-root.json`](../data/gate-logs/run031-round28-exact-root.json)

**Verdict: PASS for the directed root, the base path, the witness axes, the stored-state distances and the migration of all 9,278 leaves; PARTIAL for the density economics — the ledger's densities are start points chosen from each leaf's reference slack by bands the round states nowhere, and the least density that passes is lower for 8,457 leaves, 16,384 for none, so "only six leaves require the maximum tested density" describes the policy, not the leaves.**

- **The root.**
  - This tree brackets the root itself.
    - π comes from Machin's formula (16 atan 1/5 − 4 atan 1/239, each series enclosed, to
      6×10⁻¹¹⁴). RUN-030's 60 decimals were too few, because d⋆ inherits π's width.
    - acos is a 150-digit value certified by bracketing it with an enclosed cosine.
    - F(d) increases for d > ½ (F′ = √(d² − ¼)/2d), so two evaluations bracket d⋆.
  - d⋆, t₃, t₅ and t₇ come out 10⁻⁹⁰ wide, and each lies inside the package's interval (3×10⁻⁶¹ and
    3–4×10⁻⁶⁴ wide).
  - The binary64 roots, against the exact values: every translation root lies above its exact
    value, in this tree's state and in the shipped one (t₃ by 7.0 and 1.0 units in the last place,
    t₅ by 8.8 and 4.8, t₇ by 7.4 and 3.4). Both angle roots fall short: 2·fl(π/5) by 0.22 units,
    2·fl(π/7) by 0.32. Round 28's intended boxes are what close those slivers.
  - §2 says d⋆'s final width is O(10⁻⁶³); the root file says 3.1×10⁻⁶¹.
- **The base path.** Cell 0's 40 splits from the D3 root are Round 19's official split, axis for
  axis (7, 7, 9, 9 and 8 splits of x₃, y₃, φ₅, x₅, y₅), so there are no overrides. From the stored
  cell of Round 24's manifest, the intended box reproduces the package's stored-vs-intended table to
  every printed digit (10⁻¹⁸ to 3.2×10⁻¹⁷). That shipped cell sits up to 6 ulps from this tree's
  binary64 cell: its t₃ and t₅ are 6 and 4 ulps lower, as its t₇ is 4 (RUN-030).
- **The witness tree.**
  - The topology decodes to 18,555 nodes, 9,277 internal and 9,278 leaves: this tree's lift, leaf for
    leaf.
  - The axis stream is two bits per internal node in preorder, the high bit first, and equals the
    lift's axis at every node.
  - The shipped root (t₇ = 0x1.9c9e1c2550f72p-3) replays Round 27's stored boxes bit for bit.
  - The package's largest distances, 2.10×10⁻¹⁶ (centres) and 4.71×10⁻¹⁷ (half-widths), are that
    tree's over its leaves. Over all nodes the half-width figure is 9.42×10⁻¹⁷, the root's own.
- **The migration.**
  - Every leaf of this tree's lift passes on its intended box — centres enclosed over their exact
    intervals, half-widths at their upper ends — at the ledger's density for the same path.
  - Each has the ledger's candidate count, and the margins agree to 1.7×10⁻¹⁶. The least is 3.19489
    ×10⁻⁸, on the same leaf, 1101011010010011111001110.
  - The ledger's densities fall into disjoint bands of reference slack: at least 10⁻³ → 256; 2×10⁻⁴
    to 10⁻³ → 512; 5×10⁻⁵ to 2×10⁻⁴ → 1,024; 10⁻⁵ to 5×10⁻⁵ → 2,048; then about 2×10⁻⁶ and 3×10⁻⁷ for
    4,096 and 8,192. So they are §14's start densities. Every leaf passed at its start.
  - The least density that passes is lower for 8,457 leaves. 256 directions suffice for 7,727;
    8,192 is the most any leaf needs (four of them), and none needs 16,384.
- **This tree's exact kernel loses a piece on one leaf.**
  - The package's reference slack for leaf 001110010110000100 is 1.474×10⁻⁹ above this tree's exact
    area. There the package is right. A 2²¹-direction inner polygon of the same bodies already
    exceeds this tree's value, and extrapolation meets the package's value to 10⁻¹².
  - The cause is RUN-008's envelope. It finds hand-overs between grid angles (2π/1024). A corner of
    the B7 core stands 1.7×10⁻⁶ outside the disc over 5×10⁻³ rad, inside one grid step whose two ends
    the disc owns, so the corner is never seen.
  - A verified envelope checks every segment against every other piece in closed form
    (h_j − h_k = |ΔC| cos(t − α) + Δρ peaks at α). It gives that one leaf its missing corner and
    changes nothing else: across all 9,278 leaves it agrees with the package's reference slacks to
    1.7×10⁻¹⁵.
  - The error only lowers an area, so every lower bound this tree has computed with the kernel is
    still a lower bound. Every tree comparison so far — RUN-027's topology byte for byte, RUN-028's
    twelve closures, RUN-029's 77 rows, RUN-030's 14 records — agreed with the package, so no decision
    rested on it.
  - An upper bound would not be safe with it, and Round 29 migrates upper bounds. From RUN-032 on,
    exact areas use the verified envelope. The shared kernel is corrected in its own commit, with
    every run that uses it re-run, as RUN-008's was (`be12d08`).

Drill: 18 / 18 plants caught by exactly the named checks, 4 / 4 controls undisturbed,
175 / 175 must-stay-green assertions held. Each of the nine checks was blinded in turn, and each
was reported blind in exactly as many cases as plants name it.

---

## What Round 28 claims

1. **An exact root** (§1–4). T_M = 1673/2000 and T = 167/200 are exact. d⋆ is found by directed
   bisection of the monotone a-priori area F, to O(10⁻⁶³). t₃, t₅ and t₇ are directed intervals,
   each under 10⁻⁵⁰ wide. The D3 root's endpoints are directed.
2. **Explicit splits** (§5–9). Certificates store each split's axis and side, so the scheduler is
   no longer a proof premise; [a, b] = [a, m] ∪ [m, b].
   - Cell 0's base path: 40 splits, 0 CPG overrides.
   - The stored centres sit about 10⁻¹⁷ from the intended ones on the base and up to 2.1×10⁻¹⁶ on
     the witness.
   - The witness tree: 18,555 nodes and 9,278 leaves, with 9,277 axes in a 2-bit stream.
3. **Bulk migration** (§10–19).
   - The disc test is exact; a core test passes when D²_max < ρ_lo² over the corners' rectangles.
   - Densities are margin-adaptive (256 … 16,384). 9,278/9,278 leaves pass: RATIONAL-INTERVAL-PASS,
     no resplit, no membership failure, least margin 3.1948922738×10⁻⁸.
   - Density counts: 821, 3,425, 3,709, 1,115, 163, 39, 6.
   - Cell 0 becomes CELL0-ARITHMETIC-MIGRATED-PROTOTYPE.
4. **Scope** (§20–26). The backend is not pinned, one cell of 77 is migrated, and there is no
   marker replay: a_Leb ≥ 0.835 NOT CERTIFIED.

## A — sources

**A0.** 42 anchors. Round 28 has no reference list.

## W — rebuilt

| check | Round 28 | rebuilt | result |
| --- | --- | --- | --- |
| W1 | §1–4 | d⋆, t₃, t₅, t₇; the binary64 roots | PASS; both angle roots short in binary64 |
| W2 | §5–7 | the 40 base splits; the stored cell's distances | PASS, to every printed digit |
| W3 | §8–9 | topology; axis stream; stored boxes | PASS; the package's distances are over the leaves |
| W4 | §10–18 | all 9,278 leaves; the densities | PASS; PARTIAL on what "require" means |
| W5 | — | this tree's exact kernel | loses one piece on one leaf, 1.47×10⁻⁹ low |

**W1 — where the binary64 roots sit** (units in the last place above (+) or below (−) the exact
value).

| root | this tree | shipped state |
| --- | ---: | ---: |
| t₃ (x₃'s end) | +7.01 | +1.01 |
| (√3/2) t₃ (y₃'s end) | +6.18 | +0.18 |
| 2π/5 (φ₅'s end) | −0.22 | −0.22 |
| t₅ | +8.77 | +4.77 |
| 2π/7 (φ₇'s end) | −0.32 | −0.32 |
| t₇ | +7.39 | +3.39 |

**W4 — the least density that passes, against the ledger's.**

| density | the ledger's | the least that passes here |
| ---: | ---: | ---: |
| 256 | 821 | 7,727 |
| 512 | 3,425 | 1,285 |
| 1,024 | 3,709 | 177 |
| 2,048 | 1,115 | 67 |
| 4,096 | 163 | 18 |
| 8,192 | 39 | 4 |
| 16,384 | 6 | 0 |

No leaf needs more than the ledger gave it. The six at 16,384 are the six thinnest by reference
slack, which is the band rule. Their polygons at 8,192 already clear 167/200 — the thinnest by
6.0×10⁻⁹, as Round 26's §22 found.

**W5 — the kernel.** Leaf 001110010110000100 (depth 18): this tree's kernel gives 0.835746558304646,
the verified envelope 0.835746559778711. Inner polygons at 2¹² … 2²¹ directions run
0.83574631…0.8357465597778; from 2¹⁶ on they exceed the first value, and extrapolate to
0.835746559779.

## P — the package

**P1.**

- The ledger's 9,278 rows are its own summary. Indices run 0–9,277, each path's length is its
  depth, and every row is RATIONAL-INTERVAL-PASS with no failures and an exactly verified convex
  order. The density counts and the least margin and its path are the migration file's.
- The manifest, the policy and the root file agree on the base path, the axis trace, the override
  count and the node counts.
- The topology, axis-stream, ledger and root-file digests are the files'. The root file's widths
  are its intervals'.
- The crystal carries the counts, the margin and 9,278/9,278. The package ships no script.

**P2.**

- `VALIDATION.json` describes the document and the crystal correctly: SHA-256, bytes, `$$` counts,
  both flags.
- Its six digests are the archive's, and its eleven checks follow from the data.

## Round 28, read

| Round 28 | statement | verdict | note |
| --- | --- | --- | --- |
| §0–1 | exact targets | PASS | 1673/2000 and 167/200 throughout |
| §2 | directed d⋆, O(10⁻⁶³) | PASS | this tree's bracket lies inside; the file's width is 3.1×10⁻⁶¹ |
| §3–4 | directed t_n; D3 root | PASS | W1 |
| §5–6, §9 | explicit splits; 40 axes, 0 overrides | PASS | W2 |
| §7 | stored vs intended: 10⁻¹⁷ base, 2.1×10⁻¹⁶ witness | PASS | the witness figures are over the leaves (W3) |
| §8 | 18,555 / 9,278 / 9,277 axes | PASS | W3 |
| §10–13 | directed cores; exact membership; the lower theorem | PASS | W4 |
| §14, §16, §22 | margin-adaptive density; "only six" at 16,384 | PARTIAL | policy bands, not requirements; none needs 16,384 (W4) |
| §15, §17–19 | 9,278/9,278; no failure; least margin; prototype | PASS | W4 |
| §20–21 | what is missing; migration theorem | PASS | reading |
| §23–26 | ABI; ledger; Round 29; handoff | PASS / n/a | |

## The status registry

Round 28's 18 judgments are reviewed, and its 5 first-used phrases defined: `PUBLICATION-CANDIDATE`,
`PUBLICATION-CANDIDATE LIFT SHARD`, `RATIONAL-INTERVAL-PASS`, `REFERENCE-COMPLETE` and
`CELL0-ARITHMETIC-MIGRATED-PROTOTYPE`. Census v5 adds none.

| verdict | judgments |
| --- | ---: |
| PASS | 16 |
| n/a | 2 |

## The drill

| kind | cases | named checks |
| --- | ---: | --- |
| the document's 3425 | 1 | A0 |
| t₇'s interval narrowed past the root | 1 | W1 (also P1) |
| the root claim | 1 | W1 |
| two base axes swapped | 1 | W2 (also P1) |
| a base distance | 1 | W2 |
| a topology bit; an axis-stream bit | 2 | W3 (also P1) |
| the witness distance | 1 | W3 |
| a leaf's margin; the migration claim | 2 | W4 |
| a leaf's density | 1 | W4 (also P1) |
| a reference slack; the kernel claim | 2 | W5 |
| the migration's density counts; the crystal's | 2 | P1 |
| a recorded digest; a VALIDATION check | 2 | P2 |
| a review dropped | 1 | R1 |

Four controls:

- the unmodified inputs;
- the document with CRLF line endings;
- the root file with its keys sorted;
- the migration file with its keys sorted.

**18 / 18 plants, 4 / 4 controls, 175 / 175 must-stay-green assertions; no check without a
plant.**

| check blinded | cases reported blind | plants naming it |
| --- | ---: | ---: |
| A0 | 1 | 1 |
| W1 | 2 | 2 |
| W2 | 2 | 2 |
| W3 | 3 | 3 |
| W4 | 3 | 3 |
| W5 | 2 | 2 |
| P1 | 7 | 7 |
| P2 | 2 | 2 |
| R1 | 1 | 1 |

## What this round does not establish

- **Any cell but cell 0.** The other 76 are Round 29's and later.
- **The shared kernel's correction.** It needed every run that uses the kernel re-run; that is its
  own commit, reported below.

## The shared kernel, corrected (2026-09-27)

The correction this round called for is made.

- `verify_segments`, the closed-form check of W5, now runs inside the shared envelope: in RUN-008's
  `hull_disc`, in RUN-009's `hull_pieces`, and in RUN-012's containment minimum. `hull_pieces` keeps the
  grid alone under `verify=False`, for W5's comparison.
- Every run that uses the kernel, RUN-008 to RUN-031, was re-run with `--drill`.
  - Every gate log of RUN-008 to RUN-030 came out byte for byte as committed, and every drill with the
    same counts. No logged number moved.
  - RUN-031's W5 now compares three kernels on every leaf: the grid alone, this file's verified envelope,
    and the shared kernel as corrected. The last two agree on all 9,278 leaves to 10⁻¹⁵ (`shared_is_verified`).
    The drill is unchanged at 18 / 18, 4 / 4, 175 / 175.
