80 lines
3.3 KiB
Markdown
80 lines
3.3 KiB
Markdown
# Step 3: Numerical Review
|
|
|
|
## 담당 역할과 필수 스킬
|
|
|
|
- 담당 역할: `numerical-review-agent`
|
|
- 필수 스킬: `fesa-numerical-review`
|
|
- 스킬을 끝까지 읽고 formulation 작성자와 독립된 reviewer 관점으로 작업하라.
|
|
|
|
## 읽어야 할 파일
|
|
|
|
- `/AGENTS.md`
|
|
- `/docs/SOLVER_AGENT_DESIGN.md`
|
|
- `/docs/numerical-reviews/README.md`
|
|
- `/docs/linear-static-3d-euler-beam/requirements.md`
|
|
- `/docs/linear-static-3d-euler-beam/research.md`
|
|
- `/docs/linear-static-3d-euler-beam/formulation.md`
|
|
- `/docs/superpowers/specs/2026-08-08-linear-static-3d-euler-beam-design.md`
|
|
|
|
## 작업
|
|
|
|
`docs/linear-static-3d-euler-beam/numerical-review.md`를 생성해 구현 전 수치
|
|
검토를 수행하라.
|
|
|
|
- Metadata와 `Review Verdict`를 포함하고 통과 시
|
|
`status: pass-for-implementation-planning`을 사용한다.
|
|
- `[u,v,w,theta_x,theta_y,theta_z]` DOF 순서, `theta_y=-w'`, `My=-EIy*w''`, natural
|
|
boundary/end-action 부호를 독립 재유도한다.
|
|
- 4x12 B matrix와 12x12 closed-form stiffness의 대응, 2-point Gauss exactness,
|
|
symmetry, rank 6, six rigid modes, positive deformation energy를 검토한다.
|
|
- `R`, `T` orthogonality/right-handedness와 energy invariance를 검토한다.
|
|
- consistent constant line-load vector의 component와 부호를 검토하되 `*DLOAD` input은
|
|
범위 밖임을 유지한다.
|
|
- free/constrained partition, nonzero prescribed displacement, residual reaction,
|
|
SPD factorization 가정과 singularity/conditioning 위험을 검토한다.
|
|
- 구현 테스트 권고를 구체적 test id/criterion으로 제시하고 confirmed defect, risk,
|
|
open issue를 분리한다.
|
|
|
|
확인된 수학 결함이 하나라도 있으면 `pass-for-implementation-planning`을 발행하지 말고
|
|
`needs-formulation-revision`으로 보고한 뒤 phase step을 `blocked`로 기록한다.
|
|
|
|
## Acceptance Criteria
|
|
|
|
```powershell
|
|
$path = 'docs/linear-static-3d-euler-beam/numerical-review.md'
|
|
if (-not (Test-Path $path)) { throw "Missing $path" }
|
|
$required = @(
|
|
'status: `pass-for-implementation-planning`',
|
|
'## Review Verdict',
|
|
'## Critical Findings',
|
|
'## Numerical Risk Assessment',
|
|
'## Consistency Checks',
|
|
'## Verification Readiness',
|
|
'rank 6',
|
|
'rigid',
|
|
'2-point'
|
|
)
|
|
foreach ($text in $required) {
|
|
if (-not (Select-String -LiteralPath $path -SimpleMatch $text -Quiet)) {
|
|
throw "Missing numerical review evidence: $text"
|
|
}
|
|
}
|
|
git diff --check -- $path
|
|
```
|
|
|
|
## 검증 절차
|
|
|
|
1. Acceptance Criteria 명령을 실행한다.
|
|
2. review가 formulation을 직접 수정하지 않았는지 확인한다.
|
|
3. 모든 numerical risk가 test recommendation 또는 explicit limitation으로 연결되는지 확인한다.
|
|
4. 통과 시 Step 3을 `completed`와 verdict summary로 갱신한다. 수학 revision이 필요하면
|
|
`blocked`, 문서 생성 자체가 반복 실패하면 `error`로 기록한다.
|
|
|
|
## 금지사항
|
|
|
|
- formulation 문서를 직접 편집하지 마라. 이유: 독립 review evidence를 보존해야 한다.
|
|
- C++ API/file ownership을 설계하거나 구현하지 마라. 이유: 다음 gate 책임이다.
|
|
- reference comparison 성공을 판정하지 마라. 이유: solver 결과가 아직 없다.
|
|
- Abaqus 실행과 `/reference/` 변경을 하지 마라. 이유: read-only baseline이다.
|
|
- 직접 commit하지 마라. 이유: Harness executor가 담당한다.
|