Goal
Bring the tokamak-support work back under control, keep a clean path from upstream/main, and split the current large branch into reviewable PRs with clear verification at each step.
Current situation
Checklist
Environment first
Python 3.14 support
Tokamak support split
Verification and comparisons
Notes
Use this issue as the anchor for branch descriptions, PR descriptions, and follow-up commits while the split is in progress.
Goal
Bring the tokamak-support work back under control, keep a clean path from
upstream/main, and split the current large branch into reviewable PRs with clear verification at each step.Current situation
simsoptfix at Enable Python 3.14 source builds hiddenSymmetries/simsopt#619.pre-commitunder Python 3.14 also runs into a hook dependency problem (docformatter->untokenize), which is another reason to separate environment work from 3.14 support.Checklist
tokamak-rebuildagainstupstream/mainand classify it askeep,split, ordrop.simsoptblocker: Enable Python 3.14 source builds hiddenSymmetries/simsopt#619.Environment first
upstream/mainfor a Nix flake.upstream/mainbuilds and tests in that flake without the Python 3.14 version bump.Python 3.14 support
simsoptsupport is available upstream.Tokamak support split
wouthandling changes only if they are independently justified.Verification and comparisons
circular_tokamakas the symmetric control case.up_down_asymmetric_tokamakas the primary target case.educational_VMECandVMEC2000at every physics-sensitive step.jVMECas an independent cross-check, especially for coefficient conventions and convergence behavior, but not as the sole scalar reference.Notes
Use this issue as the anchor for branch descriptions, PR descriptions, and follow-up commits while the split is in progress.