Files
MeanField/DEFERRED_REMOVAL_REGISTRY.md

106 lines
5.2 KiB
Markdown

# 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.