The gap (archivist, #426 step 3, 2026-09-04)
derivations/ has no script for the (n,2n) Legendre stack: every number the transfer family is verified against is either an end-to-end SN solve (the Be-reflected flagship, tests/sn/verification/analytical/test_be_reflected_n2n_anisotropy.py) or a tape read (tests/data/test_n2n_yield_convention.py). The corpus pass scored the family's "derivation source" dimension 3/6 for that reason, and sn-n2n-transfer-binding (the per-ℓ (n,2n) binding equation in docs/theory/methods/sn/adjoint.rst) is a documented SENTINEL — implemented, not verified by a foundation edge.
What would close it, in cost order
- Cheap, term tier. A SymPy
derive_*() in orpheus/derivations/ proving emission_matrix(y=2) ≡ 2·emission_matrix(y=1) and, more usefully, that the per-ℓ (n,2n) source is y·Σ_{2n,ℓ}ᵀ φ_ℓ block by block — the F2 ruling as algebra — with a verifies("sn-n2n-transfer-binding") marker. Moves the label from sentinel to a real foundation edge in the V&V matrix.
- Eigenvalue tier. An ANISOTROPIC extension of
derive_2g_n2n (the existing 2-group infinite-medium (n,2n) case, orpheus/derivations/continuous/analytical/homogeneous.py): a P1 (n,2n) block in an infinite medium changes k only through the leakage-free P1 closure, so the honest reference is a P1/B1 infinite-medium solve with a scattering-order-1 (n,2n) term — the only route that reaches the eigenvalue layer with a closed form (an MMS would not: the (n,2n) anisotropy is a streaming-coupled source, and MMS verifies discretization, not the model).
- Not worth it: an ℓ ≥ 2 closed form — the flagship's ladder converges by ℓ = 1 (
[M] |Δ(ℓ=2)|/|Δ(ℓ=1)| = 3.1e-3).
Context: .claude/plans/n2n_anisotropy_kept.md §5b.3; ERR-082 in the error catalogue.
The gap (archivist, #426 step 3, 2026-09-04)
derivations/has no script for the (n,2n) Legendre stack: every number the transfer family is verified against is either an end-to-end SN solve (the Be-reflected flagship,tests/sn/verification/analytical/test_be_reflected_n2n_anisotropy.py) or a tape read (tests/data/test_n2n_yield_convention.py). The corpus pass scored the family's "derivation source" dimension 3/6 for that reason, andsn-n2n-transfer-binding(the per-ℓ (n,2n) binding equation indocs/theory/methods/sn/adjoint.rst) is a documented SENTINEL — implemented, not verified by a foundation edge.What would close it, in cost order
derive_*()inorpheus/derivations/provingemission_matrix(y=2) ≡ 2·emission_matrix(y=1)and, more usefully, that the per-ℓ (n,2n) source isy·Σ_{2n,ℓ}ᵀ φ_ℓblock by block — the F2 ruling as algebra — with averifies("sn-n2n-transfer-binding")marker. Moves the label from sentinel to a real foundation edge in the V&V matrix.derive_2g_n2n(the existing 2-group infinite-medium (n,2n) case,orpheus/derivations/continuous/analytical/homogeneous.py): a P1 (n,2n) block in an infinite medium changes k only through the leakage-free P1 closure, so the honest reference is a P1/B1 infinite-medium solve with a scattering-order-1 (n,2n) term — the only route that reaches the eigenvalue layer with a closed form (an MMS would not: the (n,2n) anisotropy is a streaming-coupled source, and MMS verifies discretization, not the model).[M]|Δ(ℓ=2)|/|Δ(ℓ=1)| = 3.1e-3).Context:
.claude/plans/n2n_anisotropy_kept.md§5b.3; ERR-082 in the error catalogue.