43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```powershell
|
|
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.
|