1.8 KiB
1.8 KiB
Step 0: runtime-storage-contract
Read First
Read these files before editing:
/AGENTS.md/docs/PLAN.md/docs/PROGRESS.md/docs/WORKNOTE.md/docs/AGENT_RULES.md/docs/ARCHITECTURE.md/docs/ADR.md/docs/implementation-plans/domain-model-foundation-implementation-plan.md/docs/implementation-plans/analysis-model-objects-implementation-plan.md/include/fesa/core/Domain.hpp/src/core/Domain.cpp
Task
Create /docs/implementation-plans/domain-runtime-storage-implementation-plan.md.
The plan must state that Domain owns runtime model objects as its canonical storage:
- nodes remain value objects under
fesa::core::Node; - elements are stored as
fesa::element::Elementobjects; - materials are stored as
fesa::material::Materialobjects; - shell properties are stored as
fesa::property::ShellPropertyruntime objects; - loads are stored as
fesa::load::Loadobjects; - boundary conditions are stored as
fesa::boundary::BoundaryConditionobjects; - steps may remain
LinearStaticStepDefinitionuntil an analysis-step object is introduced, but step indices must reference runtime load and boundary containers; core::*Definitionclasses may remain as parser/factory-local records, butDomainmust not persist them.
The plan must also list the migration order and identify the C++ tests that will be rewritten or added.
Tests To Write First
- Documentation-only step. No C++ test is required in this step.
Acceptance Criteria
python -m unittest discover -s scripts -p "test_*.py"
Verification Notes
- Confirm the plan does not introduce parser implementation work.
- Confirm the plan does not change MITC4 formulation, reference artifacts, or tolerance policy.
- Update
phases/domain-runtime-storage/index.jsonfor this step result.