docs: plan phase1 structure alignment refactor
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Sprint Contract: Module Scaffold And Facade
|
||||
|
||||
## Objective
|
||||
Create the target module directory scaffold and public include facade policy so later steps can move code incrementally while preserving existing tests and user includes.
|
||||
|
||||
## Required Reading
|
||||
- /AGENTS.md
|
||||
- /PROGRESS.md
|
||||
- /PLAN.md
|
||||
- /docs/README.md
|
||||
- /docs/HARNESS_ENGINEERING.md
|
||||
- /docs/ARCHITECTURE.md
|
||||
- /docs/ADR.md
|
||||
- /phases/1-structure-alignment-refactor/step0-architecture-map.md
|
||||
|
||||
## Scope
|
||||
- Add the documented module directories under `include/fesa/` and `src/` as needed, including `Analysis`, `Assembly`, `Boundary`, `Core`, `Element`, `IO`, `Load`, `Math`, `Material`, `Property`, `Results`, and `Util`.
|
||||
- Update `CMakeLists.txt` so future `.cpp` files under the module directories are compiled by `fesa_core`.
|
||||
- Keep `include/fesa/fesa.hpp` as the stable umbrella header for current tests and clients.
|
||||
- Add minimal module header smoke coverage proving selected module headers and `fesa/fesa.hpp` can be included together.
|
||||
|
||||
## Allowed Files
|
||||
- `CMakeLists.txt`
|
||||
- `include/fesa/`
|
||||
- `src/`
|
||||
- `tests/`
|
||||
- `phases/1-structure-alignment-refactor/index.json`
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
|
||||
## Explicit Non-Goals
|
||||
- Do not move large implementations yet.
|
||||
- Do not change class names, namespaces, DOF order, result labels, parser behavior, or solver outputs.
|
||||
- Do not add MKL, TBB, or HDF5 dependencies.
|
||||
- Do not replace the umbrella header with module-only includes.
|
||||
|
||||
## Tests To Write First
|
||||
- Add or update a compile/include smoke test that includes the new module headers and `fesa/fesa.hpp` together.
|
||||
- The test should fail before the scaffold exists and pass after the scaffold is added.
|
||||
|
||||
## Reference Artifacts
|
||||
- None.
|
||||
|
||||
## Acceptance Commands
|
||||
```bash
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
## Evaluator Checklist
|
||||
- Module directory names align with `docs/ARCHITECTURE.md`.
|
||||
- `fesa_core` builds with the scaffold on Windows/MSVC.
|
||||
- Existing tests still include `fesa/fesa.hpp` successfully.
|
||||
- New module headers do not expose external MKL, TBB, or HDF5 APIs.
|
||||
- No solver behavior changes are mixed into the scaffold.
|
||||
|
||||
## Handoff Requirements
|
||||
- Update this step status in `phases/1-structure-alignment-refactor/index.json`.
|
||||
- Record validation output and any CMake/source-list decisions in `PROGRESS.md`.
|
||||
- Leave detailed code movement to later steps.
|
||||
|
||||
## Do Not
|
||||
- Do not introduce broad formatting churn in `fesa.hpp`.
|
||||
- Do not change public API semantics while creating empty or thin module boundaries.
|
||||
Reference in New Issue
Block a user