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

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::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

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.