docs(hex8): close historical validation before energy change

This commit is contained in:
KOKO\Mimi
2026-10-10 23:03:46 +09:00
parent 96b6f86f28
commit 71fa35676a
6 changed files with 79 additions and 17 deletions
+3 -1
View File
@@ -283,7 +283,9 @@ Source identity와 point mapping을 확인하고 독립 표준 full8 조립/solv
energy/Hessian 후보가 차이를 설명하는 근거다. Stress만 평균화하거나 tolerance를 늘리는 energy/Hessian 후보가 차이를 설명하는 근거다. Stress만 평균화하거나 tolerance를 늘리는
수정은 energy/force/tangent 계약을 깨거나 실제 모델 차이를 숨긴다. 수정은 energy/force/tangent 계약을 깨거나 실제 모델 차이를 숨긴다.
후보의 선형 수치 관찰과 production·비선형·동적 PASS를 분리해야 한다. 후보의 선형 수치 관찰과 production·비선형·동적 PASS를 분리해야 한다.
실제 metric과 미채택 선택지는 [verification](verification.md)·[변경안](reference-discrepancy-proposal.md)에 있다. 실제 metric과 변경 근거는 [verification](verification.md)·[변경안](reference-discrepancy-proposal.md)에 있다.
사용자는 이후2026-10-10 B로 체적 평균 energy 도입과 전체 재검증을 승인했다. 이전 실패와
후보의 일치를 보존하며 변경본의 내력·접선·절차·원본 검증 결과와 구분한다.
비교 도구의 `--references` 변경은 원본 보호 기준을 좁히지 않아야 한다. Report와 비교 도구의 `--references` 변경은 원본 보호 기준을 좁히지 않아야 한다. Report와
source/result의 hardlink·symlink alias도 보호하고, 잘못된 HDF rank는 failed precheck로 source/result의 hardlink·symlink alias도 보호하고, 잘못된 HDF rank는 failed precheck로
@@ -152,9 +152,26 @@ Default/selected reference·input/result/record와 symlink/hardlink alias 보호
비교 metric이 일치했다. Frequency 공식 readback의 precheck와 missing Value NOT RUN을 비교 metric이 일치했다. Frequency 공식 readback의 precheck와 missing Value NOT RUN을
분리한다. Whole configured Python은 기존 collection5 오류로 native2·실행0개이며 PASS가 아니다. 분리한다. Whole configured Python은 기존 collection5 오류로 native2·실행0개이며 PASS가 아니다.
실제 수치는 [verification](verification.md), 물리 모델 차이는 실제 수치는 [verification](verification.md), 물리 모델 차이는
[미채택 변경안](reference-discrepancy-proposal.md)에 있다. 그 변경안의 energy 미분과 선형 [변경 근거](reference-discrepancy-proposal.md)에 있다. 그 변경안의 energy 미분과 선형
후보 배열의 independent K/S/energy·U/RF/S 수치 관측도 검토했지만 production 채택이나 후보 배열의 independent K/S/energy·U/RF/S 수치 관측도 검토했지만 production 채택이나
비선형·동해석 일치 검증은 아니다. 전체 CTest와 남은 동적 원본은 이 bounded 판정 밖이다. 비선형·동해석 일치 검증은 아니다. 전체 CTest와 남은 동적 원본은 이 bounded 판정 밖이다.
Root 보존 자료는 로컬 `.harness/hex8-evidence/t8-comparator-frozen/`, 독립 full8 원시 Root 보존 자료는 로컬 `.harness/hex8-evidence/t8-comparator-frozen/`, 독립 full8 원시
재현은 `t8-independent-full8-audit/`, 후보 계산/수식은 `t8-reference-law-investigation/`다. 재현은 `t8-independent-full8-audit/`, 후보 계산/수식은 `t8-reference-law-investigation/`다.
## 2026-10-10 체적 평균 energy 변경 전 실행 종료와 수식 검토
이후 두 frozen API 원본은 unchanged101 endpoint를 자연 종료(native0)했고, 다섯 공식
CLI도 native0으로 종료했다. 두 동적 공식 HDF5의101-frame precheck는 PASS이나 외부 U는
각각88/101 family FAIL이다. 전체780 CTest는 native8:777 PASS·2 FAIL·1 SKIP이며,
추가163개는 모두 PASS이고 기존 예외의 status·metric body가 동일하다. 상세 raw 경로와
실패 수치는 [verification](verification.md)에 있다. 이 종료 결과는 이전 pointwise 식의
evidence이며 승인된 변경본의 numerical PASS가 아니다.
사용자 B 승인 후 reference-volume 평균 Green trace energy의 독립 정적 수학 검토에서
내력·전체 Hessian, cross-GP `kappa*b*b^T/V` 및 `S*:delta²E` 기하항의 일관성을 확인했다.
직접 F64 mu/kappa를 검증하고 pair로 lift하며, relative kinematics와 같은 Ghat derivative를
쓰는 선택을 확인했다. 이전 affine 응답과의 수학적 일치는 동일 mu/kappa/Ghat 전제다.
실제 rounded cache의 affine completeness와 partition sum을 혼동하지 않는다.
Nonuniform trace·warped weighted mean·node0 방향 미분·LINE/TL zero Hessian·low-only bulk
응답·material 경계·새 spatial/temporal evidence는 변경 구현에서 검증해야 한다.
@@ -91,3 +91,17 @@ strain 최대차1.51e-18이다. Energy178.762694318679와0.5F·u178.762694317263
원시 재현 script/stdout/JSON·native exit와7파일 전후 SHA는 로컬 원시 재현 script/stdout/JSON·native exit와7파일 전후 SHA는 로컬
`.harness/hex8-evidence/t8-independent-full8-audit/`에 있다. Solver 재실행 없이 기존 `.harness/hex8-evidence/t8-independent-full8-audit/`에 있다. Solver 재실행 없이 기존
결과를 재분석했으며 production/reference를 수정하지 않았다. 결과를 재분석했으며 production/reference를 수정하지 않았다.
## 2026-10-10 변경 전 실행 종료와 후속 물리 검증
이후 pointwise 구현의 두 API 원본과 두 공식 동적 CLI는101 endpoint/frame을 자연 종료했다.
이는 앞선 frame0–3 독립 물리 검토의 범위를101개로 자동 확대하지 않는다. 공식 원본 U
비교는 두 경우 모두88/101 family FAIL이며, 실행·정밀도 gate·외부 일치를 구분한다.
완료된 전체780 CTest에서도 기존 Shell 시간수렴 실패2개와 SKIP1개가 그대로다.
상세 종료 결과는 [verification](verification.md)에 있다.
사용자 B가 승인한 체적 평균 energy는 다섯 절차에 적용하며 변경본의 평형·수지·시간 및
공간수렴을 다시 확인한다. 두께를 한 요소로 고정한 bending refinement에서는 평균 trace
항 때문에 이전 pointwise continuum에 대한 bias가 남을 수 있다. 그 discrete limit 관찰을
실제 두께/길이 공간수렴으로 보고하거나 기준을 새 limit로 바꿔 continuum PASS라 하지 않는다.
선형 원본에 맞춘 별도 후보와 수식 검토는 변경본 물리 검증을 대신하지 않는다.
+27 -3
View File
@@ -137,14 +137,38 @@ frequency native2 (`not-run`). These commands and raw stdout/JUnit/row reports a
retained under `.harness/hex8-evidence/t8-integrated/`. No original solver case was retained under `.harness/hex8-evidence/t8-integrated/`. No original solver case was
rerun to perform these comparisons. rerun to perform these comparisons.
| Actual original | Current comparison state | | Actual original | Closed pointwise baseline comparison state (before approved B) |
| --- | --- | | --- | --- |
| `hexa_linearstatic` | Full precheck PASS; U/RF/S numerical FAIL (comparator native1) | | `hexa_linearstatic` | Full precheck PASS; U/RF/S numerical FAIL (comparator native1) |
| `hexa_nonlinearstatic` | Full precheck PASS; U/RF/S numerical FAIL (comparator native1) | | `hexa_nonlinearstatic` | Full precheck PASS; U/RF/S numerical FAIL (comparator native1) |
| `hexa_dynlinear` | NOT RUN by comparator; root-owned actual CLI run pending | | `hexa_dynlinear` | CLI native0,101-frame precheck PASS;88/101 U families FAIL (comparator native1), maximum RMS/S .08163737360707901 |
| `hexa_dynnonlinear` | NOT RUN by comparator; root-owned actual CLI run pending | | `hexa_dynnonlinear` | CLI native0,101-frame precheck PASS;88/101 U families FAIL (comparator native1), maximum RMS/S .08160653291688992 |
| `hexa_freq` | Official HDF5 precheck PASS; modal Value absent, actual comparison NOT RUN (native2) | | `hexa_freq` | Official HDF5 precheck PASS; modal Value absent, actual comparison NOT RUN (native2) |
Full MSVC build/CTest, original CLI orchestration, independent numerical/physics Full MSVC build/CTest, original CLI orchestration, independent numerical/physics
investigation of the reference conflict and whole-feature completion are root-owned investigation of the reference conflict and whole-feature completion are root-owned
and are not inferred from this Python implementation or its fixture tests. and are not inferred from this Python implementation or its fixture tests.
The two actual dynamic CLI runs closed naturally with all101 frames before the
2026-10-10 energy change. Each comparison consumed all101 original increments,
1326 scalars per increment and44642 original node rows. Failed scalar-row totals
were74098 (linear) and73974 (nonlinear); maximum absolute errors were
.0003979358365926728 and.00039786754005028237. Full commands, native records,
source/result hashes and row reports are preserved under
`.harness/hex8-evidence/t8-dynamic-closure/<case>/`. The separately frozen API
`c49cae4` also naturally completed both101-endpoint strict-gate checks with native0;
it did not itself write official HDF5 or establish original agreement.
The closed pointwise source `1eb9cdd` full MSVC Debug build exited0. Its unfiltered
780-test CTest exited8:777 PASS,2 FAIL,1 SKIP, with all163 added tests PASS.
The baseline exception names, statuses and raw metric bodies matched exactly:
`HhtShellPhysics.C08aRigidManufacturedOrbitFullCoordinateTimeConvergence`,
`HhtShellPhysics.C08bFreeFiniteRotationPlateSelfConvergenceAndPhysicalInvariants`,
and `HhtTemporalVerification.C04aFinestReductionComparisonIsNumericallyResolved`.
Raw records and the independent closure summary are retained under
`.harness/hex8-evidence/t9-full-current/`. This is not a whole-suite PASS.
Approved B replaces the pointwise bulk energy and requires new validation of all
five procedures. None of the historical native, internal or reference outcomes
above is a validation result for the mean-volume implementation. Originals,
tolerances, strict gates and comparator contracts remain unchanged.
+8 -5
View File
@@ -18,10 +18,10 @@
- 후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 source/schema - 후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 source/schema
검사와 CLI native0이나 U/RF/S family가 모두 FAIL이다. 별도 선형 체적 평균 energy의 검사와 CLI native0이나 U/RF/S family가 모두 FAIL이다. 별도 선형 체적 평균 energy의
독립 Python 후보는 unchanged 수치 기준에 일치했으며 현재 생산 구현의 PASS가 아니다. 독립 Python 후보는 unchanged 수치 기준에 일치했으며 현재 생산 구현의 PASS가 아니다.
[미채택 변경안](../hex8-structural-analysis/reference-discrepancy-proposal.md)에 정식화 유지와 [승인된 변경 근거](../hex8-structural-analysis/reference-discrepancy-proposal.md)에 영향을
별도 reference, 또는 energy/force/Hessian 체적 변경의 영향을 구체화했다. 구체화했고, 사용자가 2026-10-10 B로 체적 평균 energy 도입과 전체 재검증을 승인했다.
Physics·필수 reference 판정 변경은 사용자 결정 변경본의 energy/force/Hessian·다섯 절차·필수 원본을 다시 검증한다. 원본·수치 기준을
사항이며, 다른 원본 실행과 현재 범위 검증은 원본·수치 기준을 유지한 채 계속한다. 유지하며 승인이나 private 선형 후보의 일치를 변경본 PASS로 처리하지 않는다.
## Hex8 동해석의 엄격 잔차와 내부 상태 정밀도 ## Hex8 동해석의 엄격 잔차와 내부 상태 정밀도
@@ -38,7 +38,10 @@
[승인된 변경안](../hex8-structural-analysis/precision-proposal.md)을 구현했다. [승인된 변경안](../hex8-structural-analysis/precision-proposal.md)을 구현했다.
사용자가 2026-10-09 선택 A로 승인했고 소규모 상태·시간수렴·수지와 두 원본의 세 증분 사용자가 2026-10-09 선택 A로 승인했고 소규모 상태·시간수렴·수지와 두 원본의 세 증분
관측을 검증했다. 독립 full-pair 재계산에서 원래 모든 free의 strict gate를 통과했다. 관측을 검증했다. 독립 full-pair 재계산에서 원래 모든 free의 strict gate를 통과했다.
전체101 endpoint·공식 출력·필수 원본 비교는 남아 있으며 acceptance 기준은 유지한다. 이후 frozen `c49cae4`의 두 원본은101 endpoint를 모두 native0으로 완료했고, `e2c3c5b`의
두 공식 CLI도101 frame을 native0으로 출력했다. 원래 strict gate를 유지한 이전 pointwise
구현의 정밀도 해결 evidence이며 동적 U 외부 비교는 각각101 family 중88 FAIL이다.
체적 평균 변경본의 전체 실행과 비교는 별도로 필요하며 acceptance 기준은 유지한다.
## HHT shell의 시간수렴 ## HHT shell의 시간수렴
+9 -7
View File
@@ -10,7 +10,9 @@ native CTest exit **8**이다. 기존 478개 검사가 포함되고 추가139개
실행·복구·보존 경로는 [전체 회귀 보고서](../shell-transient-heat-transfer/implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에 있다. 실행·복구·보존 경로는 [전체 회귀 보고서](../shell-transient-heat-transfer/implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에 있다.
dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 실행을 뜻하지 않는다. dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 실행을 뜻하지 않는다.
Hex8 연결 후 source `1eb9cdd`의 전체 build는 native exit0이며, 발견된780개 CTest의 Hex8 연결 후 source `1eb9cdd`의 전체 build는 native exit0이며, 발견된780개 CTest의
제외 없는 실행은 진행 중이다. 이 실행의 종료 결과를617개 과거 기록으로 대체하지 않는다. 제외 없는 실행은 native8,777 PASS·2 FAIL·1 SKIP으로 종료됐다. 추가163개는 모두 PASS이며
기존 예외3개의 이름·status·metric body는 baseline과 같다. 이는 이전 pointwise 구현의
기록이다. 2026-10-10 승인된 체적 평균 energy의 구현과 전체 재검증은 별도로 진행한다.
## 구현과 검증 상태 ## 구현과 검증 상태
@@ -22,18 +24,18 @@ Hex8 연결 후 source `1eb9cdd`의 전체 build는 native exit0이며, 발견
| MITC4 frequency | 승인된 첫 구현 완료 기록 | 당시417개 검사·외부 Value5%·독립 검토 PASS, 최신 기존 회귀도 PASS. [S3·정확도 개선](../mitc4-shell-feast-eigen2/README.md#실패와-남은-범위)은 보류 | | MITC4 frequency | 승인된 첫 구현 완료 기록 | 당시417개 검사·외부 Value5%·독립 검토 PASS, 최신 기존 회귀도 PASS. [S3·정확도 개선](../mitc4-shell-feast-eigen2/README.md#실패와-남은-범위)은 보류 |
| HHT 동해석 | 입력부터 HDF5까지 구현, 기능 검증 미완료 | 101-frame U 비교 PASS 기록·UR 경고200건. [두 시간수렴 실패와 잔여 coverage](../hht-implicit-dynamics/README.md#실패시행착오다음-작업) 유지 | | HHT 동해석 | 입력부터 HDF5까지 구현, 기능 검증 미완료 | 101-frame U 비교 PASS 기록·UR 경고200건. [두 시간수렴 실패와 잔여 coverage](../hht-implicit-dynamics/README.md#실패시행착오다음-작업) 유지 |
| HHT 굽힘 단면력 복구 | 두께 계수 수정됨 | 관련 Debug 14 tests와 원본 HDF5 재생성·독립 식 대조 완료 기록. 전체 동해석 완료와 별개 | | HHT 굽힘 단면력 복구 | 두께 계수 수정됨 | 관련 Debug 14 tests와 원본 HDF5 재생성·독립 식 대조 완료 기록. 전체 동해석 완료와 별개 |
| HHT 관련 전체 CTest | 기존 실패2개·SKIP1개 유지 | 최신617개 검사에서 제외 없이 실행. 기존 metric과 동일하며 전체 green 아님 | | HHT 관련 전체 CTest | 기존 실패2개·SKIP1개 유지 | Hex8 변경 전 최신780개 검사에서 제외 없이 실행. 기존 metric과 동일하며 전체 green 아님 |
| Shell transient heat transfer | 구현·내부 검증 완료, 필수 외부 비교 대기 | [추가139개 PASS·수렴/수지·독립 수치/물리 검토](../shell-transient-heat-transfer/README.md). 기존 NT11은87/729행 수치 FAIL인 diagnostic; 새 모델·CSV 준비 중 | | Shell transient heat transfer | 구현·내부 검증 완료, 필수 외부 비교 대기 | [추가139개 PASS·수렴/수지·독립 수치/물리 검토](../shell-transient-heat-transfer/README.md). 기존 NT11은87/729행 수치 FAIL인 diagnostic; 새 모델·CSV 준비 중 |
| Hex8 선형·기하비선형 강성·consistent mass | static/frequency/HHT·CLI/HDF5 연결됨, 기능 검증 미완료 | [기능 PRD](../hex8-structural-analysis/PRD.md)의 범위를 따름. 내부 검증과 공식 출력 관련 검사 PASS. 두 정적 원본은 CLI native0이나 U/RF/S 필수 비교 FAIL; 체적 정식화 차이 조사 중. 동적 전체 원본 실행·전체 회귀 진행 중, modal Value 원본 부재 | | Hex8 선형·기하비선형 강성·consistent mass | 승인된 체적 평균 energy 구현·전체 재검증 중 | [기능 PRD](../hex8-structural-analysis/PRD.md)의 범위를 따름. 이전 pointwise 구현은5절차 CLI native0, 두 동적101 endpoint 완료지만 정적 U/RF/S와 동적 U 필수 비교 FAIL. 기존 내부 PASS를 변경본에 승계하지 않음. Modal Value 원본 부재 |
| Python 검증 실행기 | 구현됨 | 명시 build/test runner와 별도 Python suite가 존재. 일부 운영 계약 검사는 현행 절차와 맞지 않는 기대값을 유지 | | Python 검증 실행기 | 구현됨 | 명시 build/test runner와 별도 Python suite가 존재. 일부 운영 계약 검사는 현행 절차와 맞지 않는 기대값을 유지 |
| 외부 사용자 배포 | 계획 | 배포 방식·설치·지원 정책과 dependency 재배포 검토가 아직 정해지지 않음 | | 외부 사용자 배포 | 계획 | 배포 방식·설치·지원 정책과 dependency 재배포 검토가 아직 정해지지 않음 |
## 남은 작업과 의존성 ## 남은 작업과 의존성
Hex8은 현재 정식화와 원본·tolerance를 보존하며 동적101 frame 비교와 전체 회귀를 Hex8은 2026-10-10 사용자 B 승인에 따라 다섯 절차의 체적 평균 energy를 구현하고 전체
마무리한다. 정적 원본과 표준 full8의 차이는 [미해결 문제](findings.md)에 기록했다. 재검증한다. 기존 정식화와 원본의 차이는 [미해결 문제](findings.md)에 보존했다.
Physics 또는 필수 reference 계약 변경은 별도 사용자 결정이며, 원본을 보정하거나 원본·tolerance·strict gate·질량·HHT·schema는 유지하며, modal 원본 부재를 기능 검증
기능 검증 완료로 처리하지 않는다. 세부 현재 checklist는 기능 PRD 한 곳에 유지한다. 완료로 처리하지 않는다. 세부 현재 checklist는 기능 PRD 한 곳에 유지한다.
1. Shell 열해석은 준비 중인 새 reference 모델·CSV의 별도 경로·identity·시점·hash를 1. Shell 열해석은 준비 중인 새 reference 모델·CSV의 별도 경로·identity·시점·hash를
확정하고 승인 tolerance로 필수 비교를 실행한다. 기존 NT11 diagnostic FAIL과 고정 확정하고 승인 tolerance로 필수 비교를 실행한다. 기존 NT11 diagnostic FAIL과 고정