docs: record final thermal regression and independent review
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user