refactor: store runtime objects in domain
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# 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::Element` objects;
|
||||
- materials are stored as `fesa::material::Material` objects;
|
||||
- shell properties are stored as `fesa::property::ShellProperty` runtime objects;
|
||||
- loads are stored as `fesa::load::Load` objects;
|
||||
- boundary conditions are stored as `fesa::boundary::BoundaryCondition` objects;
|
||||
- steps may remain `LinearStaticStepDefinition` until an analysis-step object is introduced, but step indices must reference runtime load and boundary containers;
|
||||
- `core::*Definition` classes may remain as parser/factory-local records, but `Domain` must 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
|
||||
|
||||
```powershell
|
||||
python -m unittest discover -s scripts -p "test_*.py"
|
||||
```
|
||||
|
||||
## Verification Notes
|
||||
|
||||
1. Confirm the plan does not introduce parser implementation work.
|
||||
2. Confirm the plan does not change MITC4 formulation, reference artifacts, or tolerance policy.
|
||||
3. Update `phases/domain-runtime-storage/index.json` for this step result.
|
||||
Reference in New Issue
Block a user