1.6 KiB
1.6 KiB
Step 4: legacy-definition-extraction
Read First
Read these files before editing:
/AGENTS.md/docs/AGENT_RULES.md/docs/implementation-plans/domain-runtime-storage-implementation-plan.md/include/fesa/core/Domain.hpp/src/core/Domain.cpp/tests/core/domain_storage_test.cpp/CMakeLists.txt
Task
Remove parser-definition DTO persistence from Domain.
Rules:
Domainmust no longer include or store:fesa/core/BoundaryCondition.hppfesa/core/ElementDefinition.hppfesa/core/LoadDefinition.hppfesa/core/MaterialDefinition.hppfesa/core/PropertyDefinition.hpp
Domainmay still includeStepDefinition.hppuntil a runtime step object is designed.- Definition classes may remain in the repository and their focused tests may remain, but they must not be part of Domain storage or Domain public API.
- Do not implement parser or factory behavior in this step.
Tests To Write First
- Add or update a compile-time assertion in
/tests/core/domain_storage_test.cppor a dedicated domain API test proving Domain retrieval returns runtime types for elements, materials, properties, loads, and boundary conditions.
Acceptance Criteria
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_workspace.py
git diff --check
Verification Notes
- Confirm no
Domainmethod returns a definition DTO exceptLinearStaticStepDefinition. - Confirm
include/fesa/element/Element.hppno longer includesElementDefinition.hpp. - Update
phases/domain-runtime-storage/index.jsonfor this step result.