docs: record final thermal regression and independent review

This commit is contained in:
KOKO\Mimi
2026-10-04 01:44:30 +09:00
parent 926e97e405
commit 9076aa2226
3 changed files with 69 additions and 7 deletions
+6 -2
View File
@@ -447,8 +447,12 @@ CSV를 기존 `reference/shell-thermal`과 분리된 경로에 두기로 결정
- [x] 승인 정식화와 원본 reference 통과 조건의 [실측 충돌](reference-comparison-conflict.md)에 대한 사용자 결정: 기존 비교는 진단, 정식화 유지, 새 reference 모델 사용
- [x] [해석해·수지·수렴성 검증](implementation-verification.md#t10-해석해수지수렴성과-원본-진단-비교)과 원본 NT11 진단 비교의 실패 metric 보존
- [ ] 새 reference 모델·CSV·identity 확정 및 필수 외부 비교 통과
- [ ] 전체 MSVC Debug build/CTest 및 기존 실패 대비 확인
- [ ] 독립 physics 검토와 완료 evidence 기록
- [x] 전체 MSVC Debug build/CTest 및 [기존 실패 대비 확인](implementation-verification.md#통합-전체-회귀와-남은-완료-조건): 614 PASS·기존 2 FAIL·1 SKIP, 추가 139개 모두 PASS
- [x] [독립 physics 검토](physics-evaluation.md)와 [구현·검증 evidence 기록](implementation-verification.md#통합-전체-회귀와-남은-완료-조건)
새 필수 reference 모델·CSV는 사용자 답변에 따라 아직 준비 중이다. 위 실행·검토 완료는
그 외부 비교의 통과를 뜻하지 않으며, 파일·identity 확정과 실제 필수 비교가 완료되어야
기능 검증 완료로 판단한다.
미실행 검사를 통과로 표시하지 않는다. 전문 문서의 수치 유도·검산, 실제 solver 검사,
외부 reference 비교와 physics 검토는 서로 다른 evidence다.
@@ -2,7 +2,7 @@
- Feature ID: `shell-transient-heat-transfer`
- Owner: 메인 assistant
- 상태: 기존 전체 baseline 확보; 열해석 구현·검증 진행 중. 제품 검증 완료가 아니다.
- 상태: 열해석 구현·전체 회귀·독립 검토 완료. 새 필수 reference 비교는 미실행이며 제품 검증 완료가 아니다.
- 기준: [PRD](PRD.md), [ADR](ADR.md), [정식화](formulation.md),
[독립 수치 검토](numerical-review.md), [공통 tolerance](../TOLERANCE.md).
@@ -427,8 +427,65 @@ RMS/S=**0.049674084615673214**, max abs=**245.26294650091936**,
`blocking=false`다. 원본 INP/CSV SHA256은 실행 전후 승인 값과 같다.
새 필수 reference는 별도 경로의 모델·CSV를 아직 받지 못하여 미실행이다.
메인 통합 commit `9f7fb2e`에서 CMake 등록 뒤 configure/build/inventory는 native 0,
메인에서 CMake 등록을 반영한 작업트리의 configure/build/inventory는 native 0이다.
실행 JSON의 revision은 commit 전 `69fa4ca`이며 등록 변경은 `9f7fb2e`로 확정했다.
inventory **617개**, 새 compiler warning 없음이다. 짧은 물리·비교기 통합 검사
**10/10 PASS**도 native 0이다. 관련 로그는 메인의
`.dryforge/evidence/t10-integrated-*`와 작업 checkout의 위 `t10-final-*`에 보존한다.
전체 회귀와 독립 physics 완료 평가는 아직 진행 중이며 이 범위 검사로 대신하지 않는다.
전체 회귀의 최종 결과는 아래에 별도로 기록했다. 독립 physics 평가는
[물리 검토 보고서](physics-evaluation.md)에 기록했다.
### 독립 최종 구현 검토
독립 검토자가 `a3502c9..926e97e`의 열해석 구현과 Feature 계약을 읽기 전용으로
대조했다. 수정이 필요한 finding은 발견하지 못했다. Q4×P2 K/C·24개 Fourier flux trace,
raw 초기값을 사용하는 BE RHS·실제 delta·full residual 반력, 결정적 조립과 accepted
history의 소유권, 입력의 fail-closed 처리, candidate close/readback/atomic finalize,
reference identity와 공통 tolerance를 확인했다. 검토자는 파일을 변경하거나 검사를
실행하지 않았으며, 이 검토를 build/CTest의 실행 evidence로 취급하지 않는다.
새 필수 reference의 미제공과 physics 보고서의 두께 경계층·곡면·접합부 검증 한계는
그대로 남는다.
### 통합 전체 회귀와 남은 완료 조건
Production/test/CMake 소스가 `9f7fb2e`인 통합 구현에서
`ctest --preset windows-msvc-ninja-debug --output-on-failure`를 필터 없이 실행했다.
후속 commit은 문서만 변경했으며 최종 검토 revision `926e97e`와 해당 소스의 diff가 없다.
전체 **617개: 614 PASS, 2 FAIL, 1 SKIP**, native CTest exit **8**이다.
Baseline의 478개 검사 이름이 모두 포함되며 추가된 **139개는 모두 PASS**다.
전체 CTest green이라고 보고하지 않는다.
| 기존 비통과 항목 | 최종 판정 | 실행 시간 | Baseline과 수치 기록 대조 |
| --- | --- | --- | --- |
| `HhtShellPhysics.C08aRigidManufacturedOrbitFullCoordinateTimeConvergence` | FAIL | 928.48초 | status와 GTest metric body 정확히 일치 |
| `HhtShellPhysics.C08bFreeFiniteRotationPlateSelfConvergenceAndPhysicalInvariants` | FAIL | 2478.99초 | status와 GTest metric body 정확히 일치 |
| `HhtTemporalVerification.C04aFinestReductionComparisonIsNumericallyResolved` | SKIP | 0.07초 | status와 판정 불가 사유 정확히 일치 |
세 항목은 기존의 무관한 HHT 미해결로 유지한다. 시간 정보만 제외한 assertion·metric
본문을 `compare_baseline_metrics.py`로 대조한 native exit은 0이며, 실패 기준을
완화하거나 검사를 제외하지 않았다. 독립 최종 검토에서도 새로운 코드 finding이 없다.
검토자가 종료 후 전체 617개 test block·집계·native exit 복구 기록·baseline 대조를
읽기 전용으로 확인했고 기존 검토 결론을 유지했다.
실행 중 세션 재시작으로 stdout 수집 wrapper가 종료되어
`t11-full-test.log`는 547번 시작까지만 기록됐다. 살아 있던 CTest PID 67836의 Windows
process handle을 유지하고 `GetExitCodeProcess`로 최종 native exit 8을 직접 캡처했다.
모든 617개 verdict와 `End testing`이 있는 CTest 원본 `LastTest.log`를 종료 직후 복사해
보존했다. Wrapper의 불완전한 stdout를 전체 결과 근거로 사용하지 않는다.
최종 evidence는 메인 `.dryforge/evidence/`의 다음 파일이다.
- `t11-full-test-recovered-exit.json`: native exit·argv·대상 source revision·복구 방법.
- `t11-full-LastTest.log`: 전체 검사별 실제 결과와 수치 출력.
- `t11-full-outcomes.json`: 617개 최종 verdict, baseline 포함 여부와 추가 139개 판정.
- `t11-hht-baseline-comparison.json`: 기존 2 FAIL·1 SKIP의 정확한 metric body 대조.
최종 원본 NT11 비교는 **87/729행 FAIL**, RMS/S=**0.049674084615673214**,
max abs=**245.26294650091845**, `numerical_passed=0`, `blocking=0`이다.
진단 분류 검사는 PASS지만 외부 수치 일치가 PASS라는 뜻이 아니다. 원본 INP/CSV의
SHA256은 전체 실행 후에도 STH-C08 값과 일치한다.
사용자가 새 reference 모델·NT11 CSV는 **아직 준비 중**이라고 답했다. 별도 경로의
파일·identity가 제공되면 승인 공통 tolerance로 새 필수 family를 실제 실행해야 한다.
그 전까지 기능의 외부 검증 완료·release 준비·dev 병합을 주장하지 않는다. 기존 원본,
현재 branch와 작업 checkout, 활성 실행 계획은 후속 비교를 위해 보존한다.
@@ -94,8 +94,9 @@ reference 생성기의 내부 행렬·적분·초기 처리 방식이나 그 동
T1–T9 구현·검증은 유지한다. T10은 원본 비교의 실제 FAIL metric을 보존한 진단
분류와 독립 slab/시간·공간 수렴 검증을 마쳤다. 자세한 실제 실행은
[구현 검증 보고서](implementation-verification.md#t10-해석해수지수렴성과-원본-진단-비교)에
기록했다. T11 전체 회귀·독립 physics 평가는 진행 중이며 새 필수 reference 비교는
별도 모델·CSV 제공 전까지 미실행이다.
기록했다. 전체 회귀와 독립 physics·최종 구현 검토도 완료했고 그 결과는
[구현 검증 보고서](implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에
기록했다. 새 필수 reference 비교는 별도 모델·CSV 제공 전까지 미실행이다.
## 5. 보존 evidence