feat: add domain model foundation
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# Step 1: cmake-test-bootstrap
|
||||
|
||||
## Read First
|
||||
|
||||
Read these files before editing:
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/AGENT_RULES.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/implementation-plans/domain-model-foundation-implementation-plan.md`
|
||||
- `/phases/domain-model-foundation/index.json`
|
||||
- `/phases/domain-model-foundation/step0.md`
|
||||
|
||||
## Task
|
||||
|
||||
Create the minimum C++17/MSVC/CMake/CTest project structure needed to run Domain tests.
|
||||
|
||||
Allowed files:
|
||||
|
||||
- Create `/CMakeLists.txt`
|
||||
- Create `/include/fesa/core/.gitkeep` only if needed to preserve the directory before headers exist
|
||||
- Create `/src/core/.gitkeep` only if needed to preserve the directory before sources exist
|
||||
- Create `/tests/core/domain_bootstrap_test.cpp`
|
||||
|
||||
CMake requirements:
|
||||
|
||||
- `cmake_minimum_required(VERSION 3.20)`
|
||||
- Project name: `FESA`
|
||||
- Language: CXX
|
||||
- Set C++ standard to 17 and require it.
|
||||
- Create interface or library target `fesa_core`.
|
||||
- Add include directory `/include`.
|
||||
- Enable testing.
|
||||
- Create test executable `fesa_domain_tests`.
|
||||
- Register CTest name `domain.bootstrap`.
|
||||
- Apply CTest labels `domain;core`.
|
||||
|
||||
## Tests To Write First
|
||||
|
||||
Write `/tests/core/domain_bootstrap_test.cpp` before adding any production C++ code. It should be a minimal self-contained executable with `main()` returning 0 only when the C++ test harness is running.
|
||||
|
||||
Example intended behavior:
|
||||
|
||||
```cpp
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
This step does not implement Domain behavior yet. The purpose is to prove the MSVC/CTest path exists.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B build/msvc-debug -G "Visual Studio 17 2022" -A x64
|
||||
cmake --build build/msvc-debug --config Debug
|
||||
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R domain.bootstrap
|
||||
python -m unittest discover -s scripts -p "test_*.py"
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
Update `/phases/domain-model-foundation/index.json` step 1 with `completed`, `error`, or `blocked`.
|
||||
|
||||
## Do Not
|
||||
|
||||
- Do not add Domain, Node, Element, solver, parser, MKL, TBB, or HDF5 implementation in this step.
|
||||
- Do not add JavaScript, TypeScript, npm, or non-MSVC fallback tooling.
|
||||
Reference in New Issue
Block a user