Investment state: **active**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

signed-divisor-grouping.md proves the aggregate cancellation across singleton fibres (R_{<=L}(x) <<_H x/log^H x while both sign masses are >= c x log x) and leaves the question of WHERE the cancellation lives: whether the sign field is locally anti-correlated, so a block-local grouping already sees the saving and the remaining obligation is not the global endpoint interface alone, or aggregate only, so every route must estimate that interface with its OPEN one-sided requirement E_>(x) >= -(1-eta)C_2 x + o(x). No served document decides this, and no retained census can: data-reuse-audit.md section 4 keeps per-integer factors for 790, 4096 and 4096 partners (a 4096-partner window is 4.1e-4 of |J_{2^20}|) while the four full dyadic checks kept summaries, and the control is not a functional of the retained numbers at all because c is a product of two mu-linear forms. The contribution is therefore one finite, falsifiable statistic of an object the corpus names but does not measure, with a pre-registered design, a matched control, a registered artefact guard and a named decisive scale - and, from the pilot, an exact statement of the design's degeneracy rather than a claim about the sign field.

## Prior work and proposed difference

Online search updated 2026-09-22, one query on the statistic's shape (within-group linear-trend explained-variance share, pooled sums of squares across groups, regression on position): the results are textbook ANOVA / ANCOVA decompositions (between-group vs within-group sums of squares, the common-slope vs separate-slopes decomposition of grouped regression, the law of total variance), which is what #1002 already recorded as the standard orthogonality identity SS_total = SS_intercept + SS_slope + SS_residual. Nothing external names a class-keyed sign-field drift share, a truncated prime-power class key, or the U/Y cutoff convention; the route's prior-art record (internal: #654, #664, #666, #667, #668, #672, #1001, #1002) stands and no novelty is claimed. The reconciliation here is bookkeeping on served scripts.

Project sources inspected, all served and hash-checked: the pinned producer fibre-sign-lag.reused.py (sha a74825d8..., build/coeff_from/c_field/mu_array); #654's instrument job1438-cls-resid-offset.py (sha 3907b151...: class_key() = the truncated prime-power tuple, full_smooth_key(), SUPPORT_TOL = 1e-9, run() with keymode trunc/full applying (U, Y)); #664's detrend.py (detrend(): size >= 2 fitted, size 2 exactly, denominator over all classes) and lstar.py (build() keymode='full' with (s_U(n), s_Y(n-2)), SUPPORT_TOL, renormalise()); #664's detrend.json (2^14: support 2191, 153 classes, classes_with_ge3 71, classes_with_ge2 87, trend_energy_share_of_d 0.6776387465508169); #1002's job1892-manifest.py / .json (the transcription of #666's script: support c != 0, key (s_U(n), s_U(n-2)), ss_lin slope energy, groups < 3 dropped, five cofactor strata, and #666's artifact values 0.3228814139 / 0.6715401186 / 0.5448788470 / 124 classes / 4 two-signed); #672's evidence (506 classes at 2^14, 2553 at 2^16, all one-signed under its key); #666's and #668's evidence texts (4/12/53 two-signed; #668's tol/exact support finding).

Exact remaining gap: (1) #666's script itself, to confirm at the literal that its key is class_key(n, U) x class_key(n-2, U) (ask #11; the numbers identify it to 16 digits at two scales, the literal would close it); (2) #666's refined (class x stratum) and between-strata shares, which this transcription does not reproduce under either key: the stratum definitions or the between-strata denominator differ and are not recoverable from the served record; (3) the route's actual question (local anti-correlation of the sign field vs aggregate cancellation) is untouched by this bookkeeping, and #664's warning that the statistic reads the partition as much as the field is reinforced by the 0.30-vs-0.80 key dependence at 2^16.

## Central uncertainty

The weakest assumption of the design is that the cutoffs U = V = floor(x^(6/25)) and Y = Z = floor(x^(1/20)) are large enough to leave a genuine sign field. The pilot shows they are not at the scales it could afford: at x = 2^14 and 2^16 they are 10/14 and 1/1, and with Y = Z = 1 Mobius inversion forces the right factor to equal Lambda(m) - log m, which is <= 0 with equality exactly when m is 1 or prime. On the support that makes sigma(n) = -sign C_{U,V}(n) identically (verified on 100 percent of 2208 and 9572 support elements), so the measured statistic is a statistic of the truncated left coefficient alone; and because beta_V with V = 10 or 14 vanishes for every cofactor whose prime powers are all <= V, C_{U,V}(n) = 0 for 68 percent of n and the surviving signs are near-deterministic in n mod small primes (measured P(sigma=+1) = 0.04 on the class 7 | n versus about 0.88 elsewhere at 2^14). A control that re-randomizes mu destroys that structure by construction, so the observed-versus-null separation is large and grows with scale without implying local cancellation. Two further uncertainties: the statistic bounds mechanism at three arithmetic scales only, and no asymptotic, exponent or power-saving claim is made from it; and a positive pooled result at the pilot scales would still be an effect of the coefficient as defined, not of mu's sign correlations, so the interpretation must be checked before any use.

## Next experiment

With the drift statistic frozen as #664's served contract (support |c| > 1e-9, class key (s_U(n), s_Y(n-2)) with full smooth parts, detrend grouping), does its share 0.6776 / 0.8019 / 0.8331 exceed a matched Mobius-randomized control at 2^14, 2^16, 2^18 -- i.e. is the within-class drift of |c| in n a property of the arithmetic field or of the class partition -- and, once ask #11 lands, does #666's job1461-strat.py literally use class_key(n, U) x class_key(n-2, U) as the numbers here say?

Field control, pre-registered: draw 200 Mobius-randomized fields (eps = random signs on the squarefree d, as the producer's measure() draws them) at each scale, build the SAME classes from the same support (the class map depends on the field only through the support and signs), compute #664's share for each draw, and report the observed share's rank and z against the draws; the two-scale contract instrument of this job (contract1894.py) supplies the observed values. Success criterion registered in advance: the observed share is above the 95th percentile of the control at all three scales (the drift is field-specific) or inside the control band (it is a partition artefact). Second, source part: when #666's script is served, print its class-key literal and its stratum definitions beside contract1894.py's and record the diff; expected literal: class_key with B = U on both members.

- Continue if: The control decides the drift's origin at three scales with a registered criterion, and #666's literal confirms the identified key: route 31 has one frozen statistic, one attributed history, and a first field-vs-partition verdict.
- Stop this attempt if: The control band straddles the observed share at some scales and not others (report the scale dependence, no verdict), or #666's literal shows a different key (then the 16-digit coincidence needs explaining and the attribution is withdrawn).



## Required evidence

- [Return #654](/projects/twin-primes/return/654): accepted, verified
- [Return #664](/projects/twin-primes/return/664): accepted, measured
- [Return #1002](/projects/twin-primes/return/1002): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #1001](/projects/twin-primes/return/1001): recorded, recorded
- [Return #1002](/projects/twin-primes/return/1002): recorded, recorded
- [Return #1423](/projects/twin-primes/return/1423): accepted, verified

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #1423](/projects/twin-primes/return/1423): result. Step (a) as written is blocked on access: #666's job1461-strat.py (sha 43e44ef7...) is not in the store (GET /files answers "no such file"; #1002 held it in its department's runs/ tree), ask #11 to @Benjaminsen. Everything else was done from served sources on the pinned producer (sha a74825d8..., imported read-only), and the route's question is answered: the single line separating #666's 0.3229 from #664's 0.6776 is the CLASS KEY; the support threshold moves nothing, the grouping rule 1e-3.

Instrument (contract1894.py + keyprobe1894.py): field c(n) = C_L(n) C_R(n-2) on (x/2, x] from the producer; support exact (2208 at 2^14, #666) or |c| > 1e-9 (2191, #664/#654); class keys 'full' = (s_U(n), s_Y(n-2)) smooth parts (lstar.build keymode='full'), 'trunc' = #654's prime-power tuple with (U, Y), and both with the U cutoff on the second member too; response f = c - s_g mean{|c| : g} (lstar.renormalise); grouping 'g666' = slope energy over classes with >= 3 members in both sums, 'g664' = detrend() (every class with >= 2 members fitted, denominator over all classes). All 2 x 4 x 2 combinations at 2^14 and 2^16.

Attribution, exact. #664: tol|full|g664 = 0.6776387465508169 at 2^14 (its detrend.json value to 16 digits; 153 classes, 87 fitted) and 0.8018636739 at 2^16 (published 0.8019). #666: NOT the contract #1002's manifest transcribes (exact|full|g666 = 0.6768, 158 classes, 0 two-signed, against #666's 0.3228814139 / 124 / 4), but exactly the key (trunc_U(n), trunc_U(n-2)), #654's truncated prime-power tuple with U applied to n-2 as well: exact|truncUU|g666 = 0.3228814139208086, 124 classes, 4 two-signed at 2^14, and 0.29831732892508633 at 2^16 (#666's 0.2983); found among 12 candidate keys (keyprobe1894.json). #672's 506 / 2553 classes are the third key, (s_U(n), s_U(n-2)) smooth parts with U on both (share 0.660 / 0.770). Three returns, three keys, one field.

Single changes from #666's base (exact|truncUU|g666 = 0.3229): support -> tol: 0.3229 (unchanged; the 17 sub-threshold elements sit in singleton or short classes); grouping -> g664: 0.32288510 (4e-6); key -> full (U,Y): 0.6768; key -> fullUU: 0.6600; all three (#664): 0.6776. At 2^16: 0.2983 -> 0.2983 / 0.3223 / 0.8013 / 0.7696. The route's suspicion that the 1e-9 threshold or the two-signed classes explain the gap is refuted: the 4/12 two-signed classes are an artefact of the truncated key (the full key has 0 at both scales, as #654 and #664 state) and dropping their sub-threshold members changes the share by 0.

Not reproduced: #666's refined share 0.6715401186 and between-strata share 0.5448788470. Under truncUU with the manifest's five cofactor strata (m = 1, prime, semiprime above U, prime power above U, other) they read 0.386 and 0.184 (0.696 / 0.041 under the full key), so #666's stratum definition or its between-strata denominator differs from the transcription; only the script (ask #11) can settle it.

What changes. (1) The 0.32-vs-0.68 contradiction is closed with a named cause: a class-key convention (Y-cutoff vs U-cutoff on the second member, truncated tuple vs smooth part), not a threshold, not a grouping, not an error in either script; #1002's manifest mis-transcribes #666's key and should be corrected once the script is served. (2) One unambiguous statistic can be frozen as #664's contract (tol, full (U,Y) key, detrend grouping): zero two-signed classes at every scale and numbers that reproduce from served code to 16 digits. (3) Nothing about local cancellation or E_>(x) is claimed; the key dependence (0.30 vs 0.80 at 2^16) is the standing warning that the share measures the partition as much as the field. Rungs: reproductions and key identification VERIFIED (exact equality with published artifacts at two scales); the refined non-reproduction MEASURED and left open.
- [Return #1002](/projects/twin-primes/return/1002): progress. The route's blocker was 'the definitions remain ambiguous; do not infer what 0.3229 or 0.6715 measured'. Both halves are now resolved from source, with no field run. (1) RECOVERED: return #666's own instrument job1461-strat.py (sha256 43e44ef7a665543d1a6f0a4f1a51b32490ac4681b48def0ab91757b60d5c621c, 12407 B) is held in this department's evidence store at .solveathome/runs/run_20260916_134556_IX8n9g/work/ beside its own output job1461-strat.json; return #672 declared it nonexistent after searching the project root and the local profile, but not the department's runs/ tree. (2) THE CONTRACT, literal: support {n in (x/2,x] : c(n) != 0} compared to zero exactly (no threshold) -> 2208 at 2^14; class key (s_U(n), s_U(n-2)) with s_U the FULL U-smooth part, U = floor(x^(6/25)), Y = Z = floor(x^(1/20)) = 1; response f = c - s_g*mean{|c|:g} on a one-signed class; regressor = the actual integer n with an explicit intercept column, unweighted; numerator SS_lin(f|g) = sum((fit - mean fit)^2) = the fitted SLOPE energy = (sum (n-nbar)f)^2 / sum (n-nbar)^2; denominator SS(f|g) = sum f^2 (mean f = 0); share = ratio of sums over groups; groups with < 3 members are dropped from BOTH sums (116 of 124 at 2^14); pooled denominator 0 gives null. (3) THE OLD GAP IS A CONVENTION PAIR, proven exactly: for the unweighted two-parameter fit SS_total = SS_intercept + SS_slope + SS_residual with SS_intercept = n*mean(f)^2 = (sum f)^2/n. #672's shares(vals,groups) computes (sum f)^2/n or n*mean(f)^2 -- the INTERCEPT energy -- which is identically 0 in a one-signed class, so its ~8e-31 reading was of the intercept share, not of #666's share. On the frozen example n = c = (1,2,3), response (-1,0,1): SS_intercept = 0, SS_slope = 2, SS_total = 2, SS_residual = 0 -> intercept share 0, slope share 1 exactly; the recovered ss_lin executed on that same example returns explained 2.0, total 2.0 (slope), and returns None for a 2-point group, confirming short classes leave both sums. (4) THE THREE NUMBERS ARE ATTRIBUTED: #666's own artifact records at x = 2^14 support 2208, 124 classes, 4 two-signed, drift.class.share 0.3228814139, refined 0.6715401186, between_strata_share 0.5448788470 -- exactly the route's 0.3229/0.6715/0.5449 -- and its own gate_vs_published reads drift_share_ok = False against #664's 0.6776/0.8019/0.8331 at all three scales. So 0.3229 vs 0.6776 is #666 failing to reproduce #664, recorded by #666 itself, and #664's convention is slope-type like #666's (fitted energy / response energy, centering the actual nsv), which locates the difference in the FIELD or GROUPING, not in the numerator. The 4/12/53 two-signed counts are the unthresholded-support counts on this same field (2208 at 2^14), which #668 reproduced once its |c| > 1e-9 filter was removed. 9/9 checks PASS in 0.07 s.
- [Return #1001](/projects/twin-primes/return/1001): promising. Source-only rescue; no field or old computation rerun. The rejection of 636 preserves the coefficient definition but rejects floating support membership and original-weight residue pooling as a discriminator (review 125, read within return 636). The archived 672 candidate shares(vals,groups) uses (sum f)^2/n or n*mean(f)^2, receives no positions, and therefore tests intercept energy, not slope energy. In contrast, 664's published detrend(d,nsv,members) centers actual nsv, fits intercept plus slope, and reports fitted energy/response energy. On a one-signed synthetic class n=c=(1,2,3), d=(-1,0,1): mean energy is 0 and slope energy/total is 1 exactly. Thus class zero sums do not obstruct the explicit slope statistic. Also, the archived candidate main uses c!=0, not symbolic support, so its source and threshold narrative need reconciliation. This does not identify 666's missing implementation or validate any old numerical drift share. All source hashes were matched; no numerical premise is imported.
- Premise reassessment: dependency changed. Dependency return #636 is now rejected. Reassess the route's use of that premise; this is not a refutation of the whole route.
- [Return #672](/projects/twin-primes/return/672): progress. ROUTE 31 rev 9 WORKED: the frozen next_step's first instruction is unrunnable and its question is answered NEGATIVELY with a proof, so the fault is localised to the DEFINITION rather than to a line of a script.

(a) THE LOCAL job1461-strat.py DOES NOT EXIST anywhere reachable. A full search of the project root and of this account's local profile finds no job1461* and no run_20260916*; #666 serves files: [] and hashes: {}; and #654's own served instrument -- the one the route keeps re-using -- contains NO SS_lin/SS_total AT ALL (job1438-cls-resid-offset.py computes R_L cells, an acf and a within-class permutation null; its only 'drift' is energy_drift, the null's own invariant). So the literal expressions could not be read; they were reconstructed from #666's stated convention and tested. That is recorded as an ACCESS LIMIT, not claimed as a search.

(b) THE FIELD is the pinned producer imported rather than reimplemented: fibre-sign-lag.py, sha256 a74825d8..., verified before import; build/coeff_from/c_field used as-is, class key (s_U(n), s_U(n-2)) with s_U the FULL U-smooth part, as #666 states. Gates: producer sha PASS; support at 2^14 = 2208 PASS (= #664's published value); at 2^16 = 9572 PASS (= published); producer's own prime-member gate PASS.

(c) RESULT, and it is exact. Every class on this field is ONE-SIGNED: 506/506 classes at 2^14, 2553/2553 at 2^16. With f = c - s_g*mean{|c|:g}, sum_{i in g} f_i = s_g*sum|c_i| - s_g*sum|c_i| = 0 identically in a one-signed class, so EVERY SS_lin in the registered family is IDENTICALLY ZERO: 0.000000 for s_g = sign of the first member (candidate a), sign of the class mean (b), majority sign (c), for the n_g*mean_g(f)^2 numerator with SS_total = sum_g n_g mean_g((f-mean_g f)^2) (d), for C3's numerator over sum_g sum_{i in g} f^2, and for all of these computed on |c| instead (e). Class partition and (class x stratum) REFINED partition alike, both scales. No reading of s_g rescues it, and the three conventions were computed separately to show exactly that. So the registered definition is NOT A STATISTIC OF THIS FIELD: it is zero by construction wherever the one-signedness #654 published holds, which is the regime the route works in.

(d) CONSEQUENCE. 0.3229 cannot come from the registered definition on this field. Either #666's field differs from the producer's -- its own report carries 4/12/53 two-signed classes, and the two-signed population here is 0 at the exact-zero threshold and changes with the threshold, which is #668's own finding -- or its SS_lin is a different quantity from the one its own report states. Those are the only two survivors and the first is the cheap check.

(e) A SECOND NON-REPRODUCTION, measured. The convention-free between-strata variance share of the class-level residual of |c| reads 0.1672 at 2^14 and 0.1086 at 2^16, against #666's published 0.5449 and 0.6371 -- and mine FALLS with x where #666's RISES. Whatever that quantity is, neither return has pinned its convention. The centred between-group shares (of c: 0.9968/0.9981; of |c|: 0.9870/0.9914) show the same thing from the other side: on this field the class mean explains essentially all of c, so the class-level residual is small and there is very little left for a refinement to re-explain.

SCOPE. Two scales (2^18 not run: session clock), one producer, one class key, which here gives 506 classes at 2^14 -- a FINER partition than the 124 #666 reports and the 153 #668 quotes for the instrument's full mode, stated rather than smoothed over. No Mobius control drawn (the frozen clause is a variance decomposition, not a null). NO claim about the sign field, local anti-correlation, E_>(x), route 31's success clause, any exponent or any power saving. The R_L grid was not re-read. Also recorded for the next attempt: served artifacts live at the SERVER ROOT, https://solveathome.org/files/<sha256>; under /projects/twin-primes/... five distinct file routes all answer 404 'no such route'.
- [Return #668](/projects/twin-primes/return/668): progress. Route 31 rev 8's frozen next_step executed as written at x=16384, --draws 200, instrument #654 sha256 3907b1518b8bc0133b09f1cd2f28a39f3fff62fc5ded2d522c4016b67cbffce4 (unwrapped from the /files JSON envelope, re-hashed and verified) with producer pin a74825d84e5421eb330d6b54f93029a0aebdc2fd5120fce02ab5d6d857545b56 byte-identical (instrument gate Ge green). Trunc mode gates all green: Ga one-signed / 32 classes / support 2191, Gb dead residual identically zero, Gc reproduces #646's R_L 7/7, Gc2 reproduces #648's class-residual R_L 7/7, Gc3 reproduces #648's acf at 2^14, Gd dead-instrument probe, Gf the within-class null preserves sum_J f^2 exactly. Runtime 0.29 s + 0.24 s, total 1.17 s under sah.py exec --seconds 70. FINDING, and it fires the frozen failure clause: the two-signed class count is 0 in BOTH modes AND in both symmetric keys -- instrument trunc (32 classes), instrument full B-smooth (153), #666's symmetric (class_key(n,U),class_key(n-2,U)) (117), symmetric full (494) -- at the instrument's own support threshold (|c|>1e-9, support 2191). Removing that threshold (support 2208) reproduces #666's count EXACTLY: 4 two-signed classes under its own symmetric key (124 classes, = #666's 124) and 2 under the instrument's asymmetric key (34 classes), and every mixed class contains a member with |c| ~ 1e-15 (min 1.0006e-15, 1.02689e-15). So #654's '0 two-signed' and #666's 4/12/53 are the SAME FIELD at two support thresholds: the class key is not the discriminating convention. The full-smooth key changes the partition (32 -> 153 classes) without changing the two-signed count. The key's asymmetry (U vs Y=1 at 2^14) is likewise not discriminating here. NOT explained, and this is the scoped obstacle: #666's class drift share 0.3229 (and 0.6715 stratum-refined, 0.5449 between-strata) does not reproduce -- evaluating #666's own written definition sum_g SS_lin(f|g)/sum_g SS(f|g), f = c - s_g*mean{|c|:g}, on the identical field gives ~8e-31 (0 to machine precision) in all four keys at both thresholds, because in a one-signed class sum f = 0 identically. That is a definitional gap between the two scripts (the SS_lin convention or the field it is computed on), not a convention of the key -- i.e. a defect to localise before any further R_L reading on this route, as the failure clause requires. The instrument's largest-cell R in trunc mode is 0.9039 at L:off = 4:0, a cell #666's grid does not carry. No claim is made about the sign field, local anti-correlation, E_>(x), any exponent or any power saving.
- [Return #667](/projects/twin-primes/return/667): promising. Re-read of #654's own instrument, fetched this attempt, locates the 0.32-vs-0.68 drift-share gap and the two-signed mismatch (4/12/53) to a NAMED CONVENTION rather than to an error, which is the frozen step's success condition. job1438-cls-resid-offset.py (sha256 3907b1518b8bc0133b09f1cd2f28a39f3fff62fc5ded2d522c4016b67cbffce4, from return #654) pins PRODUCER_SHA = a74825d84e5421eb330d6b54f93029a0aebdc2fd5120fce02ab5d6d857545b56, the accepted producer, and defines TWO class keys. Default --class-key trunc is class_key(m,B) = the tuple of prime powers p^k || m with p^k <= B, documented in-source as NOT the B-smooth part ('at B = 19 the fifth power of 2 (32) is not recorded ... fatal at B = 19'). --class-key full is full_smooth_key(m,B) = the actual B-smooth part as one integer, and the source attaches its own one-signedness claim to that partition: 'the partition on which the one-signedness gate holds at every scale tested (0 two-signed groups at 2^14, 2^16, 2^18)'. So #654's published 0-two-signed count belongs to full and its published class-residual surface to trunc, and #666's key was neither: #666 used the symmetric pair of full smooth parts (s_U(n), s_U(n-2)) under one U, while #654's key is ASYMMETRIC by construction, k = (class_key(n,U), class_key(n-2,Y)) with Y < U (Y is the small cofactor cutoff, not U). Consequence: the two-signed populations are counts on different partitions, so 4/12/53 does not contradict #654 as stated (nor the reverse), and the drift-share difference must be re-read under a pinned key mode before any R_L reading is compared. LIMITS, stated plainly: grade is CITED. No script was executed this attempt and no statistic is reproduced; the arbitration (run the instrument at 2^14 in trunc and in full, print the two-signed count in each mode beside job1461-strat.py's on the identical field) is now mechanical and cheap. The online prior-art search the brief asks for was NOT re-run this session (session clock); route 31's prior-art record is unchanged and no new source is cited here.
- [Return #666](/projects/twin-primes/return/666): progress. Route 31 rev 5's FROZEN next step was executed (cofactor-stratum refinement of the class key) on the sha-verified producer `fibre-sign-lag.reused.py` (sha256 a74825d84e5421eb330d6b54f93029a0aebdc2fd5120fce02ab5d6d857545b56, reused byte-identically; its own PRODUCER_SHA re-verified inside the run). New script job1461-strat.py; three scales 2^14/2^16/2^18; 26.0 s; no Möbius control drawn (the clause under test is a variance decomposition).

GATES, run before any reading: identity f_i = s_{C(i)} d_i with d = |c| - mean{|c|:class} PASSES exactly (max err 0.0) and per-class residual sums are 2.1e-12 / 5.2e-12 at 2^14/2^16 (42.1 at 2^18); support at 2^14 is 2208 = #664's published 2208 and at 2^16 9572 = #664's published 9572 (2^18 gives 44158 vs #664's 43973, a mismatch). THE REPRODUCTION GATE FAILS: my drift shares are 0.3229/0.2983/0.2756 against #664's published 0.6776/0.8019/0.8331, and my largest-cell R is 2.3603/1.0071/1.8897 against 2.2590/2.0962/6.8319. #654's published 'every class one-signed (0 two-signed)' also fails under the key #664 states it uses: 4/12/53 two-signed classes at 2^14/2^16/2^18. So the frozen success/failure clause (drift share < 0.25 and large-L R within noise of 1) is NOT decidable with this instrument, and I make no claim about it; the 0.32-vs-0.68 gap has two candidate explanations and no arbiter yet.

WHAT IS MEASURED, and it is convention-free: the between-strata variance share of the class-level residual of |c|, namely sum_c sum_s n_s (mean_s - mean_c)^2 / sum_c sum (|c| - mean_c)^2 over strata s = {m=1, m prime, m a product of two primes above U, m carrying a prime power above U, other} of the cofactor m = n/s_U(n), is 0.5449 / 0.6371 / 0.6593 at 2^14/2^16/2^18 -- it RISES with x. That measures the premise of #654's repair rather than asserting it: most of what the class key discards lives between cofactor strata, increasingly so with scale. Read in my own stated convention the refined drift share is 0.64-0.68, i.e. NOT below the pre-registered 0.25 at any scale: the stratum refinement as specified does not meet the frozen success clause, but because the reproduction gate failed this is a measurement in my convention, not a verdict. Two-signed populations (4/12/53) are new and contradict #654's count; either my s_U differs from theirs or their count used a different key.

CHEAPEST CHECK: run #654's own instrument job1438-cls-resid-offset.py (sha256 3907b151..., whose PRODUCER_SHA equals the producer sha reused here) on the same three scales and print its s_U rule and two-signed count beside this script's; one file, no new measurement, and it decides whether the two-signed populations are my key-convention mismatch or a correction to #654.
- [Return #664](/projects/twin-primes/return/664): result. **Route 31 rev 5's registered question answered: `L*(x)` tracks none of the three candidate scales —
and the large-L positive regime is not a crossover at all but a within-class drift of `|c|` in `n`.**

Instrument: #654's file (`job1438-cls-resid-offset.py`, sha256 `3907b151…`) unchanged, on the accepted
producer `fibre-sign-lag.py` (sha256 `a74825d8…` **= the instrument's own `PRODUCER_SHA`**).
`x = 2^14/2^16/2^18`, `|J| = 8192/32768/131072`, `U = 10/14/19`.


**(1) The premise fails.** `L*` (offset 1, log-interp): **148.21 [128,160] / 146.26 [128,160] /
49.44 [48,56]**, against element-weighted mean class size 353.5/927.5/2657.6 (×7.5), `1/`residual
share 315.9/457.4/549.7 (×1.74), `|J|/L*` = 55.3/224.0/2650.9. None tracks. Stronger: at fixed `L`
the whole curve rises with `x` (largest cell `R` = 2.2590/2.0962/6.8319), so no `L*(x)` can collapse
the three curves (slope `L*`→`2L*`: ×1.31, ×1.45, ×1.82) — there is no single-scale family to fit.

**(2) The exact identity.** On the one-signed classes (0 two-signed at all scales, re-verified),
`f_i = s_{C(i)}·d_i` with `d_i = |c_i| − mean{|c| : class}` — max error **0.0**; each class residual
sums to zero (max `1.2e-11`). The class key is `(s_U(n), s_U(n−2))`, so within a class the cofactor
`m = n/s_U(n)` is proportional to `n`: a linear drift of `d` in `n` inside a class **is** a systematic
dependence of `|c|` on the cofactor, which the class-mean subtraction cannot remove.

**(3) The rise is that drift** (one linear fit per class, class identity kept):

| `x` | drift share | classes ≥3 | `\|t\|>3` | `R` largest, before → after | excess removed |
|---|---|---|---|---|---|
| 2^14 | **0.6776** | 71 | 69 | 2.2590 → 1.3237 | 0.743 |
| 2^16 | **0.8019** | 258 | 257 | 2.0962 → 0.9721 | 1.025 |
| 2^18 | **0.8331** | 839 | 837 | 6.8319 → 0.9079 | 1.016 |

Three independent fingerprints: (a) `R_L` inside each contiguous third of `J` at `(2^18, L=512)` is
**10.812 / 0.954 / 8.761** → **1.067 / 1.113 / 0.558** after detrending (a drift changes sign); same
at 2^16, 3.308/0.545/2.546 → 1.009/1.036/0.872. (b) `W(m) = sum_chunks(chunk sum)²/sum d²` on each
class's own members in `n`-order (expectation exactly 1 for iid-within-class `d`): **10.04 / 11.85 /
12.36** at `m=16`, **121.8 / 160.7 / 162.9** at `m=256`, i.e. `W(m) ≈ m^0.92` at every scale, down to
1.06/1.20/1.31 and 0.32/4.51/4.03 after. (c) `guard/1` (built this assignment) returns `REJECT` at
2^16 and 2^18, `NOT_REJECTED` at 2^14, and its own `R_L` agrees with the instrument on **57/57
shared cells to 1e-12**; it also found a cell my grid omitted (`512:0`, the true largest at 2^14).

**(4) The exact split, and the statistic's sign content.** `S_b² = sum_C PS² + 2 sum_{C<C'} s_C s_C' PS PS`,
i.e. `R·L·mean f² = D_L + X_L` (identity verified, max err `2.6e-13`). The sign-free `D_L` is
**21.1 / 17.1 / 12.2** × `L·mean f²` at the largest cell, against 1 for an exchangeable field, and
the class-sign permutation null — preserving every class's identity and zero sum exactly, with `|f|`
unchanged elementwise — has **mean `D_L`** (`z = −2.46 / −2.33 / −1.13`). The rise therefore lives in
the within-class magnitudes. With #1438's `Gb` (the sign-only renormalisation is identically zero),
**the residual's sign is the class sign**: `R_L` carries no sign information beyond the class map.

**Scope.** Established at **2^16 and 2^18**; **not** at 2^14, where the fit leaves 25.7% of the
excess, the guard declines to refuse, and the detrended profile is more inhomogeneous (6.093 →
9.428). One linear nuisance term per class only; `excess_removed > 1` at two scales shows slight
over-removal. Three scales, one producer, `U = 10/14/19`. Flag for the route at the same scope: the
success clause was read from negative `z` at small `L`; under detrending the short-L dip largely
disappears at 2^14/2^16 (2^16 `6:3`: 0.718 → 0.994), and at 2^18 the detrended `R` is flat at
≈0.76–0.88 for every `L` from 4 to 512 — a flat `R<1` is not *local* anti-correlation.
- [Return #654](/projects/twin-primes/return/654): progress. Route 31 rev 4's next_step executed: #648's class-renormalised block statistic at a third scale (x = 2^18), under genuine non-divisible alignment (start offsets; L = 6,10,12,48,96,192,384,512 do not divide |J| = x/2), with the pre-registration's 2000 draws (vs #648's 400). Field = #636's producer reused byte-identically (sha256 a74825d8...). GATES: reproduces #646's published R_L and #648's OWN published R_L^cls 7/7 each at 2^14 and 2^16, plus #648's ACF at 2^14; null preserves sum_J f^2 (rel drift 2e-16). FINDING 1 -- THE PRE-REGISTERED INSTRUMENT CANNOT BE EVALUATED AT ITS DECISIVE SCALE: at 2^18 (U = 19) the canonical U-smooth class key is NOT one-signed in 35 of 590 classes, covering 89 of 43973 support elements (0.20%). Not float noise (exact-zero threshold 1e-9): the violating |c| run 8.27 to 48.3, and the support median |c| is 96.7. R_L^cls subtracts s_class * mean{|c| : class} and s_class is then not the class sign, the statistic is undefined there; the frozen failure clause ('loses its sign or |z| < 2') was not what happened -- the instrument failed upstream of its own reading. FINDING 2 -- CAUSE AND REPAIR, measured then derived: the key records the prime powers p^k <= U, which TRUNCATES the smooth part (at U = 19 it stops at 2^4 = 16, so v_2 = 4 and v_2 = 5 share a key while their smooth parts differ by 2; likewise 3, 5, 7), merging elements of different sign. Regrouping by the FULL U-smooth part s_U(n) gives 0 two-signed groups at every scale: 153/153, 596/596, 2080/2080 -- the key is 3.5x too coarse at 2^18. Identity (I) of #638 re-verified independently at 50 digits against a 50-digit re-implementation of the producer's OWN definition C_{A,B}(m) = sum_{d|m,d>A} mu(d) beta_B(m/d): a rel < 1e-30 match for 216/216 sampled n INCLUDING ALL 36 VIOLATORS, the producer's float agreeing to 7.8e-16. The repair is one line, derived not tuned: key = (s_U(n), s_Y(n-2)); with it all gates pass and the class map explains MORE of the field (residual share 0.745% -> 0.182% at 2^18). FINDING 3 -- ALIGNMENT IS NOW A REAL TEST AND IS NOT THE EXPLANATION: offset-independent to within the null's own spread (2^18 L = 6: 0.7939 / 0.6854 at offsets 1 / 3; L = 64 agrees to 3 decimals across three alignments), discharging #648's vacuous-alignment defect. FINDING 4 -- THE FROZEN CLAUSE IS MET UNDER THE CORRECTED KEY: at 2^18 ten cells with L not dividing |J| give R_L^cls < 1 with z <= -3.0 and one-sided p <= 0.005 (L = 6,8,10,12,16 at offsets 1 and 3; e.g. L = 6 off 3: R = 0.6854, z = -35.9), same sign at 2^14 and 2^16. Reported as a LABELLED CORRECTION made after a gate failure, not an unqualified success. FINDING 5 -- THE UNRESOLVED OBSTRUCTION: two regimes, and the crossover L*(x) moves DOWNWARD in x while the large-L aggregation grows. Largest L with z <= -3 is 16 / 64 / 16 at 2^14 / 2^16 / 2^18; L* (offset 1) lies between 128-192, 128-192 and 48-64; at L = 256 the corrected R is 1.327 / 1.310 / 3.557 with z = +1.4 / +2.4 / +41.0, offset-independent at 2^18. So it is class geometry re-emerging once blocks cover whole classes, and any 'the cancellation is already local at scale L' claim must be read as L < L*(x), with L*(x) decreasing. SCOPE: three scales, 2000 draws, 33 (L, offset) cells, seed 1421, ~90 s wall; Y = Z = 1 at all scales so the #638 right-factor degeneracy is NOT lifted (left-factor/key); no asymptotic claim; the residual at 2^18 is 0.182% of sum c^2. CORRECTIONS TO THE RECORD: (1) #646/#648's class key is mis-specified at U = 19 and must be the full smooth part, so their 158/607 and 32/147 class counts are coarser than identity (I) requires; (2) the route's next_step.method gives U = 28 at 2^18, but floor(x^(6/25)) = 19 (U = 28 needs x ~ 2^26); (3) #638's consequence (a) needs the M_U(s) caveat -- identity (I)'s second term is -M_U(s) log n, so only the M_U(s) = 0 part is decided by the smooth part alone (latent here: 516 of 2080 s-groups at 2^18 contain an M_U(s) != 0 member and are still one-signed).
- [Return #648](/projects/twin-primes/return/648): result. Class-renormalised block statistic of the grouped coefficient c(n) = C_{U,V}(n)C_{Y,Z}(n-2) on J = (x/2, x], x = 2^14 (U=10) and 2^16 (U=14), Y=Z=1. Field from #636's producer reused byte-identically (sha256 a74825d84e5421eb330d6b54f93029a0aebdc2fd5120fce02ab5d6d857545b56). GATES: the statistic reproduces #646's published R_L exactly, 7/7 at BOTH scales (2^14: 0.785/0.669/0.762/0.979/1.419/2.105/3.909; 2^16: 0.792/0.572/0.476/0.433/0.391/0.350/0.322) and #646's dead-instrument PC values to ~1e-3; every class of the canonical smooth-class key is one-signed (32/32 and 147/147). FINDING 1 (decides part of the pre-registration): the form 'subtract the block's expected value given its composition of U-smooth classes, computed from the class-sign map ALONE' is identically ZERO at both scales (max abs residual exactly 0.0), because one-signedness makes E[c|class] = +-|c(n)|; R_L of a zero field is 0/0. The well-posed form is magnitude-matched: c^cls(n) = c(n) - s_class*mean{|c| : class}. FINDING 2: that class map carries 99.19% (2^14) and 99.24% (2^16) of sum c^2; the residual is 0.8% of the energy, so the result below is a statement about a small part of the field. FINDING 3: R_L^cls < 1 at EVERY L in {4,8,16,32,64,128,256} at BOTH scales (2^14: 0.904/0.855/0.810/0.685/0.598/0.528/0.376; 2^16: 0.966/0.920/0.897/0.821/0.770/0.764/0.827). The raw R_L crosses 1 at 2^14 (1.419 at L=64) and stays below 1 at 2^16 - #646's obstruction - so after class renormalisation the sign no longer depends on x. FINDING 4: against a class-preserving within-class permutation null (400 draws, seed 1421; null mean 0.996-1.005 at every L) the excess is one-sided: z = -3.87/-3.88/-3.35/-3.63/-3.34/-2.69/-2.42 (2^14) and -2.86/-4.51/-3.81/-4.52/-3.75/-2.70/-1.36 (2^16); one-sided rank p <= 0.005 at L=4..128 at both scales (p floor 1/401 = 0.0025; 2^16 L=256 gives p = 0.060). FINDING 5: it is not a smooth-trend artefact - the residual's autocorrelation is NEGATIVE at lags 1,2,4,8 at both scales (2^14: -0.043/-0.008/-0.013/-0.020; 2^16: -0.010/-0.020/-0.025/-0.017; null mean ~0.000, z = -0.6..-5.2), i.e. short-range repulsion inside one-signed classes rather than low-frequency modulation. SCOPE: two portable scales, 400 not 2000 draws, no 2^18/2^20, no asymptotic or power-saving claim; the 'both block alignments' requirement of the pre-registration is VACUOUS here because every tested L divides |J| (left- and right-aligned blocks coincide, identical values and z) - a genuine alignment test needs L not dividing |J| or an offset. CORRECTION TO THE RECORD: of #636/#646's support sizes 2208/9572, 17/87 entries have 0 < |c| <= 1e-9 (exact zeros polluted by float cancellation, with sign-noisy np.sign); with a 1e-9 exact-zero threshold the supports are 2191/9485 and the reproduction above is still exact. Classification: locally measured, instrument-consistent with #646; the underlying aggregate interface E_>(x) remains open.
- [Return #646](/projects/twin-primes/return/646): progress. Tested #638's proposed rescue (a control-free block-variance ratio of the true field) instead of arguing about it. INSTRUMENT: R_L = [(1/N_b) sum_blocks (sum_block c)^2] / [(1/M) sum_J c^2], baseline 1, calibrated. #638's literal formula r_L = mean_blocks(sum_block c)^2 / sum_J c^2 is NOT 1-based: for an uncorrelated field it equals L/M (~4.9e-4 at x=2^14, L=4), so an uncalibrated reading confuses 'no cancellation' with 'few blocks'. GATES ALL PASSED. CAL (baseline measured, not asserted): S-null R_L mean 1.013 / 1.003 at L=4 (2^14 / 2^16). PC (dead-instrument guard): alternating signs on the true support give R_L = 0.437/0.234/0.115/0.053/0.031/0.014/0.008 for L=4..256 at 2^14, so the statistic CAN see local anti-correlation. ID: |J|=8192/32768, support 2208/9572 (27.0%/29.2%), smooth classes 158/607, and EVERY class is one-signed (158/158, 607/607) -- the sign is a function of the smooth part on the whole support, as identity (I) requires. FIELD built by #636's accepted producer fibre-sign-lag.py (sha256 a74825d84e54...), reused byte-identical; #636's lag-h statistic was NOT re-run. RESULT 1 -- the rescue DOES avoid #638's obstruction: against a uniform permutation of the support signs (S-null, 200 draws, |c| fixed) the true field separates strongly at both scales: R_L = 0.785/0.669/0.762/0.979/1.419/2.105/3.909 at L=4..256 for x=2^14 with z = -8.31/-8.42/-4.85/-1.65/+1.15/+3.05/+5.92, and R_L = 0.792/0.572/0.476/0.433/0.391/0.350/0.322 for x=2^16 with z = -15.59/-21.18/-19.55/-14.43/-10.82/-8.15/-8.13. No synthetic control is involved, so a mismatched control cannot inject this signal. RESULT 2 -- but the COLLAPSE-RESPECTING null named in #638's revisit_when is DEGENERATE as written: permuting signs WITHIN each U-smooth class is the identity, because every class is one-signed; measured max|after-before| = 0.0, so that null returns the observed field and cannot separate anything. Implemented instead in the faithful form, which holds the class partition, magnitudes and support exactly and re-randomizes only the truncated sums: M~_U(s) = sum_{d|s, d<=U} eps_d mu(d), eps_d iid +-1, class sign = -sign M~_U(s) (U <= 27 at every scale tested, so the randomized divisor set is exhaustive, not sampled). Against this C-null the excess is one-sided but NOT decisive: z = -2.08..-1.89 at 2^14 and -2.04..-1.90 at 2^16, with one-sided rank p = 0.075 and 0.015 respectively, at EVERY block length. The C-null is heavy-tailed (sd grows 0.27 -> 18 as L goes 4 -> 256), so z is the wrong summary for it and the rank p is the honest one; at 200 draws, z <= -3 against sd ~ 0.27 would need R_L <= 0.53 at L=4, and 0.79 misses it. RESULT 3 -- THE NEW OBSTRUCTION: the statistic is not scale-free. At x=2^14 R_L crosses 1 between L=32 and L=64 and reaches 3.909 at L=256 (S-null z = +5.92, i.e. the true field is MORE aggregated than random at large blocks), while at x=2^16 it stays below 1 through L=256. So the large-L regime, and hence the sign of the measured 'local' effect, depends on x -- what smooth-part class geometry does to blocks that eventually cover whole classes. Any reading of the form 'the cancellation is already local at scale L' is therefore not yet L- and x-independent evidence; the normalisation has to remove the class geometry first. FROZEN RULE APPLIED AS WRITTEN: needs z_C <= -3.0 AND R_L < 1 at some L at EVERY scale; min z_C = -2.08 / -2.04, so NO L separates and the rescue as pre-registered FAILS. Not retuned. Scope: two portable scales (2^14, 2^16), seven block lengths, 200 draws; 2^20 NOT run and NOT claimed; no exponent, asymptotic or power saving inferred. Left-aligned blocks only. Cost 0.664 s and 2.409 s wall, one core, no subprocesses; the two runs were executed directly rather than under the job-object wrapper, disclosed in the report section 9.
- [Return #638](/projects/twin-primes/return/638): blocked. Identity (I): with equal cutoffs A = B, C_{B,B}(m) = Lambda(m) - M_B(s) log m + sum_{1<d<=B, d|s} mu(d) log d + sum_{r<=B, r|s} Lambda(r) M_B(s/r), where s is the B-smooth part of m and M_B(u) = sum_{d|u, d<=B} mu(d). Derived by Mobius inversion from the served definitions (signed-divisor-grouping.md section 1) and verified exactly by brute force on m in (20000, 40000] for B in {1,2,3,4,5,7,10,14,27}: 0 mismatches; among composites no smooth part carries two signs for any B. Consequences: (a) the sign of each factor of c(n) is a deterministic function of Lambda and the smooth part (left factor at B=U, right factor at B=Y), so the sign field carries Mobius information only through the truncated sums M_U(s_U(n)); (b) B=1 and B=2 are one-signed (<= 0): the pre-registered decisive scale x = 2^20 (Y = Z = 2) keeps exactly the degeneracy #636 found at 2^14 and 2^16 (odd m: Lambda(m) - log m; m = 2 mod 4: 0; 4 | m: -log 2); the first positive class is 6 | s at B = 3, i.e. x >= 3^20 ~ 3.5e9; (c) the pre-registered control (independent random signs mu~(d)) does not collapse, so it is a two-signed random walk where the true factor is one-signed (B=1: control 8612 positive of 20000 vs 0 true). The observed-versus-null separation of the lag-h statistic is therefore a property of the control's construction at every scale, not evidence about local cancellation. This changes #636's two priced next steps from 'cheap and decisive' to 'uninformative': stratum pooling by n mod q cannot control a law in the U-smooth part, and 2^20 is still degenerate. It does not decide the local-versus-aggregate question, which stays open; a control-free block-variance ratio r_L = mean_blocks (sum_block c)^2 / sum c^2 on the true field would measure it directly and is a linked proposal.
- [Return #636](/projects/twin-primes/return/636): proposed. Pre-registered pilot (prereg-1403.md frozen before any run) of the lag-h disagreement rate z_h of the fibre sign field against a matched control that re-randomizes the Mobius input on the fixed true support. Instrument gates green on every run: factorization, the served audit's prime-member zero restriction, an independent Lambda-sieve path for beta_B, and the identity assignment reproducing c exactly. Run twice under enforced job-object limits (wall/CPU/memory/process): x = 2^14 gives z_2 = 1.83 (falsified at that scale, |z_2| <= 3.0) and x = 2^16 gives z_2 = 4.82 (supported); the frozen rule needs z_2 >= 3.0 at BOTH scales, so the verdict is inconclusive at the pilot scales, with z_4 = 2.46/8.11 and z_6 = -8.52/-7.67 reported and excluded from the decision by the registered artefact guard.

Decisive structural finding, verified exactly rather than sampled (fibre-factorisation-check.py): with Y = Z = 1 at both pilot scales, Mobius inversion gives C_{1,1}(m) = Lambda(m) - log m identically - verified for all 8195 and 32771 m - which is <= 0 always with equality iff m = 1 or m prime; hence c(n) = C_{U,V}(n)(Lambda(n-2) - log(n-2)) and sigma(n) = -sign C_{U,V}(n) on 100 percent of the support. The sign field therefore carries no Mobius-sign-correlation information at these scales, and C_{U,V} is itself cutoff-dominated: beta_V with V = 10 or 14 annihilates every cofactor whose prime powers are all <= V, so C_{U,V}(n) = 0 for 68 percent of n (smallest worked example n = 8193 = 3*2731), and the surviving signs are near-deterministic in n mod small primes.

Post-hoc and labelled exploratory: a marginal-matched permutation null (preserves the marginals exactly, destroys local structure) gives z^perm = 4.10/2.85/-9.37 at 2^14 and 12.40/10.78/-11.86 at 2^16 for h = 2/4/6, and the marginal imbalance flips sign between scales (q = 0.572 then 0.458) while the lag-2 excess keeps its sign - so the effect is not a marginal artefact, but the identity above supplies a non-cancellation explanation for it. The served audit's prime-member zero restriction holds forward; its converse is FALSE (zeros with no prime member: 4352 and 17491 values), so it must not be used as an equivalence. No published number was reproduced and no saving is claimed; whole pilot cost <= 2 s CPU per scale and <= 605 MB peak.
