docs: remove retired workflow instructions and repair references
This commit is contained in:
@@ -1,24 +1,18 @@
|
||||
# Step 0: Coding Style Agent Contract
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/.agents/skills/harness/SKILL.md`
|
||||
- `/.codex/skills/fesa-cpp-msvc-tdd/SKILL.md`
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/SOLVER_AGENT_DESIGN.md`
|
||||
- `/docs/HARNESS.md`
|
||||
- `/docs/HARNESS_WORKFLOW.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `/.codex/hooks.json`
|
||||
- `/.codex/agents/implementation-agent.toml`
|
||||
- `/tests/test_agent_skill_workflow_contract.py`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/index.json`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/step0.md`
|
||||
|
||||
@@ -30,9 +24,8 @@ Requirement `R-AGENT-001`만 구현한다.
|
||||
|
||||
1. `tests/test_agent_skill_workflow_contract.py`에 `P-AGENT-001`을 먼저 추가한다.
|
||||
2. Test는 `implementation-agent.toml`의 mandatory global input 구간이 literal path
|
||||
`docs/CODINGSTYLE.md`를 직접 포함하고, C++ Step 시작 전에 읽도록 지시하는지 검증한다.
|
||||
`../../docs/solver-core/README.md`를 직접 포함하고, C++ Step 시작 전에 읽도록 지시하는지 검증한다.
|
||||
3. RED에서 현재 profile이 이 contract를 만족하지 않아 assertion failure가 발생함을 기록한다.
|
||||
4. `/.codex/agents/implementation-agent.toml`에 다음 의미의 지시를 최소 추가한다.
|
||||
|
||||
```text
|
||||
Before every C++ implementation Step, read docs/CODINGSTYLE.md as a mandatory global
|
||||
@@ -54,16 +47,7 @@ uv run --with pytest python -m pytest -v -rs
|
||||
|
||||
Repository Stop 검증과 동일한 C++ 회귀 확인:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B .harness/build -G "Visual Studio 18 2026" -A x64 `
|
||||
"-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" `
|
||||
"-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" `
|
||||
"-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" `
|
||||
"-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
@@ -78,4 +62,3 @@ ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
- C++ 또는 CMake를 수정하지 마라. 이유: 이 Step은 agent contract만 소유한다.
|
||||
- 다른 agent profile에 동일 문구를 일괄 추가하지 마라. 이유: 승인 범위를 넓힌다.
|
||||
- 직접 commit하거나 hook script를 수동 실행하지 마라. 이유: Executor와 hook의 소유권이다.
|
||||
- `scripts/execute.py`를 호출하지 마라. 이유: 현재 독립 Step을 재귀 실행하면 안 된다.
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
# Step 1: C++ Style Tooling
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/.agents/skills/harness/SKILL.md`
|
||||
- `/.codex/skills/fesa-cpp-msvc-tdd/SKILL.md`
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/superpowers/specs/2026-08-16-cpp-object-oriented-modular-refactoring-design.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/CMakeLists.txt`
|
||||
- `/.gitignore`
|
||||
- `/tests/test_agent_skill_workflow_contract.py`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/index.json`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/step1.md`
|
||||
- Step 0이 수정한 `/.codex/agents/implementation-agent.toml`
|
||||
|
||||
## 작업
|
||||
|
||||
@@ -43,21 +37,7 @@ Requirements `R-STYLE-001`과 `R-DOC-001`의 repository tooling만 구현한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
uv run --with pytest python -m pytest -v -rs tests/test_cpp_policy_contract.py
|
||||
uv run --with pytest python -m pytest -v -rs
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --version
|
||||
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --version
|
||||
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --verify-config
|
||||
cmake -S . -B .harness/build -G "Visual Studio 18 2026" -A x64 `
|
||||
"-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" `
|
||||
"-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" `
|
||||
"-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" `
|
||||
"-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
Expected GREEN에는 Doxygen 실행이나 generated HTML이 포함되지 않는다.
|
||||
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
# Step 10: Dense BLAS Adapter
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/math/vector.h`, `/src/fesa/math/vector.cpp`
|
||||
- `/include/fesa/math/matrix.h`, `/src/fesa/math/matrix.cpp`
|
||||
- `/tests/unit/math/vector_test.cpp`, `/tests/unit/math/matrix_test.cpp`
|
||||
@@ -49,20 +46,7 @@ void CopyValues(const double* source, std::size_t size, double* destination);
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "DenseMath|DenseBlasInternal" --output-on-failure
|
||||
rg -n "ToMklSize|CopyValues" src/fesa/math
|
||||
rg -n "MKL_INT|mkl\.h" include/fesa
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
src/fesa/math/dense_blas_internal.h src/fesa/math/dense_blas_internal.cpp `
|
||||
src/fesa/math/vector.cpp src/fesa/math/matrix.cpp `
|
||||
tests/unit/math/dense_blas_internal_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
The public-header vendor scan must return no matches. The private helper scan must show one
|
||||
definition family and the two intended consumers only.
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 11: Source Target Resolver
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/core/source_identity.h`
|
||||
- `/include/fesa/model/domain.h`, `/src/fesa/model/domain.cpp`
|
||||
- `/src/fesa/io/abaqus/domain_mapper.cpp`
|
||||
@@ -95,22 +92,7 @@ class SourceTargetResolver {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Ascii|SourceTargetResolver|InpDomainMapping|DofManager|LoadAssembly|ResultRecovery" `
|
||||
--output-on-failure
|
||||
rg -n "AsciiLower|EqualName|TryPositiveInteger" src/fesa
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/core/ascii.h src/fesa/core/ascii.cpp `
|
||||
include/fesa/model/source_target_resolver.h `
|
||||
src/fesa/model/source_target_resolver.cpp `
|
||||
tests/unit/core/ascii_test.cpp `
|
||||
tests/unit/model/source_target_resolver_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
The helper scan may show only the shared definitions and intentional calls, not repeated local
|
||||
definitions. Full diagnostics and stable order tests must pass.
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
# Step 12: Material and Element Property Hierarchy
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/superpowers/specs/2026-08-16-cpp-object-oriented-modular-refactoring-design.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/model/model_types.h`
|
||||
- `/include/fesa/model/domain.h`, `/src/fesa/model/domain.cpp`
|
||||
- `/tests/unit/model/model_types_test.cpp`, `/tests/unit/model/domain_test.cpp`
|
||||
@@ -77,19 +74,7 @@ class ElementProperty {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Material|ElementProperty|DomainModel" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
(rg --files include/fesa/materials include/fesa/properties -g "*.h") `
|
||||
(rg --files src/fesa/materials src/fesa/properties -g "*.cpp") `
|
||||
tests/unit/materials/material_test.cpp `
|
||||
tests/unit/properties/element_property_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 13: Element Definition and Domain Ownership
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 11 `source_target_resolver` files
|
||||
- Step 12 material/property headers and tests
|
||||
- `/include/fesa/model/model_types.h`
|
||||
@@ -64,19 +61,7 @@ class ElementDefinition {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "ElementDefinition|DomainModel|AnalysisModel|InpDomainMapping" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/elements/element_definition.h `
|
||||
include/fesa/model/domain.h src/fesa/model/domain.cpp `
|
||||
tests/unit/model/domain_test.cpp tests/unit/analysis/analysis_model_test.cpp `
|
||||
tests/unit/io/abaqus/domain_mapper_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 14: Runtime Element and Factory
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `/docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `../../docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 12 material/property hierarchy files
|
||||
- Step 13 element definition and Domain files
|
||||
- `/include/fesa/elements/euler_beam_3d.h`, `/src/fesa/elements/euler_beam_3d.cpp`
|
||||
@@ -99,18 +96,7 @@ class ElementFactory {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "ElementFactory|EulerBeam3D|Mitc4Shell" --output-on-failure
|
||||
rg -n "dynamic_cast" src/fesa include/fesa
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/elements/element.h include/fesa/elements/element_factory.h `
|
||||
src/fesa/elements/element_factory.cpp tests/unit/elements/element_factory_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
The downcast scan must show no newly scattered consumer downcasts. If the centralized factory uses
|
||||
a checked cast, document the preceding kind validation and keep it in the factory only.
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 15: Generic DofManager
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 13 Domain/AnalysisModel files
|
||||
- Step 14 `element.h`, `element_factory.h`, concrete runtime elements
|
||||
- `/include/fesa/fem/dof_manager.h`, `/src/fesa/fem/dof_manager.cpp`
|
||||
@@ -53,20 +50,7 @@ Status DofManager::ValidateInvariants() const;
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "DofManager|EssentialConstraints|SparseAssembly" --output-on-failure
|
||||
$typeBranches = @(rg -n "EulerBeam3D|Mitc4Shell" src/fesa/fem/dof_manager.cpp)
|
||||
if ($typeBranches.Count -ne 0) { $typeBranches; throw "Concrete element branch remains" }
|
||||
rg -n "ValidateDofOrder" src/fesa
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/fem/dof_manager.h src/fesa/fem/dof_manager.cpp `
|
||||
tests/unit/fem/dof_manager_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
`ValidateDofOrder` scan must show no duplicate local definitions. Existing public compatibility
|
||||
wrappers may remain temporarily only if they delegate to DofManager and are removed by Step 20.
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 16: Generic SparseAssembler
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 14 runtime Element contribution contract
|
||||
- Step 15 DofManager and invariant contract
|
||||
- `/include/fesa/assembly/sparse_assembler.h`, `/src/fesa/assembly/sparse_assembler.cpp`
|
||||
@@ -49,19 +46,7 @@ Result<SparseMatrix> SparseAssembler::Assemble(
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug -R "SparseAssembly" --output-on-failure
|
||||
$typeBranches = @(rg -n "EulerBeam3D|Mitc4Shell" src/fesa/assembly/sparse_assembler.cpp)
|
||||
if ($typeBranches.Count -ne 0) { $typeBranches; throw "Concrete element branch remains" }
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/assembly/sparse_assembler.h `
|
||||
src/fesa/assembly/sparse_assembler.cpp `
|
||||
tests/unit/assembly/sparse_assembler_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
# Step 17: Generic ResultRecovery
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `/docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `../../docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 14 `ElementResultBundle` contract
|
||||
- Step 15 DofManager and Step 16 assembly files
|
||||
- `/include/fesa/results/result_recovery.h`, `/src/fesa/results/result_recovery.cpp`
|
||||
@@ -55,20 +52,7 @@ Status ResultRecovery::Recover(
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "ResultRecovery|AnalysisState|EulerBeam3D|Mitc4Shell" --output-on-failure
|
||||
$typeBranches = @(rg -n "EulerBeam3D|Mitc4Shell" src/fesa/results/result_recovery.cpp)
|
||||
if ($typeBranches.Count -ne 0) { $typeBranches; throw "Concrete element branch remains" }
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/results/result_recovery.h `
|
||||
src/fesa/results/result_recovery.cpp `
|
||||
tests/unit/results/result_recovery_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 18: Load Hierarchy
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 11 source-target resolver files
|
||||
- Step 13 Domain/AnalysisModel files
|
||||
- Step 15 DofManager files
|
||||
@@ -80,19 +77,7 @@ class ConcentratedNodalLoad final : public Load {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Load|LoadAssembly|AnalysisModel|InpDomainMapping" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
(rg --files include/fesa/loads -g "*.h") `
|
||||
(rg --files src/fesa/loads -g "*.cpp") `
|
||||
include/fesa/assembly/load_assembler.h src/fesa/assembly/load_assembler.cpp `
|
||||
tests/unit/loads/load_test.cpp tests/unit/assembly/load_assembler_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 19: Boundary Condition Policy
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 11 source resolver, Step 13 Domain and Step 15 DofManager files
|
||||
- `/include/fesa/constraints/essential_constraints.h`
|
||||
- `/src/fesa/constraints/essential_constraints.cpp`
|
||||
@@ -106,21 +103,7 @@ class EssentialConstraintPolicy {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "BoundaryCondition|EssentialConstraints|DofManager|LoadAssembly" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/constraints/boundary_condition.h `
|
||||
include/fesa/constraints/prescribed_displacement.h `
|
||||
include/fesa/constraints/essential_constraint_policy.h `
|
||||
(rg --files src/fesa/constraints -g "*.cpp") `
|
||||
tests/unit/constraints/boundary_condition_test.cpp `
|
||||
tests/unit/constraints/essential_constraints_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 2: Architecture Boundaries
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step은 구현 전 architecture contract를 고정하는 documentation-only Step이다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/PRD.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/superpowers/specs/2026-08-16-cpp-object-oriented-modular-refactoring-design.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/index.json`
|
||||
- `/phases/cpp-object-oriented-modular-refactoring/step2.md`
|
||||
|
||||
@@ -23,7 +20,7 @@
|
||||
Requirements `R-MODEL-001`, `R-ELEMENT-001`, `R-PIPELINE-001`, `R-LOAD-001`,
|
||||
`R-BC-001`, `R-ANALYSIS-001`, `R-MODULE-001`의 ownership 방향을 문서화한다.
|
||||
|
||||
1. `/docs/ARCHITECTURE.md`에 다음 dependency/ownership graph를 반영한다.
|
||||
1. `../../docs/solver-core/README.md`에 다음 dependency/ownership graph를 반영한다.
|
||||
|
||||
```text
|
||||
Domain owns ElementDefinition / ElementProperty / Material / StepDefinition
|
||||
@@ -37,7 +34,7 @@ EssentialConstraintPolicy -> ConstraintDefinition
|
||||
Analysis <- LinearStaticAnalysis
|
||||
```
|
||||
|
||||
2. `/docs/ADR.md`에서 기존 ADR-007의 linear-static-specific protected hook contract를
|
||||
2. `../../docs/solver-core/README.md`에서 기존 ADR-007의 linear-static-specific protected hook contract를
|
||||
최소 `Analysis::Run(const AnalysisRequest&)` base와 private
|
||||
`LinearStaticAnalysis` lifecycle 결정으로 대체하거나 supersede한다.
|
||||
3. ADR에 `ElementDefinition`/runtime `Element` 분리, Domain `unique_ptr` ownership,
|
||||
@@ -50,16 +47,7 @@ Documentation-only contract 고정이므로 artificial RED를 만들지 않는
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
rg -n "ElementDefinition|ElementFactory|LoadContribution|ConstraintDefinition|Analysis::Run" `
|
||||
docs/ARCHITECTURE.md docs/ADR.md
|
||||
rg -n "unique_ptr|stable-index|non-owning|LinearStaticAnalysis" `
|
||||
docs/ARCHITECTURE.md docs/ADR.md
|
||||
git diff --check
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 20: Analysis Hierarchy
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/requirements.md`
|
||||
- `/docs/linear-static-mitc4-shell/requirements.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 15–19 generic element/load/constraint pipeline files
|
||||
- `/include/fesa/analysis/analysis_model.h`
|
||||
- `/include/fesa/analysis/analysis_state.h`
|
||||
@@ -82,20 +79,7 @@ class LinearStaticAnalysis final : public Analysis {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests fesa_integration_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Analysis$|LinearStaticCli|Mitc4ShellCli|FesaApplication" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/analysis/analysis.h `
|
||||
include/fesa/analysis/linear_static_analysis.h `
|
||||
src/fesa/analysis/linear_static_analysis.cpp `
|
||||
tests/unit/analysis/analysis_test.cpp `
|
||||
tests/integration/analysis/linear_static_analysis_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 21: Domain Mapper Modules
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 11 SourceTargetResolver
|
||||
- Step 12–14 semantic hierarchy/Domain files
|
||||
- Step 18–19 Load and BoundaryCondition files
|
||||
@@ -53,32 +50,7 @@ domain_builder.h/.cpp final cross-reference validation and atomic Doma
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "InpDomainMapping|DomainMappingComponents|SourceTargetResolver" --output-on-failure
|
||||
$componentFiles = @(
|
||||
"src/fesa/io/abaqus/domain_mapping_context.h",
|
||||
"src/fesa/io/abaqus/topology_mapper.cpp",
|
||||
"src/fesa/io/abaqus/material_property_mapper.cpp",
|
||||
"src/fesa/io/abaqus/step_definition_mapper.cpp",
|
||||
"src/fesa/io/abaqus/domain_builder.cpp"
|
||||
)
|
||||
foreach ($componentFile in $componentFiles) {
|
||||
if (-not (Test-Path -LiteralPath $componentFile -PathType Leaf)) {
|
||||
throw "Missing mapper component: $componentFile"
|
||||
}
|
||||
}
|
||||
rg -n "TopologyMapper|MaterialPropertyMapper|StepDefinitionMapper|DomainBuilder" `
|
||||
src/fesa/io/abaqus/domain_mapper.cpp
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
(rg --files src/fesa/io/abaqus -g "*.h" -g "*.cpp") `
|
||||
tests/unit/io/abaqus/domain_mapper_test.cpp `
|
||||
tests/unit/io/abaqus/domain_mapping_components_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
# Step 22: Result Recovery Modules
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `/docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `../../docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 17 generic ResultRecovery files
|
||||
- `/include/fesa/results/result_records.h`
|
||||
- `/include/fesa/analysis/analysis_state.h`
|
||||
@@ -52,32 +49,7 @@ analysis_state_commit.h/.cpp validates complete candidate and atomically u
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "ResultRecovery|ResultRecoveryComponents|AnalysisState" --output-on-failure
|
||||
$componentFiles = @(
|
||||
"src/fesa/results/recovery_candidate.cpp",
|
||||
"src/fesa/results/global_equilibrium_recovery.cpp",
|
||||
"src/fesa/results/beam_result_recovery.cpp",
|
||||
"src/fesa/results/shell_result_recovery.cpp",
|
||||
"src/fesa/results/analysis_state_commit.cpp"
|
||||
)
|
||||
foreach ($componentFile in $componentFiles) {
|
||||
if (-not (Test-Path -LiteralPath $componentFile -PathType Leaf)) {
|
||||
throw "Missing recovery component: $componentFile"
|
||||
}
|
||||
}
|
||||
rg -n "GlobalEquilibriumRecovery|BeamResultRecovery|ShellResultRecovery|Commit" `
|
||||
src/fesa/results/result_recovery.cpp
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
(rg --files src/fesa/results -g "*.h" -g "*.cpp") `
|
||||
tests/unit/results/result_recovery_test.cpp `
|
||||
tests/unit/results/result_recovery_components_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 23: HDF5 Writer Modules
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- Step 22 recovery candidate/result records
|
||||
- `/include/fesa/io/hdf5/hdf5_results_writer.h`
|
||||
- `/src/fesa/io/hdf5/hdf5_results_writer.cpp`
|
||||
@@ -53,35 +50,7 @@ hdf5_atomic_file.h/.cpp candidate path, preservation and final replacemen
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Hdf5ResultsWriter|Hdf5WriterComponents|ResultsWriter" --output-on-failure
|
||||
$componentFiles = @(
|
||||
"src/fesa/io/hdf5/hdf5_raii.h",
|
||||
"src/fesa/io/hdf5/hdf5_primitives.cpp",
|
||||
"src/fesa/io/hdf5/hdf5_model_writer.cpp",
|
||||
"src/fesa/io/hdf5/hdf5_result_writer.cpp",
|
||||
"src/fesa/io/hdf5/hdf5_self_check.cpp",
|
||||
"src/fesa/io/hdf5/hdf5_atomic_file.cpp"
|
||||
)
|
||||
foreach ($componentFile in $componentFiles) {
|
||||
if (-not (Test-Path -LiteralPath $componentFile -PathType Leaf)) {
|
||||
throw "Missing HDF5 component: $componentFile"
|
||||
}
|
||||
}
|
||||
rg -n "WriteModel|WriteResults|SelfCheck|Atomic" `
|
||||
src/fesa/io/hdf5/hdf5_results_writer.cpp
|
||||
$vendorLeaks = @(rg -n "hid_t|hdf5\.h|H5[A-Z]" include/fesa)
|
||||
if ($vendorLeaks.Count -ne 0) { $vendorLeaks; throw "HDF5 type leaked into public headers" }
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
(rg --files src/fesa/io/hdf5 -g "*.h" -g "*.cpp") `
|
||||
tests/unit/io/hdf5/hdf5_results_writer_test.cpp `
|
||||
tests/unit/io/hdf5/hdf5_writer_components_test.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,27 +1,21 @@
|
||||
# Step 24: Final Quality and Reference Gate
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`, `superpowers:verification-before-completion`
|
||||
- This is the final Implementation-owned verification Step. Execute
|
||||
`ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT` in that literal order.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/.agents/skills/harness/SKILL.md`
|
||||
- `/.codex/skills/fesa-cpp-msvc-tdd/SKILL.md`
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `/docs/linear-static-3d-euler-beam/requirements.md`
|
||||
- `/docs/linear-static-3d-euler-beam/reference-model.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/requirements.md`
|
||||
- `/docs/linear-static-mitc4-shell/reference-model.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `/tests/reference/b33_reference_comparison_test.cpp`
|
||||
- `/tests/reference/mitc4_reference_cases_test.cpp`
|
||||
- all Step 0–23 summaries and changed files
|
||||
@@ -46,14 +40,14 @@ traceability row를 최종 검증한다. No production behavior is added in this
|
||||
- Assert exact MITC4 S4 input and displacement CSV exist under `/reference/shell/`.
|
||||
- Snapshot/diff reference tree against baseline commit `1e5758f`.
|
||||
6. COMPARE by running only the approved B33 and MITC4 S4 reference suites. Confirm generated:
|
||||
- `.harness/build/reference/cantilever-beam-b33/results.h5`
|
||||
- `.harness/build/reference/mitc4-shell-s4-comparison/results.h5`
|
||||
- 과거 검증 자료(정리됨)
|
||||
- 과거 검증 자료(정리됨)
|
||||
7. CLASSIFY missing/extra/duplicate/nonfinite/tolerance failure before reporting. B33 retains its
|
||||
existing component-scale policy. MITC4 U1/U2/U3 use fixed `1.0e-5`; UR1/UR2/UR3 remain warning-only.
|
||||
8. REPORT by creating/updating:
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-report.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/build-test.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/reference-comparison.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
9. `implementation-report.md` records each Step RED/GREEN/VERIFY command and result summary.
|
||||
10. `build-test.md` records metadata with `owner_agent: implementation-agent`, environment,
|
||||
command/exit code/duration/output tail, test inventory, classification, no-change assertion,
|
||||
@@ -90,59 +84,11 @@ if ($legacyHeaders.Count -ne 0) {
|
||||
|
||||
Fresh MSVC build and full tests:
|
||||
|
||||
```powershell
|
||||
$requiredBuildPaths = @(
|
||||
"C:/git/googletest",
|
||||
"C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl",
|
||||
"C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb",
|
||||
"C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
|
||||
)
|
||||
foreach ($requiredBuildPath in $requiredBuildPaths) {
|
||||
if (-not (Test-Path -LiteralPath $requiredBuildPath)) {
|
||||
throw "Missing $requiredBuildPath"
|
||||
}
|
||||
}
|
||||
cmake --fresh -S . -B .harness/build -G "Visual Studio 18 2026" -A x64 `
|
||||
"-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" `
|
||||
"-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" `
|
||||
"-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" `
|
||||
"-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
|
||||
cmake --build .harness/build --config Debug --target fesa_tests
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
ARTIFACT CHECK, COMPARE and post-check:
|
||||
|
||||
```powershell
|
||||
$declaredArtifacts = @(
|
||||
"reference/cantilever beam/cantilever beam.inp",
|
||||
"reference/cantilever beam/cantilever beam displacements.csv",
|
||||
"reference/cantilever beam/cantilever beam elemental forces.csv",
|
||||
"reference/cantilever beam/cantilever beam reactions.csv",
|
||||
"reference/shell/shell.inp",
|
||||
"reference/shell/shell displacements.csv"
|
||||
)
|
||||
foreach ($declaredArtifact in $declaredArtifacts) {
|
||||
if (-not (Test-Path -LiteralPath $declaredArtifact -PathType Leaf)) {
|
||||
throw "Missing declared artifact: $declaredArtifact"
|
||||
}
|
||||
}
|
||||
git diff --exit-code 1e5758f -- reference
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "B33ReferenceComparison|Mitc4S4Reference" --output-on-failure
|
||||
$generatedResults = @(
|
||||
".harness/build/reference/cantilever-beam-b33/results.h5",
|
||||
".harness/build/reference/mitc4-shell-s4-comparison/results.h5"
|
||||
)
|
||||
foreach ($generatedResult in $generatedResults) {
|
||||
if (-not (Test-Path -LiteralPath $generatedResult -PathType Leaf)) {
|
||||
throw "Missing generated solver result: $generatedResult"
|
||||
}
|
||||
}
|
||||
git diff --exit-code 1e5758f -- reference
|
||||
git diff --check
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 3: Foundation Google Style
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/core/diagnostic.hpp`
|
||||
- `/include/fesa/core/source_identity.hpp`
|
||||
- `/include/fesa/core/status.hpp`
|
||||
@@ -60,30 +57,7 @@ Requirement `R-STYLE-001`의 foundation slice와 `R-DOC-001`을 구현한다.
|
||||
|
||||
RED 후 GREEN focused/full verification:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B .harness/build -G "Visual Studio 18 2026" -A x64 `
|
||||
"-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" `
|
||||
"-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" `
|
||||
"-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" `
|
||||
"-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "DenseMath|SparseAssembly|Status|Diagnostic|LinearSolver|MklPardiso|BuildInfo" `
|
||||
--output-on-failure
|
||||
$files = @(
|
||||
(rg --files include/fesa/core include/fesa/math include/fesa/solvers/linear `
|
||||
-g "*.h"),
|
||||
"include/fesa/build_info.h",
|
||||
(rg --files src/fesa/core src/fesa/math src/fesa/solvers/linear -g "*.cpp"),
|
||||
"src/fesa/build_info.cpp",
|
||||
(rg --files tests/unit/core tests/unit/math tests/unit/solvers/linear -g "*.cpp"),
|
||||
"tests/unit/build_info_test.cpp"
|
||||
)
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror $files
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 4: Model and Element Google Style
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `/docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `../../docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/model/domain.hpp`, `/include/fesa/model/model_types.hpp`,
|
||||
`/include/fesa/model/shell_geometry.hpp`
|
||||
- `/src/fesa/model/domain.cpp`, `/src/fesa/model/shell_geometry.cpp`
|
||||
@@ -47,20 +44,7 @@ Requirement `R-STYLE-001`의 model/element slice와 `R-DOC-001`을 구현한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "DomainModel|Mitc4Geometry|EulerBeam3D|Mitc4Shell" --output-on-failure
|
||||
$files = @(
|
||||
(rg --files include/fesa/model include/fesa/elements -g "*.h"),
|
||||
(rg --files src/fesa/model src/fesa/elements -g "*.cpp"),
|
||||
(rg --files tests/unit/model tests/unit/elements -g "*.cpp")
|
||||
)
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror $files
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
RED에서는 updated test callsite가 old production API와 불일치해야 한다. GREEN에서는
|
||||
focused suites와 전체 CTest가 통과해야 한다.
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 5: Solver Workflow Google Style
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/analysis/analysis_model.hpp`,
|
||||
`/include/fesa/analysis/analysis_state.hpp`,
|
||||
`/include/fesa/analysis/linear_static_analysis.hpp`
|
||||
@@ -63,24 +60,7 @@ Requirement `R-STYLE-001`의 solver workflow slice와 `R-DOC-001`을 구현한
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests fesa_integration_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "DofManager|LoadAssembly|SparseAssembly|EssentialConstraints|AnalysisState|ResultRecovery|LinearStaticCli|Mitc4ShellCli" `
|
||||
--output-on-failure
|
||||
$files = @(
|
||||
(rg --files include/fesa/analysis include/fesa/assembly include/fesa/constraints `
|
||||
include/fesa/fem include/fesa/results -g "*.h"),
|
||||
(rg --files src/fesa/analysis src/fesa/assembly src/fesa/constraints `
|
||||
src/fesa/fem src/fesa/results -g "*.cpp"),
|
||||
(rg --files tests/unit/analysis tests/unit/assembly tests/unit/constraints `
|
||||
tests/unit/fem tests/unit/results tests/integration/analysis -g "*.cpp")
|
||||
)
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror $files
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Step 6: I/O and Application Google Style
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/io/abaqus/domain_mapper.hpp`,
|
||||
`/include/fesa/io/abaqus/input_reader.hpp`,
|
||||
`/include/fesa/io/abaqus/input_syntax.hpp`
|
||||
@@ -58,22 +55,7 @@ Requirement `R-STYLE-001`의 I/O/application slice와 `R-DOC-001`을 구현한
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests `
|
||||
fesa_integration_tests fesa_reference_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "InpSyntax|InpDomainMapping|Hdf5ResultsWriter|FesaApplication|ReferenceComparison|B33ReferenceComparison|Mitc4Reference|Mitc4S4Reference" `
|
||||
--output-on-failure
|
||||
$files = @(
|
||||
(rg --files include/fesa/io include/fesa/app -g "*.h"),
|
||||
(rg --files src/fesa/io src/fesa/app -g "*.cpp"),
|
||||
(rg --files tests/unit/io tests/integration/app tests/reference -g "*.h" -g "*.cpp")
|
||||
)
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror $files
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 7: Vector3 Value Type
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/ADR.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/math/vector.h`
|
||||
- `/src/fesa/math/vector.cpp`
|
||||
- `/tests/unit/math/vector_test.cpp`
|
||||
@@ -59,17 +56,7 @@ class Vector3 {
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug -R "Vector3" --output-on-failure
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
include/fesa/math/vector3.h tests/unit/math/vector3_test.cpp
|
||||
& "C:/Program Files/LLVM/bin/clang-tidy.exe" --config-file=.clang-tidy `
|
||||
include/fesa/math/vector3.h -- -x c++ -std=c++17 -Iinclude
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
## 검증 및 상태 갱신
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
# Step 8: Element and Geometry Vector3 Migration
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `/docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/formulation.md`
|
||||
- `../../docs/linear-static-mitc4-shell/formulation.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/math/vector3.h`, `/tests/unit/math/vector3_test.cpp`
|
||||
- `/include/fesa/elements/euler_beam_3d.h`, `/src/fesa/elements/euler_beam_3d.cpp`
|
||||
- `/include/fesa/elements/mitc4_shell.h`, `/src/fesa/elements/mitc4_shell.cpp`
|
||||
@@ -40,19 +37,7 @@ Requirement `R-DUP-001`의 element/model consumer migration을 구현한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "Vector3|EulerBeam3D|Mitc4Shell|Mitc4Geometry" --output-on-failure
|
||||
rg -n "(double|Vector3) (Dot|Cross|Norm|Add|Subtract|Scale)\(" `
|
||||
src/fesa/elements src/fesa/model
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
src/fesa/elements/euler_beam_3d.cpp src/fesa/elements/mitc4_shell.cpp `
|
||||
src/fesa/model/shell_geometry.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
The `rg` command must return no duplicate local primitive definition; member calls such as
|
||||
`.Dot()` are allowed.
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
# Step 9: Result and I/O Vector3 Migration
|
||||
|
||||
## 담당 역할과 필수 스킬
|
||||
|
||||
- 담당 역할: `implementation-agent`
|
||||
- 필수 스킬: `harness`, `fesa-cpp-msvc-tdd`
|
||||
- 이 Step만 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`로 수행한다.
|
||||
> 과거 개발 계획이다. 아래 작업·상태·예시는 현재 실행 지시가 아니다.
|
||||
> 현재 구현과 검증 한계는 [기능 요약](../../docs/cpp-object-oriented-modular-refactoring/README.md)을 따른다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `/AGENTS.md`
|
||||
- `/docs/CODINGSTYLE.md`
|
||||
- `/docs/ARCHITECTURE.md`
|
||||
- `/docs/linear-static-3d-euler-beam/io.md`
|
||||
- `/docs/linear-static-mitc4-shell/io.md`
|
||||
- `/docs/cpp-object-oriented-modular-refactoring/implementation-plan.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/solver-core/README.md`
|
||||
- `../../docs/linear-static-3d-euler-beam/README.md`
|
||||
- `../../docs/linear-static-mitc4-shell/README.md`
|
||||
- `../../docs/cpp-object-oriented-modular-refactoring/README.md`
|
||||
- `/include/fesa/math/vector3.h`
|
||||
- Step 8에서 migration한 element/model files
|
||||
- `/include/fesa/results/result_recovery.h`, `/src/fesa/results/result_recovery.cpp`
|
||||
@@ -41,20 +38,7 @@ Requirement `R-DUP-001`의 remaining production consumers를 구현한다.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
```powershell
|
||||
cmake --build .harness/build --config Debug --target fesa_unit_tests
|
||||
ctest --test-dir .harness/build -C Debug `
|
||||
-R "ResultRecovery|InpDomainMapping|Hdf5ResultsWriter" --output-on-failure
|
||||
rg -n "(double|Vector3) (Dot|Cross|Norm|Add|Subtract|Scale)\(" `
|
||||
src/fesa/results src/fesa/io
|
||||
& "C:/Program Files/LLVM/bin/clang-format.exe" --dry-run --Werror `
|
||||
src/fesa/results/result_recovery.cpp `
|
||||
src/fesa/io/abaqus/domain_mapper.cpp `
|
||||
src/fesa/io/hdf5/hdf5_results_writer.cpp
|
||||
cmake --build .harness/build --config Debug
|
||||
ctest --test-dir .harness/build -C Debug --show-only=json-v1
|
||||
ctest --test-dir .harness/build -C Debug --output-on-failure
|
||||
```
|
||||
과거 도구 실행·출력 지시는 정리했으며, 현재 검증 방법은 기능 요약을 따른다.
|
||||
|
||||
The duplicate scan must return no local primitive definitions. Existing HDF5 and reference
|
||||
tests must pass without tolerance/schema edits.
|
||||
|
||||
Reference in New Issue
Block a user