Skip to content

Moduli screen: G1-uniform at height ≤ 4, two G2 classes, candidate completeness pairs - #21

Merged
InauguralPhysicist merged 2 commits into
mainfrom
claude/family-screen
Aug 13, 2026
Merged

Moduli screen: G1-uniform at height ≤ 4, two G2 classes, candidate completeness pairs#21
InauguralPhysicist merged 2 commits into
mainfrom
claude/family-screen

Conversation

@InauguralPhysicist

Copy link
Copy Markdown
Owner

Screens the degree-4 endpoint-identity moduli for the landscape-matched pair the completeness hunt needs (#14), using the CI-pinned census instrument from PR #20.

Findings (14 distinct members at parameter height ≤ 4, zero engine skips):

  • The moduli is G1-uniform: every member has the identical component census (the one A and B share).
  • It splits into exactly two G2 isomorphism classes: B's class (10 members; wall-attached Σ-branch ending {cusp, cusp}) and A's class (4 members: (−1,3,4), (−2,4,9), (−1/2,2,3), (−3/5,2,4)). 51 G0–G2-tied pairs total.

Candidate completeness pairs, both decided NOT affinely equivalent (generalized family_equiv.py --pair, Gröbner {1} both directions):

  • α: (−1,3,4) ~ (−1/2,2,3) — contains A; full-depth n₂ sweep (486 targets, same protocol as the banked run): both attain {0,2,4,6,8,10,12} — ties through n₂.
  • β: (−2,−1,3/2) ~ (−3,−2,2) — contains B; 240-target n₂ shows a tail gap at 12, consistent with undersampling.

Screening results are measurements, not adoptions: the recommended pair (α) still needs its own gate run and carries the tame caveat before becoming the completeness test case.

🤖 Generated with Claude Code

InauguralPhysicist and others added 2 commits August 12, 2026 20:02
family_screen.py enumerates the degree-4 endpoint-identity moduli
(rational parametrization: e2 = e1 - 1, so c = (1-a)(1-b)/((1-a)(1-b)
- ab)) and screens members pairwise with the CI-pinned census
instrument. Engine-assumption violations are recorded as SKIPPED with
the reason, never silently dropped.

Result at parameter height <= 4 (14 distinct members, 0 skipped): the
moduli is G1-UNIFORM -- every member has the identical component census
(the one A and B share) -- and splits into exactly two G2 isomorphism
classes: B's class (10 members, wall-attached Sigma-branch ending
{cusp, cusp}) and A's class (4 members: (-1,3,4), (-2,4,9), (-1/2,2,3),
(-3/5,2,4)). 51 G0-G2-tied pairs total.

family_equiv.py generalized to take any pair (--pair 'a,b,c;d,e,f');
the default remains the original (A, B) so the CI gate is unchanged.
Candidate completeness pairs, both decided NOT affinely equivalent in
either direction:

  alpha: (-1,3,4) ~ (-1/2,2,3)      [contains A; n2 sets tie at
                                     [0..10] on a shared 240-target
                                     stream]
  beta:  (-2,-1,3/2) ~ (-3,-2,2)    [contains B; 240-target n2 shows a
                                     tail gap at 12 -- consistent with
                                     undersampling, needs depth]

Screening results are measurements with the validated instrument, not
adoptions: the chosen pair still needs its own gate run and the tame
caveat before becoming the completeness test case.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Found while validating the alpha-pair n2 sweep: a direct n2_numeric
call in a fresh process disagreed with the banked pipeline run by one
marginal target (4:190 vs 4:189). Root cause: n2_numeric called
_mp_kit(M) BEFORE entering workdps(60), so the cached mpf constants
were built at the ambient precision -- 15 digits in a fresh process --
and every subsequent 60-digit computation ran on 15-digit constants.
The published runs were unaffected only because phase2()'s calibration
gate happened to build the cache inside workdps(60) first.

Fix: _mp_kit takes the target precision, builds inside its own
workdps, and caches with the precision recorded (rebuilds if a higher
precision is requested). Verified: the direct-call sweep now
reproduces the banked histograms exactly, including the exclusion
count (5 member-cases across both members).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@InauguralPhysicist
InauguralPhysicist merged commit 3eaa7da into main Aug 13, 2026
6 checks passed
@InauguralPhysicist
InauguralPhysicist deleted the claude/family-screen branch August 13, 2026 01:12
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.

1 participant