Math Mapgenerated 2026-10-25 · a354234
PUBLIC BUILD

run 090Settled

Each sample's threshold is a minimax — the lowest level at which some crossing path is fully open — and its two tails are set by two different optimizations: crossing far below threshold needs the cheapest path, the ring, of length ∝ L; failing to cross far above it needs the cheapest blocking cut, of size ∝ C₁^g = L^(ln C₁/ln 9). With ξ ∝ |p − p_c|^(−ν) and the width w ∝ L^(−1/ν), both tails in the standardized variable y = (t − p_med)/w are predicted (a heuristic, not a theorem) to be stretched exponentials far out, ln S ≈ −c·y^α, with α₋ = ν below and α₊ = ν·ln C₁/ln 9 above. The predicted ratio α₊/α₋ = ln C₁/ln 9 < 1 says the upper tail is the heavier one on every carpet, more so the smaller the cut — which is the sign and the ordering of the map's limiting skewness (g∞ against C₁ at −0.81, run 075), and the square's zero skewness by self-duality (run 072). Across the census, does the tail asymmetry order with ln C₁/ln 9?

slug
tail-asymmetry
state
run
created
2026-10-02
sealed
2026-10-02
builds_on
[085, 083, 075, 073, 072, 054]
concepts
[fractal-dimension]
programme
PG-01
statistic
A Claude Code session; stored samples only, no sampling. The 47 scored members are the 49 completed census members at L = 729 less T (#26) and X (#6), whose tails were glimpsed before sealing (below); for the 35 census-measured, their measuring run's 729 file (census068 / bands071 / census080, 8,000 each; two columns, t in the second); for the 12 remaining named carpets, the file run 073 read at 729 (cumulant073.json's files, 8,000 each; t in the second column); #16 (cen16_3) was also glimpsed on the sealed grid and is kept in the 47 with its glimpsed value recorded below. Per member: t as the file carries it; p_med the median, w = q₀.₈ − q₀.₂; the standardized upper survival S₊(y) = P(t − p_med > y·w) and lower S₋(y) = P(p_med − t > y·w) on the grid y ∈ {0.50, 0.75, 1.00, 1.25, 1.50}; α₊ and α₋ the least-squares slopes of ln(−ln S) against ln y over the grid points whose tail holds at least 10 samples (the three smallest y always do; a member with fewer than three usable points in a tail is excluded from the count and named); r = α₊/α₋. On this grid α is a bulk-slope statistic, not the asymptotic stretched exponent: a Gaussian gives α = 1.055 on both tails, so α± are read against 1.055 and only their ratio and ordering are scored. Errors by bootstrap: member of rank i = 0 … 46 (ascending pattern index among the 47) uses numpy.random.default_rng(291001 + i), 2,000 replicates of rng.integers(0, n, n), the standardization recomputed per replicate; every error the replicate standard deviation (ddof = 1); the error of α₊ − α₋ and of r from the replicates directly. Seeds checked against every bootstrap range in the carpet_perc scripts and runs 051–089 (up to 291000): none reused; no perc seed is used. The scored quantity: Spearman(r, ln C₁/ln 9) over the scored members by midranks (C₁ takes four values). Reported, not scored: the count of members with α₊ − α₋ < 0 by more than 2 of its error (positive skewness at 729 is already known for every member, so this count is close to a restatement of it). Controls, checked first, any failure withdrawing the run: (i) the standardization reproduces the record: p_med and w for each census member agree with the record's p* (the median) and w at 729 to 1e−9 under numpy's default quantile, and for the named carpets with the lab database's v_size_series median column (p_med, not t_mean); (ii) the square at 729 is symmetric: on run 072's eight files samples056/sq729_s5601–5608 pooled (64,000 samples, t in the second column), |α₊ − α₋| ≤ 0.10 — a third of the glimpsed carpet asymmetry; the self-dual lattice is the null, and an instrument that reads asymmetry there is biased (glimpsed on the sealed grid before sealing: α₊ = 1.007, α₋ = 1.014); (iii) the pre-seal glimpse reproduces on the sealed grid: run 083's T3 and C3 files (16,000 each, four columns, t = k/M with M from the graph header) give α₊ = 0.937, α₋ = 1.220 (T) and 0.900, 1.131 (X), and cen16_3 gives 0.774, 1.343, each to three decimals, as computed before sealing and recorded below. Output tails090.json (with a top-level rows list, docs/DATABASE.md; dictionary rows added for alpha_plus, alpha_minus, tail_ratio) and RESULTS090.md.
script
R27_tree_groups/carpet_perc/tails090.py (Claude Code session)
artifacts
[R27_tree_groups/carpet_perc/RESULTS090.md, R27_tree_groups/carpet_perc/tails090.json]
outcome
withdrawn
source
../lab/runs/090-tail-asymmetry.md

PredictionThe asymmetry orders with the cut: Spearman(r, ln C₁/ln 9) ≥ +0.5 over the scored members. Confirmed if it holds.

FalsifierSpearman below +0.2: the asymmetry is not set by the cut at this size — the tails are heavier above on every carpet (known) but by an amount the cheapest cut does not order; falsified. From +0.2 up to but not including +0.5, unanticipated. One clause; the run takes its outcome. A falsified run leaves the large-deviation reading as a story about sizes we cannot reach; a confirmed one gives the shape its first mechanism and the prefactors their first look.

Sealed 2026-10-02, with pre-seal glimpses, recorded here before anything else was computed (codifier). While checking that the fit is feasible at 8,000–16,000 samples, the codifier computed α± on run 083's T3 and C3 files at 729 (16,000 each) and on T4 and C4 at 6561, first on a grid 0.5–1.75 (T 729: α₊ = 0.96 ± 0.02, α₋ = 1.27 ± 0.04, r = 0.75; X 729: 0.94 ± 0.02, 1.20 ± 0.03, r = 0.79; T 6561: 0.99, 1.39, r = 0.71; X 6561: 0.90, 1.18, r = 0.76; 300 replicates; the lower tail at y = 1.75 held 6 and 10 samples, which is why the sealed grid stops at 1.5), then on the sealed grid 0.5–1.5 (T 729: 0.937, 1.220, r = 0.768; X 729: 0.900, 1.131, r = 0.796), and, to see a cut-2 member, on cen16_3 (#16) at 729 on the sealed grid: 0.774, 1.343, r = 0.577, with 3 samples in the lower tail at y = 1.5 — the reason for the 10-sample rule. T and X are therefore controls, not scored; #16 stays in the 47 with its value recorded here, because excluding it would leave the smallest class with its wall-bound members only. The glimpses say three things the seal records. The sign is foretold: positive skewness at 729 is known on every census member, and a heavier upper tail is what positive skewness means on this grid, so the sign is not a prediction and is not scored. The ordering is not foretold: the glimpsed ratios run 0.58, 0.77, 0.80 for cuts 2, 3, 4 against the predicted 0.32, 0.50, 0.63 — ordered, and compressed toward 1. The compression has two known reasons and is not scored either: α on y ≤ 1.5 is a bulk-slope statistic (a Gaussian gives 1.055 on both tails), and L/ξ at the width's scale is 2–3 at 729, so the large-deviation regime is not where these samples live. Known at sealing besides: positive g₁ at 729 on every census member (run 085's files; T +0.363, X +0.267 from run 073), the map's g∞ ordering against C₁ (−0.81 over 63), the square's g₁ = +0.009 ± 0.011 at 729 (run 072), and the census's C₁, N₁, w and p* per member.

What this run is for. Every reading of the threshold's shape in the record is a moment — g₁, g₂ — and a moment is not the extremum of anything. The two tails are: each is the probability of an extremal event (a path fully open early; a cut fully closed late), and large-deviation theory says its logarithm is a rate function set by that event's cheapest realization. On a carpet the two cheapest realizations scale differently with L — the ring like L, the min cut like L^(ln C₁/ln 9) — and that is a reason, not a fit, for the skewness to be positive and ordered by the cut. This run reads the shape as the asymmetry between two optimizations, and scores the one thing positive skewness does not already say: whether the asymmetry is ordered by the cut's scaling exponent. If it holds, the equation under the "energy against entropy" story has its first term: ln S₊(y) ≈ −c₊ y^(ν·ln C₁/ln 9) + (prefactor), ln S₋(y) ≈ −c₋ y^ν + (prefactor), with the prefactors' growth in L the entropy of near-optimal cuts and paths — the quantity runs 054, 055 and 062 counted (N(g)) without a place to put it.

The codifier's lead, held with conviction. Spearman near +0.6: the ratio orders by cut with the glimpsed compression (0.58, 0.77, 0.80 against 0.32, 0.50, 0.63), cut 2 lowest and cut 5 highest, with the wall-bound cut-2 patterns (#38 and its kin, upper tail cut off by p = 1) the exceptions that pull the ordering down. Where it breaks: if within cut 4 the ratio spreads as widely as it does across the classes, the asymmetry is a generic property of a minimax over many routes at these sizes and the cut enters only asymptotically — falsified, and the large-deviation reading has to wait for sizes we cannot reach.

Power, stated. At 8,000 samples the glimpse's errors scale to about 0.03 on α₊ and 0.06 on α₋, so r carries an error near 0.04 per member — the size of the glimpsed cut-3/cut-4 gap, which is why the clause is an ordering over 47 members and not a per-class comparison. Spearman over 47 has null spread 0.15; +0.5 is 3.4 spreads. Control (ii) on 64,000 square samples resolves |α₊ − α₋| to about 0.02 against its 0.10 margin.

The reductio this seal passed first. By construction: standardizing by the median and the inter-quintile width does not impose asymmetry; the square control is the proof, and it is a withdrawal control for that reason. On the sealed grid the thinner tail holds 12–50 samples at y = 1.5 on 8,000, but as few as 3 on a cut-2 member (#16), so a point enters a fit only with 10 or more samples behind it and the fit is on counted events, not on one or two. Negation: if the asymmetry were lattice-generic — one ratio for every minimax over many routes at these sizes — r would not order with ln C₁/ln 9 and the clause fails. Cost: minutes; 47 files of 8,000 plus the controls.

Reported, not scored. - α₊, α₋, r, with errors, for all 49 at 729 (T, X and #16 marked as glimpsed), beside C₁, ln C₁/ln 9, N₁, y₉, 1/ν, g₁(729), the ring share and G_med; Spearman of r with each, and within cut 4 against N₁ and the ring share; the count of members with α₊ − α₋ < 0 by more than 2 errors; α± − 1.055 per member; r against the predicted ln C₁/ln 9 as a scatter, and the slope of r on ln C₁/ln 9 (the compression toward 1); any member excluded by the 10-sample rule, named. - The drift with L: the 14 named carpets at 81 and 6561 too, and T and X at three sizes from run 083's files beside run 073's — whether α₋ moves toward ν and α₊ toward ν·ln C₁/ln 9 as L grows, or r stays where it is. A look, not a test; the glimpse at 6561 gives r = 0.71 and 0.76 against 0.77 and 0.80 at 729. - The prefactors: the intercepts of the two fits per member and size, against ln N₁ and ln L — the first look at the entropy term. - The empirical cumulant generating function Λ_L(θ) = ln E e^(θ(t − p_med)/w) on θ ∈ [−3, 3] for T and X at the three sizes, and its Legendre transform — the small-deviation rate function the moments are derivatives of — as curves, for the record.

Reviewed before commit by a second reader (OPS.md); its edits are folded in.

Scored 2026-10-02 — withdrawn

Withdrawn on controls (i) and (iii), as sealed, before any scored member's tail was fitted (RESULTS090.md, tails090.json, a096778). No bootstrap, no Spearman, no sign count.

The codifier's three errors, all in references, none in the clause. 1. The variable. The seal reads the two-column files' second column as t. perc.c writes "k p_c": column 2 is a continuous p_c drawn from Beta(k, M − k + 1) given k; the record's p* and w at every L are k/M (run 051's estimator, analyze071.py). Control (i) therefore failed on 35 of 35 census members (largest |Δw| 2.4e−4 against a tolerance of 1e−9) and would have failed on any file. On k/M, reported as a diagnostic, 35 of 35 agree exactly. The glimpses on two-column files (#16, the square) were computed on column 2; the glimpses on run 083's four-column files (T, X) were k/M, and reproduce exactly. 2. The #16 control value. The seal asks control (iii) to reproduce α₋ = 1.343 on cen16_3, a number the codifier computed by fitting all five grid points including the 3-sample one at y = 1.5 — and the same seal names that 3-sample point as the reason for the 10-sample rule. Under the rule no reading of the file gives 1.343 (column 2: 1.240; k/M: 1.264). A control that asks for a value the run's own rule forbids. 3. The named carpets' reference. The seal names lab/db's v_size_series median column; it is NULL for every named carpet at 729 (only run 073's g₁ rows exist). The measuring runs' JSON records (perc051, perc053, perc055, perc063) exist and match k/M 14 of 14; the lab located them as a diagnostic.

The lab stopped at the first failure, ran the diagnostics beside the controls without applying them, and did not touch outcome: — the right calls. Control (ii) passed (|α₊ − α₋| = 0.007 on the pooled square, 64,000 samples, on either reading).

What carries to the reseal. The clause, the grid, the rule, the seeds' exclusion range, the 47 members, the controls' structure. The dictionary rows alpha_plus, alpha_minus, tail_ratio (owner 090) stand. Known values the reseal lists: T 0.937/1.220 and X 0.900/1.131 (k/M); #16 0.775/1.264 under the rule on k/M; the square 1.008/1.014 on k/M. Resealed as run 091 with the three references corrected and a new seed block.

generated 2026-10-25the lab index