Motivation
Tests and downstream repositories depend on ergoExo.setup(), call(), val_and_grad(), custom module injection, mutable module attributes, existing return shapes, nested/resumed MLflow behavior, and artifact snapshots. The replacement architecture requires a staged migration rather than a flag day.
Scope
Implement legacy adapters over the new builder, prepared simulation, execution, analyzer, and tracker layers. Preserve supported behavior while directing new code to the replacement APIs.
Document unsupported mutation patterns and provide explicit replacements, such as creating an updated prepared simulation/state rather than mutating closure-captured fields.
Acceptance criteria
Dependencies
Out of scope
- Removing legacy classes in this issue.
- Changing established output dictionaries or artifact formats.
- Silently emulating arbitrary Python mutation inside transformed execution.
- Requiring downstream migration before replacement APIs are available.
Motivation
Tests and downstream repositories depend on ergoExo.setup(), call(), val_and_grad(), custom module injection, mutable module attributes, existing return shapes, nested/resumed MLflow behavior, and artifact snapshots. The replacement architecture requires a staged migration rather than a flag day.
Scope
Implement legacy adapters over the new builder, prepared simulation, execution, analyzer, and tracker layers. Preserve supported behavior while directing new code to the replacement APIs.
Document unsupported mutation patterns and provide explicit replacements, such as creating an updated prepared simulation/state rather than mutating closure-captured fields.
Acceptance criteria
Dependencies
Out of scope