From 71fa35676ace8c10e36a27c2bb32fb427d2c3155 Mon Sep 17 00:00:00 2001 From: "KOKO\\Mimi" Date: Sat, 10 Oct 2026 23:03:46 +0900 Subject: [PATCH] docs(hex8): close historical validation before energy change --- docs/hex8-structural-analysis/lessons.md | 4 ++- .../numerical-review.md | 19 +++++++++++- .../physics-review.md | 14 +++++++++ docs/hex8-structural-analysis/verification.md | 30 +++++++++++++++++-- docs/tracking/findings.md | 13 ++++---- docs/tracking/status.md | 16 +++++----- 6 files changed, 79 insertions(+), 17 deletions(-) diff --git a/docs/hex8-structural-analysis/lessons.md b/docs/hex8-structural-analysis/lessons.md index 780402e..82592a2 100644 --- a/docs/hex8-structural-analysis/lessons.md +++ b/docs/hex8-structural-analysis/lessons.md @@ -283,7 +283,9 @@ Source identity와 point mapping을 확인하고 독립 표준 full8 조립/solv energy/Hessian 후보가 차이를 설명하는 근거다. Stress만 평균화하거나 tolerance를 늘리는 수정은 energy/force/tangent 계약을 깨거나 실제 모델 차이를 숨긴다. 후보의 선형 수치 관찰과 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와 source/result의 hardlink·symlink alias도 보호하고, 잘못된 HDF rank는 failed precheck로 diff --git a/docs/hex8-structural-analysis/numerical-review.md b/docs/hex8-structural-analysis/numerical-review.md index 0fbec52..64a5273 100644 --- a/docs/hex8-structural-analysis/numerical-review.md +++ b/docs/hex8-structural-analysis/numerical-review.md @@ -152,9 +152,26 @@ Default/selected reference·input/result/record와 symlink/hardlink alias 보호 비교 metric이 일치했다. Frequency 공식 readback의 precheck와 missing Value NOT RUN을 분리한다. Whole configured Python은 기존 collection5 오류로 native2·실행0개이며 PASS가 아니다. 실제 수치는 [verification](verification.md), 물리 모델 차이는 -[미채택 변경안](reference-discrepancy-proposal.md)에 있다. 그 변경안의 energy 미분과 선형 +[변경 근거](reference-discrepancy-proposal.md)에 있다. 그 변경안의 energy 미분과 선형 후보 배열의 independent K/S/energy·U/RF/S 수치 관측도 검토했지만 production 채택이나 비선형·동해석 일치 검증은 아니다. 전체 CTest와 남은 동적 원본은 이 bounded 판정 밖이다. Root 보존 자료는 로컬 `.harness/hex8-evidence/t8-comparator-frozen/`, 독립 full8 원시 재현은 `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는 변경 구현에서 검증해야 한다. diff --git a/docs/hex8-structural-analysis/physics-review.md b/docs/hex8-structural-analysis/physics-review.md index 18b8edc..7aea862 100644 --- a/docs/hex8-structural-analysis/physics-review.md +++ b/docs/hex8-structural-analysis/physics-review.md @@ -91,3 +91,17 @@ strain 최대차1.51e-18이다. Energy178.762694318679와0.5F·u178.762694317263 원시 재현 script/stdout/JSON·native exit와7파일 전후 SHA는 로컬 `.harness/hex8-evidence/t8-independent-full8-audit/`에 있다. Solver 재실행 없이 기존 결과를 재분석했으며 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라 하지 않는다. +선형 원본에 맞춘 별도 후보와 수식 검토는 변경본 물리 검증을 대신하지 않는다. diff --git a/docs/hex8-structural-analysis/verification.md b/docs/hex8-structural-analysis/verification.md index 0bc3ba2..68d71ac 100644 --- a/docs/hex8-structural-analysis/verification.md +++ b/docs/hex8-structural-analysis/verification.md @@ -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 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_nonlinearstatic` | Full precheck PASS; U/RF/S numerical FAIL (comparator native1) | -| `hexa_dynlinear` | NOT RUN by comparator; root-owned actual CLI run pending | -| `hexa_dynnonlinear` | 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` | 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) | Full MSVC build/CTest, original CLI orchestration, independent numerical/physics investigation of the reference conflict and whole-feature completion are root-owned 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//`. 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. diff --git a/docs/tracking/findings.md b/docs/tracking/findings.md index e4de30a..10c9731 100644 --- a/docs/tracking/findings.md +++ b/docs/tracking/findings.md @@ -18,10 +18,10 @@ - 후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 source/schema 검사와 CLI native0이나 U/RF/S family가 모두 FAIL이다. 별도 선형 체적 평균 energy의 독립 Python 후보는 unchanged 수치 기준에 일치했으며 현재 생산 구현의 PASS가 아니다. - [미채택 변경안](../hex8-structural-analysis/reference-discrepancy-proposal.md)에 정식화 유지와 - 별도 reference, 또는 energy/force/Hessian 체적 변경의 영향을 구체화했다. - Physics·필수 reference 판정 변경은 사용자 결정 - 사항이며, 다른 원본 실행과 현재 범위 검증은 원본·수치 기준을 유지한 채 계속한다. + [승인된 변경 근거](../hex8-structural-analysis/reference-discrepancy-proposal.md)에 영향을 + 구체화했고, 사용자가 2026-10-10 B로 체적 평균 energy 도입과 전체 재검증을 승인했다. + 변경본의 energy/force/Hessian·다섯 절차·필수 원본을 다시 검증한다. 원본·수치 기준을 + 유지하며 승인이나 private 선형 후보의 일치를 변경본 PASS로 처리하지 않는다. ## Hex8 동해석의 엄격 잔차와 내부 상태 정밀도 @@ -38,7 +38,10 @@ [승인된 변경안](../hex8-structural-analysis/precision-proposal.md)을 구현했다. 사용자가 2026-10-09 선택 A로 승인했고 소규모 상태·시간수렴·수지와 두 원본의 세 증분 관측을 검증했다. 독립 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의 시간수렴 diff --git a/docs/tracking/status.md b/docs/tracking/status.md index 5b308e1..3007872 100644 --- a/docs/tracking/status.md +++ b/docs/tracking/status.md @@ -10,7 +10,9 @@ native CTest exit **8**이다. 기존 478개 검사가 포함되고 추가139개 실행·복구·보존 경로는 [전체 회귀 보고서](../shell-transient-heat-transfer/implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에 있다. dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 실행을 뜻하지 않는다. 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#실패와-남은-범위)은 보류 | | HHT 동해석 | 입력부터 HDF5까지 구현, 기능 검증 미완료 | 101-frame U 비교 PASS 기록·UR 경고200건. [두 시간수렴 실패와 잔여 coverage](../hht-implicit-dynamics/README.md#실패시행착오다음-작업) 유지 | | 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 준비 중 | -| 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가 존재. 일부 운영 계약 검사는 현행 절차와 맞지 않는 기대값을 유지 | | 외부 사용자 배포 | 계획 | 배포 방식·설치·지원 정책과 dependency 재배포 검토가 아직 정해지지 않음 | ## 남은 작업과 의존성 -Hex8은 현재 정식화와 원본·tolerance를 보존하며 동적101 frame 비교와 전체 회귀를 -마무리한다. 정적 원본과 표준 full8의 차이는 [미해결 문제](findings.md)에 기록했다. -Physics 또는 필수 reference 계약 변경은 별도 사용자 결정이며, 원본을 보정하거나 -기능 검증 완료로 처리하지 않는다. 세부 현재 checklist는 기능 PRD 한 곳에 유지한다. +Hex8은 2026-10-10 사용자 B 승인에 따라 다섯 절차의 체적 평균 energy를 구현하고 전체 +재검증한다. 기존 정식화와 원본의 차이는 [미해결 문제](findings.md)에 보존했다. +원본·tolerance·strict gate·질량·HHT·schema는 유지하며, modal 원본 부재를 기능 검증 +완료로 처리하지 않는다. 세부 현재 checklist는 기능 PRD 한 곳에 유지한다. 1. Shell 열해석은 준비 중인 새 reference 모델·CSV의 별도 경로·identity·시점·hash를 확정하고 승인 tolerance로 필수 비교를 실행한다. 기존 NT11 diagnostic FAIL과 고정