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

1.5 KiB

Step 3: step-and-set-runtime-references

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
  • /include/fesa/core/StepDefinition.hpp
  • /src/core/Domain.cpp
  • /tests/core/domain_storage_test.cpp

Task

Make Domain set and step validation reference runtime storage.

Rules:

  • Domain::addElementSet must validate ids against runtime elements stored by Domain::findElement.
  • Domain::addStep(LinearStaticStepDefinition) may remain for now, but its boundary and load indices must validate against runtime boundary and load containers.
  • Failed insertions must not mutate Domain counts.
  • No equation ids, solver vectors, residuals, reactions, current time, or iteration state may be added to Domain.

Tests To Write First

  • Rewrite /tests/core/domain_storage_test.cpp set and step tests so they build elements, loads, and boundary conditions through runtime object APIs.
  • Preserve count-stability tests for failed insertions.

Acceptance Criteria

ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R domain
python scripts/validate_workspace.py

Verification Notes

  1. Run targeted CTest before production edits and confirm failure.
  2. Keep LinearStaticStepDefinition as the only remaining step record until a separate step-model phase exists.
  3. Update phases/domain-runtime-storage/index.json for this step result.