feat: add analysis state and base
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Step 0: analysis-contract-plan
|
||||
|
||||
## Read First
|
||||
|
||||
Read these files before editing:
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/PLAN.md`
|
||||
- `/docs/PROGRESS.md`
|
||||
- `/docs/WORKNOTE.md`
|
||||
- `/docs/AGENT_RULES.md`
|
||||
- `/docs/PRD.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/implementation-plans/analysis-model-objects-implementation-plan.md`
|
||||
- `/docs/implementation-plans/property-model-foundation-implementation-plan.md`
|
||||
- `/include/fesa/core/Domain.hpp`
|
||||
- `/include/fesa/core/ModelTypes.hpp`
|
||||
- `/include/fesa/core/StepDefinition.hpp`
|
||||
- `/CMakeLists.txt`
|
||||
|
||||
## Task
|
||||
|
||||
Create `/docs/implementation-plans/analysis-state-analysis-base-implementation-plan.md`.
|
||||
|
||||
The document must define the implementation contract for:
|
||||
|
||||
- `fesa::core::AnalysisState` as mutable analysis state storage.
|
||||
- `fesa::analysis::Analysis` as the base analysis strategy interface.
|
||||
- A dedicated CTest path for analysis-layer tests.
|
||||
|
||||
State explicitly that this phase does not implement:
|
||||
|
||||
- `AnalysisModel`
|
||||
- `DofManager`
|
||||
- MITC4 stiffness, stress, resultants, or force recovery
|
||||
- global assembly
|
||||
- constrained DOF elimination
|
||||
- MKL/PARDISO solve
|
||||
- HDF5 result writing beyond existing skeletons
|
||||
- reference comparison
|
||||
- Abaqus/Nastran/reference-solver execution
|
||||
|
||||
## Tests To Write First
|
||||
|
||||
This is a documentation planning step. Do not write C++ production code in this step.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
python -m unittest discover -s scripts -p "test_*.py"
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
Update `/phases/analysis-state-analysis-base/index.json` step 0 with `completed`, `error`, or `blocked`.
|
||||
|
||||
## Do Not
|
||||
|
||||
- Do not change C++ code in this step.
|
||||
- Do not change requirements, formulations, I/O contracts, reference artifacts, or tolerance policy.
|
||||
Reference in New Issue
Block a user