Files
MeanField/DEFERRED_REMOVAL_REGISTRY.md

5.2 KiB

Deferred Removal Registry

This registry records migration-era code that may become removable after the physics-facing StellarModel and StellarEquilibriumProblem APIs have replaced all legacy construction paths. Nothing listed here is currently approved for removal, and no listed code was removed during the migration.

mean_field::models::Model<...>

  • Location: libmeanfield/interface/models/specifications.cppm
  • Current status: required compatibility storage
  • Current consumers: root-manifest tests and the implementation of mean_field::model::StellarModel
  • Removal gate: migrate remaining direct consumers to the public mean_field::model::StellarModel type, then move the canonical storage into an implementation namespace
  • Evidence required before removal: no direct consumers found by repository search and the complete specification/type-contract suite passes

Legacy structure-based mean_field::models::StellarModel

  • Location: libmeanfield/interface/models/stellar_model.cppm
  • Current status: retained legacy API, but no longer used by the authoritative StellarEquilibriumProblem construction path
  • Current consumers: direct prepared-operator tests, experiments, and heterogeneous runtime-model views. Its polytropic initial-seed method now delegates to the physics-facing Lane-Emden seed generator.
  • Removal gate: numerical operators consume compiled specification contributions directly, initial-seed generation has a physics-facing owner, and deformation policies have migrated into the typed model
  • Evidence required before removal: legacy-adapter equivalence tests pass for all supported formulations and repository search finds no direct consumers

PolytropicStructure as a mass-owning adapter

  • Location: libmeanfield/interface/models/structure/polytropic.cppm
  • Current status: compatibility adapter for remaining legacy API consumers; it no longer owns Lane-Emden integration and is not constructed by StellarEquilibriumProblem
  • Potentially obsolete responsibility: ownership of the fixed-total-mass target, which now belongs to FixedTotalMass
  • Removal gate: migrate remaining callers to seed::LaneEmden and the typed model. Lane-Emden generation is now separate from invariant ownership.
  • Evidence required before removal: initial-seed regression tests and model-driven equilibrium equivalence tests pass

Legacy combined prepared operators

  • Locations: libmeanfield/interface/operators/prepared_fixed_angular_momentum_stellar_equilibrium.cppm and libmeanfield/interface/operators/prepared_central_density_stellar_equilibrium.cppm
  • Current status: retained as migration-era source references, but removed from the build graph and no longer re-exported by the public mean_field module
  • Physics-facing replacement: PreparedVariadicStellarEquilibriumOperator<Model>, selected solely by StellarEquilibriumProblem<Model, Discretization>
  • Reactivation gate: migrate the source snapshots to the model-driven manifest constructor; they intentionally do not compile against the authoritative API
  • Removal gate: delete the source snapshots after the historical comparison window closes
  • Evidence required before removal: the full variadic residual/Jacobian equivalence suite and distributed tests pass without either partition being imported by a user translation unit

Completed: typed equilibrium-problem adapter removal

  • Removed the former typed system's NumericalModelAdapter, its PolytropicStructure, and the corresponding legacy model storage.
  • The typed problem now owns its compiled surface constraint and constructs the prepared operator directly from specification-generated contributions.
  • Default radial deformation is compiled at the numerical equilibrium-problem boundary rather than being smuggled through a legacy stellar model.

StellarEquilibriumSystem compatibility vocabulary

  • Location: libmeanfield/interface/operators/stellar_equilibrium_system.cppm
  • Current status: source-compatible aliases and factory forwarding to StellarEquilibriumProblem and equilibrium::discretize
  • Removal gate: migrate remaining external consumers and provide a documented deprecation interval
  • Evidence required before removal: repository search finds only the explicit compatibility type-contract test

Root-oriented public aliases and accessors

  • Locations: libmeanfield/interface/operators/root_manifest.cppm, libmeanfield/interface/operators/prepared_stellar_equilibrium.cppm, and libmeanfield/interface/operators/prepared_central_density_stellar_equilibrium.cppm
  • Current status: retained for source compatibility
  • Physics-facing replacements: EquilibriumSystemManifest, EquilibriumStateView, EquilibriumResidualView, and StellarEquilibriumProblem::GetManifest()
  • Removal gate: all solver and test consumers use equilibrium-system terminology
  • Evidence required before removal: repository search finds no uses of the old aliases/accessors and all manifest/type-contract tests pass

Conclusion for this phase

No code examined during this migration is presently truly dead. Each candidate still has active consumers or carries a compatibility/lifetime responsibility. The entries above are therefore deferred migration candidates, not deletion recommendations.