1.5 KiB
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::addElementSetmust validate ids against runtime elements stored byDomain::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.cppset 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
- Run targeted CTest before production edits and confirm failure.
- Keep
LinearStaticStepDefinitionas the only remaining step record until a separate step-model phase exists. - Update
phases/domain-runtime-storage/index.jsonfor this step result.