Files
FESADev/phases/linear-static-3d-euler-beam/step6.md
T
2026-08-09 01:35:44 +09:00

98 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Step 6: Implementation Plan
## 담당 역할과 필수 스킬
- 담당 역할: `implementation-planning-agent`
- 필수 스킬: `fesa-cpp-msvc-tdd`
- 스킬의 planning workflow를 끝까지 읽고 코드나 테스트를 작성하지 않은 채 계획만 작성하라.
## 읽어야 할 파일
- `/AGENTS.md`
- `/docs/SOLVER_AGENT_DESIGN.md`
- `/docs/implementation-plans/README.md`
- `/docs/build-test-reports/README.md`
- `/docs/corrections/README.md`
- `/docs/requirements/linear-static-3d-euler-beam.md`
- `/docs/research/linear-static-3d-euler-beam-research.md`
- `/docs/formulations/3d-isoparametric-euler-beam-formulation.md`
- `/docs/numerical-reviews/linear-static-3d-euler-beam-review.md`
- `/docs/io-definitions/linear-static-3d-euler-beam-io.md`
- `/docs/reference-models/linear-static-3d-euler-beam-reference-models.md`
- `/docs/superpowers/specs/2026-08-08-linear-static-3d-euler-beam-design.md`
- `/phases/linear-static-3d-euler-beam/step7.md`부터 `/step24.md`까지
## 작업
`docs/implementation-plans/linear-static-3d-euler-beam.md`를 생성하라. 승인 설계가 이
경로를 명시하므로 README의 기본 suffix보다 이 경로를 우선한다.
- Metadata와 Readiness Check를 작성하고 upstream status가 모두 준비된 경우
`status: ready-for-implementation`을 사용한다.
- Implementation Scope와 Non-goals를 승인 설계와 동일하게 기록한다.
- Step 724 각각을 독립 Work Breakdown task로 매핑하고 exact candidate source/header,
test, CMake file을 제시한다. 한 file은 한 책임을 가져야 한다.
- 각 task에 consumes/produces signature를 정의한다. 특히 `Vector`, row-major `Matrix`,
CSR `SparseMatrix`, `Domain`, `AnalysisModel`, `DofManager`, `AnalysisState`,
`EulerBeam3D`, `ParallelFor`, `LinearSolver`, `ResultsWriter`, orchestration API를 일관되게 쓴다.
- 각 production task에 GoogleTest test ID, RED condition, GREEN condition, targeted CTest
regex, full VERIFY command를 연결한다.
- parser negative cases, beam invariants/analytical cases, deterministic CSR, nonzero
prescribed displacement, PARDISO repeated RHS/singular diagnostics, HDF5 atomicity,
CLI/reference integration을 빠짐없이 배치한다.
- Requirement-to-task/test/reference Acceptance Traceability Matrix와 implementation report
evidence 형식을 포함한다.
- Step 24에서 test-only reference comparison executable/test를 완성해 Step 26이 source/test
변경 없이 다시 실행하고 report를 작성할 수 있게 계획한다.
- reference artifact, upstream contract, tolerance를 변경하는 correction을 금지한다.
## Acceptance Criteria
```powershell
$path = 'docs/implementation-plans/linear-static-3d-euler-beam.md'
if (-not (Test-Path $path)) { throw "Missing $path" }
$required = @(
'status: `ready-for-implementation`',
'## Readiness Check',
'## Work Breakdown',
'## TDD Test Plan',
'## CMake and CTest Plan',
'## Acceptance Traceability Matrix',
'cmake -S . -B .harness/build -A x64',
'ctest --test-dir .harness/build -C Debug --output-on-failure',
'reference/cantilever beam/'
)
foreach ($text in $required) {
if (-not (Select-String -LiteralPath $path -SimpleMatch $text -Quiet)) {
throw "Missing implementation-plan contract: $text"
}
}
$modules = @('cmake-test-foundation','core-diagnostics','dense-math-adapters','domain-model',
'inp-syntax-parser','inp-domain-mapping','analysis-model','dof-manager','analysis-state',
'euler-beam-element','parallel-for-tbb','sparse-assembly','essential-constraints',
'mkl-pardiso-solver','load-assembly','result-recovery','hdf5-results-writer','linear-static-cli')
foreach ($module in $modules) {
if (-not (Select-String -LiteralPath $path -SimpleMatch $module -Quiet)) {
throw "Missing work-breakdown module: $module"
}
}
git diff --check -- $path
```
## 검증 절차
1. Acceptance Criteria 명령을 실행한다.
2. 모든 must requirement가 최소 한 task와 test에 연결되는지 확인한다.
3. later task가 사용하는 type/signature가 earlier task 정의와 정확히 같은지 대조한다.
4. 각 production task에 RED/GREEN/VERIFY command가 있고 reference step이 read-only인지 확인한다.
5. Step 6을 `completed`와 plan readiness summary로 갱신한다. upstream gate 미통과는
`blocked`, 반복 작성 실패는 `error`로 기록한다.
## 금지사항
- C++ source, test, CMake를 작성하거나 실행하지 마라. 이유: 이 step은 계획만 소유한다.
- upstream 요구조건·정식화·I/O·tolerance를 바꾸지 마라. 이유: 이미 승인된 계약이다.
- reference artifact를 생성·수정하지 마라. 이유: read-only baseline이다.
- API를 승인 문서와 모순되게 확정하지 마라. 이유: downstream task 간 계약이 깨진다.
- 직접 commit하지 마라. 이유: Harness executor가 담당한다.