1.5 KiB
1.5 KiB
Step 0: property-base-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-runtime-storage-implementation-plan.md/include/fesa/property/ShellProperty.hpp/include/fesa/core/Domain.hpp/src/core/Domain.cpp
Task
Create /docs/implementation-plans/property-model-foundation-implementation-plan.md.
The plan must define the runtime property model contract:
Propertyis the base class for element properties and sections.PropertyKindidentifies concrete property families; phase 1 supports onlyShell.ShellPropertyderives fromProperty.Domainowns property objects through RAII.Domainvalidates duplicate property ids and missing material ids.Element::propertyId()remains an id reference; elements do not own property objects.
Keep out of scope:
- shell section stiffness;
- material constitutive matrices;
- shear correction;
- element formulation;
- assembly, solver, HDF5 output, and reference comparison.
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
- Confirm the plan does not change MITC4 formulation or tolerance policy.
- Confirm the plan keeps solver state out of
Domain. - Update
phases/property-model-foundation/index.jsonfor this step result.