docs: plan phase1 structure alignment refactor
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Sprint Contract: Results Reference Extraction
|
||||
|
||||
## Objective
|
||||
Move the in-memory result model, Phase 1 results writer, displacement CSV loader, and reference comparator into `Results` while preserving the documented step/frame/field schema.
|
||||
|
||||
## Required Reading
|
||||
- /AGENTS.md
|
||||
- /PROGRESS.md
|
||||
- /PLAN.md
|
||||
- /docs/README.md
|
||||
- /docs/HARNESS_ENGINEERING.md
|
||||
- /docs/ARCHITECTURE.md
|
||||
- /docs/ADR.md
|
||||
- /docs/RESULTS_SCHEMA.md
|
||||
- /docs/VERIFICATION_PLAN.md
|
||||
- /docs/NUMERICAL_CONVENTIONS.md
|
||||
- /phases/1-structure-alignment-refactor/step0-architecture-map.md
|
||||
- /phases/1-structure-alignment-refactor/step2.md
|
||||
|
||||
## Scope
|
||||
- Extract `FieldOutput`, `ResultFrame`, `ResultStep`, `ResultFile`, `InMemoryResultsWriter`, displacement CSV tables, comparison options, and comparison results.
|
||||
- Preserve mandatory Phase 1 `U` and `RF` field metadata.
|
||||
- Preserve CSV mapping from Abaqus `Node Label`, `U-U1`, `U-U2`, `U-U3`, `UR-UR1`, `UR-UR2`, `UR-UR3`.
|
||||
- Keep HDF5 as a future writer adapter; do not add the dependency yet.
|
||||
|
||||
## Allowed Files
|
||||
- `include/fesa/fesa.hpp`
|
||||
- `include/fesa/Results/`
|
||||
- `src/Results/`
|
||||
- `include/fesa/Core/`
|
||||
- `include/fesa/IO/`
|
||||
- `tests/`
|
||||
- `CMakeLists.txt`
|
||||
- `phases/1-structure-alignment-refactor/index.json`
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
|
||||
## Explicit Non-Goals
|
||||
- Do not add HDF5 output implementation.
|
||||
- Do not change result labels, field positions, basis, or comparison tolerances.
|
||||
- Do not add reaction CSV parsing in this step.
|
||||
- Do not change analysis execution.
|
||||
|
||||
## Tests To Write First
|
||||
- Add or update include/link tests for `fesa/Results` headers.
|
||||
- Preserve existing result schema, CSV loader, comparison, and `quad_02_phase1` displacement regression tests as characterization tests.
|
||||
|
||||
## Reference Artifacts
|
||||
- `references/quad_02_phase1.inp`
|
||||
- `references/quad_02_displacements.csv`
|
||||
|
||||
Do not edit these files.
|
||||
|
||||
## Acceptance Commands
|
||||
```bash
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
## Evaluator Checklist
|
||||
- Result model follows `docs/RESULTS_SCHEMA.md`.
|
||||
- `U` and `RF` metadata are unchanged.
|
||||
- CSV comparison still matches by node id, not row order alone.
|
||||
- `quad_02_phase1` stored displacement regression still passes.
|
||||
- HDF5 APIs do not leak into solver core.
|
||||
|
||||
## Handoff Requirements
|
||||
- Update this step status in `phases/1-structure-alignment-refactor/index.json`.
|
||||
- Record moved result/comparator files and any remaining result symbols still left in `fesa.hpp`.
|
||||
|
||||
## Do Not
|
||||
- Do not relax reference tolerances to make relocation pass.
|
||||
- Do not treat missing Abaqus reaction CSV as solved.
|
||||
Reference in New Issue
Block a user