Finding-H from doc/reviewer/external-audit-2026-05-30.md
(java-port-audit missing-test item 7).
Guards against a regression where compute_period_matrix reverts to
reduce_to_fundamental_domain (no mirror fold) instead of normalizeModulus
(Finding 6 fix, Java-faithful): such a revert would silently produce
Re(τ) < 0 for lattices where the natural generators give a negative
real part.
Two new tests in test_phase7.cpp:
1. SkewedTorus_ReTauNegativeBeforeNorm_FoldedToPositive
- New mesh: code/data/off/torus_skewed_4x4.off
Flat 4×4 torus on parallelogram lattice ω₁=(4,0) ω₂=(-1,4);
16 vertices, 32 triangles, χ=0 (genus 1).
- Full pipeline: newton_euclidean → cut_graph → euclidean_layout
→ compute_period_matrix(reduce=false) + compute_period_matrix(reduce=true)
- Asserts: raw Re(τ) < 0, normalized Re(τ) ∈ [0,½], Im(τ) > 0, |τ| ≥ 1
2. SyntheticHolonomy_NegativeReTau_NormalizedToPositive
- Bypasses mesh; supplies explicit ω₁=(4,0) ω₂=(-1,4) directly
- Asserts raw τ = -0.25+i (to 1e-10), normalized τ = 0.25+i (to 1e-9)
- Pin-points the mirror fold: Re(-0.25) → Re(+0.25)
277/277 CGAL tests pass, 0 failed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
507 B
Plaintext
51 lines
507 B
Plaintext
OFF
|
|
16 32 0
|
|
0.0 0.0 0.0
|
|
1.0 0.0 0.0
|
|
2.0 0.0 0.0
|
|
3.0 0.0 0.0
|
|
-0.25 1.0 0.0
|
|
0.75 1.0 0.0
|
|
1.75 1.0 0.0
|
|
2.75 1.0 0.0
|
|
-0.5 2.0 0.0
|
|
0.5 2.0 0.0
|
|
1.5 2.0 0.0
|
|
2.5 2.0 0.0
|
|
-0.75 3.0 0.0
|
|
0.25 3.0 0.0
|
|
1.25 3.0 0.0
|
|
2.25 3.0 0.0
|
|
3 0 1 5
|
|
3 0 5 4
|
|
3 1 2 6
|
|
3 1 6 5
|
|
3 2 3 7
|
|
3 2 7 6
|
|
3 3 0 4
|
|
3 3 4 7
|
|
3 4 5 9
|
|
3 4 9 8
|
|
3 5 6 10
|
|
3 5 10 9
|
|
3 6 7 11
|
|
3 6 11 10
|
|
3 7 4 8
|
|
3 7 8 11
|
|
3 8 9 13
|
|
3 8 13 12
|
|
3 9 10 14
|
|
3 9 14 13
|
|
3 10 11 15
|
|
3 10 15 14
|
|
3 11 8 12
|
|
3 11 12 15
|
|
3 12 13 1
|
|
3 12 1 0
|
|
3 13 14 2
|
|
3 13 2 1
|
|
3 14 15 3
|
|
3 14 3 2
|
|
3 15 12 0
|
|
3 15 0 3
|