run 082Settled
../lab/runs/082-ladder-rung-one.mdPrediction(A) The turn is at rung 1. On F₁(T), by (a), g₁(level 4) − g₁(level 3) is below −0.03; on F₁(X) it is at or above 0; and on both patterns the wall guard (1 − p*)/w is at least 3 at levels 3 and 4, so the shape is the pattern's and not the wall's. (B) Rung 1 sits between. 1/ν₁(T) from (a) lies in [0.374, 0.439], the measured carpet value and the one-bit y₉. Confirmed if both hold.
Falsifier(A) F₁(T)'s step is at or above +0.03: rung 1 rises like rung 0 and the turn needs more boundary state than four terminals carry. A step between −0.03 and +0.03, or X's step below −0.03, makes A unanticipated. If the wall guard is below 3 at level 3 or 4 on either pattern, A is unscorable: a wall at 1 forces the skewness down on both patterns and would confirm A for the wrong reason. (B) 1/ν₁(T) outside [0.374, 0.439] by more than 0.010: the ladder does not pass between the one-bit object and the carpet. Within 0.010 of either end, outside, is unanticipated. The run is falsified if either clause is falsified, confirmed if both hold, otherwise unanticipated. A falsified A beside a confirmed B says the exponent and the shape are set at different rungs. A falsified B beside a confirmed A says rung 1 has the carpet's shape while its exponent is somewhere else, and the ladder's monotonicity in k is the next question.
Sealed 2026-10-01, after P-049 was filed and before any rung-1 quantity was computed (codifier). Known at sealing: rung 0 for every pattern (run 075: T +0.044, +0.316, +0.434 at k = 2, 3, 4, limit +0.511; X +0.059, +0.212, +0.261, limit +0.282); the lattice (run 073: T +0.129, +0.363, +0.172; X +0.132, +0.267, +0.413); the measured exponents (T 0.3743, X 0.5508) and the one-bit y₉ (T 0.4392, X 0.5533). Nothing about F₁.
What this run is for. The first rung of P-049's ladder. Rung 0 (the iterated map) has no route through a block except across it; rung 1 adds one bond per side, so a crossing may enter a block from the top and leave to the right. PN-005's House named that route as the one the one-bit recursion discards (FORCED 3), and the codifier's conviction in P-049 is that it is enough to produce the turn. Clause A tests that on the pattern that turns and the one that does not. Clause B asks whether the ladder is heading from the one-bit exponent toward the measured one, on the pattern where the gap (0.065) is wide enough to see; X's gap (0.0025) is not, so X's exponent is reported.
Why two computations. On F₁ the recursion Monte Carlo and the lattice Monte Carlo compute the same distribution, so each checks the other (control iii), and the recursion's errors are far smaller. The recursion result is the scored one. The lattice result is what the carpets' own estimator sees on a finitely ramified relative, and it is the number later rungs (k ≥ 3, lattice-only) will be compared with.
Power, stated. The recursion Monte Carlo's error on g₁ at 10⁶ draws per grid point is about 0.001–0.005 (independent draws at every grid point), so a step of −0.03 is at least six errors and the thresholds in A are set by the size of effect worth calling a turn, not by noise. The lattice turn on T is −0.19; if rung 1 carries even a fifth of it, A holds. Clause B's interval is 0.065 wide; the one-bit value sits at its top, so B fails if rung 1 moves the exponent up from y₉ or more than 0.010 past the measured value.
The reductio this seal passed first. By construction: rung 1 is not the carpet and not rung 0; nothing in A or B is implied by either. The grid-resolution rule (step ≤ w/100) is there because run 049 was withdrawn on a grid that could not resolve the width. Negation: if the turn needs the full boundary state, rung 1 behaves like rung 0 and A's falsifier fires at +0.03 or above (rung 0's step on T is +0.118). What a lone clause decides is in the falsifier line. Cost: (a) about 10⁹ union–find draws per chain (250 grid points × 4 levels × 10⁶), 10–30 minutes compiled (numba or C; ten times that in plain numpy), so about 20 chain-hours per pattern with the 20 replicates; (b) six lattices at the carpets' sizes, the two L = 6561 ones about 45 minutes each on the M5 at 8 threads or about 3 hours each in the cloud.
Reported, not scored. - Every level's p*, w, g₁ and g₂ by both computations, with errors; both local slopes of ln w; the wall guard (1 − p*)/w at every level, and p*(g) for g = 1 … 4, which must drift toward 1 (P-049: F_k has no transition for finite k). - The level-g distribution over the 15 states for both patterns, and the share (R − R̃)/R of the crossing probability carried by routes rung 0 cannot represent, R̃ the crossing probability with every sub-block's partition projected onto its W–E and N–S pairs, from the same draws (PN-005's F4 quantity, read on F₁). - Rung 1 beside rung 0 and the lattice for both patterns, in one table. - X's 1/ν₁ with the same interval test, reported.
Reviewed before commit by a second reader (OPS.md); its edits are folded in: control (i) restated (rg058.poly is column-to-column, not the single-cell W–E probability); the lattice terminals made single cells; the no-transition bound on every rung and the wall guard added to clause A; the grid extended into the tails with Stieltjes moments; the replicate count cut to 20 with the cost restated; the F4 share defined.
withdrawnWithdrawn on control (i), as sealed, before any clause was read. The lab's report (the local Claude Code session, 2026-10-01 13:1x; its control records in rung082_parts/):
| grid points | beyond 3σ | expected by chance | largest \ | z\ | rms z | KS p | ||
|---|---|---|---|---|---|---|---|---|
| T | 960 | 4 | 2.6 | 3.76 at p = 0.8174 | 1.003 | 0.34 | ||
| X | 891 | 5 | 2.4 | 3.32 at p = 0.9758 | 1.025 | 0.71 |
The draws agree with the exact polynomial: the z-scores are standard normal, and the counts beyond 2σ and 3σ are what chance gives. The control failed because of how it was written. "Within 3 binomial errors at every grid point" over N ≈ 900 independent points passes a correct construction with probability 0.9973ᴺ, about 8% (T) and 11% (X), about 1% for both. The second half of (i), W–E at or below column-to-column, held everywhere. The lab did not re-run with another seed or a smaller grid, which would have been fishing for a pass; that was the right call. The codifier's error, and the second reader's: neither saw that a per-point threshold becomes a family-wise test when the family is the whole grid. OPS.md gains the rule.
What was done before the stop, and carries to the reseal unchanged. Control (ii) passes on all six lattices (gen.py's ladder construction and check_ladder; the check rejects a rung-3 graph and the plain carpet). rung082.py works, with a C core that reproduces numpy's default_rng bit for bit. The four small lattices are sampled (perc seeds 8201, 8202, 8204, 8205); the two g = 4 lattices and the 40 replicate chains were never started.
Three things the lab saw that the reseal must list as known. 1. The F4 share is identically 1 at rung 1. With one terminal per side, a sub-block whose partition is projected onto its W–E and N–S pairs can only be passed straight through, so a projected crossing must run along the middle row, and both T and X remove (4,4). R̃ ≡ 0; a count of 0 in 10⁶ draws at R = 0.51 confirmed it. This is structural, holds for every pattern with a hole on the middle row, and says nothing at rung 1. 2. The wall guard is below 3 at level 3 on both patterns. From the small lattices, (1 − p*)/w: T 1.88 and 2.78 at L = 81 and 729; X 1.89 and 2.58. Clause A needed at least 3 at level 3, so A was unscorable at rung 1 regardless of the control. Rung 1 (three outward bonds per block) is wall-bound at the carpet's sizes, as P-049's no-transition bound predicts for small k. 3. The coarse pass's rough widths (2 × 10⁴ draws, step 0.0025) imply 1/ν₁ ≈ 0.33 for T and ≈ 0.30 for X from levels 2 and 4: below both the one-bit y₉ (0.439, 0.553) and the carpet (0.374, 0.551), and in the wrong order (X below T). Too rough to be results; seen, so listed.
Reading of 2 and 3, for the reseal: a rung-k lattice is gasket-like at small k (the gasket's 1/ν is 0.26) and approaches the carpet from below as k grows, while the one-bit map sits above the carpet. The codifier's conviction that rung 1 "sits between" y₉ and the measured value was wrong: the two-terminal object is not the bottom of this ladder but the other side of it. The ladder's question becomes at which k the carpet's order of T and X, and T's turn, are recovered, with the wall guard choosing the first scorable rung.
Artifacts on disk, checked 2026-10-04 (database batch; the sealed fields are not edited). rung082.json, named in the artifacts line, is not on disk and has never been committed. lattice082.json is on disk and untracked. The lab database loads the lattice side from lattice082.json where that file exists (lab/db/build.py, a082) and has no rows for the rung side.
Pointers corrected 2026-10-05 (codifier; no sealed field, score or number is changed). The artifacts: line read artifacts: [R27_tree_groups/carpet_perc/RESULTS082.md, R27_tree_groups/carpet_perc/rung082.json, R27_tree_groups/carpet_perc/lattice082.json, R27_tree_groups/carpet_perc/samples082/]. RESULTS082.md and rung082.json were never written (the run was withdrawn); the line now names the two that exist and keeps the others as a remark. lattice082.json is tracked since 918ab32.
generated 2026-10-25the lab index