# Step 3: Qualification Report

## 읽어야 할 파일

- `/AGENTS.md`
- `/docs/PRD.md`
- `/docs/ARCHITECTURE.md`
- `/docs/ADR.md`
- `/docs/formulation/timoshenko-beam-3d.md`
- `/docs/HDF5_SCHEMA.md`
- `/tests/unit/elements/`
- `/tests/reference/`
- `/tests/fixtures/reference/`

## 작업

`docs/VALIDATION.md`에 Phase 1의 실제 검증 증거와 제한을 기록한다.

- analytical: axial, torsion, bending y/z, biaxial, shear-dominant, rigid body,
  rotated frame, slenderness sweep
- physics: equilibrium, symmetry, reaction, nonzero prescribed DOF
- determinism: tested thread counts와 repeated runs
- Abaqus correlation: 현재 cantilever displacement/reaction/internal-force의
  component별 RMSE와 Relative L2
- contract-only: synthetic stress CSV schema와 component mapping
- 미제공 Abaqus stress는 `not yet Abaqus-qualified`라고 명시한다.

보고서 수치를 새 test output에서 수집하며 수동 추정값을 쓰지 않는다.

## Acceptance Criteria

```powershell
cmake --build --preset windows-debug
ctest --preset windows-debug --output-on-failure
ctest --preset windows-debug -R "Reference|Beam3D2|Determinism" --output-on-failure
```

모든 실행이 통과하고 보고서의 test 이름, component별 RMSE·Relative L2와
disposition이 실제 출력과 일치해야 한다.

## 검증 절차

1. 전체 suite를 새로 실행한다.
2. 결과를 benchmark/quantity별 표에 기록한다.
3. FESA 정식화 gate, Abaqus correlation 및 synthetic coverage를 명확히 분리한다.
4. index summary에 보고서 경로와 test counts를 기록한다.

## 금지사항

- 실행하지 않은 결과를 보고서에 쓰지 마라. 이유: 검증 증거가 아니다.
- Abaqus 응력 qualification을 추론하지 마라. 이유: CSV가 아직 없다.
- 실패 테스트를 제외하거나 disable하지 마라. 이유: release gate를 약화한다.
