Moduli screen: G1-uniform at height ≤ 4, two G2 classes, candidate completeness pairs - #21
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):
Candidate completeness pairs, both decided NOT affinely equivalent (generalized
family_equiv.py --pair, Gröbner {1} both directions):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