Files
FESADev/phases/domain-runtime-storage/step4.md
T
2026-06-09 10:08:34 +09:00

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:

  • Domain must no longer include or store:
    • fesa/core/BoundaryCondition.hpp
    • fesa/core/ElementDefinition.hpp
    • fesa/core/LoadDefinition.hpp
    • fesa/core/MaterialDefinition.hpp
    • fesa/core/PropertyDefinition.hpp
  • Domain may still include StepDefinition.hpp until 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.cpp or 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

  1. Confirm no Domain method returns a definition DTO except LinearStaticStepDefinition.
  2. Confirm include/fesa/element/Element.hpp no longer includes ElementDefinition.hpp.
  3. Update phases/domain-runtime-storage/index.json for this step result.