From 7b75f374620ad4d2a6d6edf1cb98db92c6504e5d Mon Sep 17 00:00:00 2001 From: "KOKO\\Mimi" Date: Sat, 10 Oct 2026 02:15:30 +0900 Subject: [PATCH] docs(hex8): record comparison evidence and reference options --- .../FEATURED_AGENTS.md | 2 + docs/hex8-structural-analysis/PRD.md | 8 ++ docs/hex8-structural-analysis/lessons.md | 17 +++ .../numerical-review.md | 27 +++++ .../physics-review.md | 20 ++++ .../reference-discrepancy-proposal.md | 103 ++++++++++++++++++ docs/hex8-structural-analysis/verification.md | 25 ++++- docs/tracking/findings.md | 17 ++- docs/tracking/status.md | 16 ++- 9 files changed, 221 insertions(+), 14 deletions(-) create mode 100644 docs/hex8-structural-analysis/reference-discrepancy-proposal.md diff --git a/docs/hex8-structural-analysis/FEATURED_AGENTS.md b/docs/hex8-structural-analysis/FEATURED_AGENTS.md index 07aa646..b0e0fff 100644 --- a/docs/hex8-structural-analysis/FEATURED_AGENTS.md +++ b/docs/hex8-structural-analysis/FEATURED_AGENTS.md @@ -15,6 +15,8 @@ static/frequency/HHT 절차를 추가한다. 코드 존재와 기능 검증 완 | [io](io.md) | 입력 의미·typed 경계·공식 결과 metadata/units·진단 | | [numeric controls](numeric-controls.md) | 수치 scale·zero branch·tuning·독립 검사 기준 | | [reference model](reference-model.md) | read-only 원본 inventory·quantity/key/point/time mapping | +| [verification](verification.md) | 비교 도구 사용·공식 원본 비교·Python 검사 결과와 한계 | +| [reference discrepancy proposal](reference-discrepancy-proposal.md) | 미채택 체적 정식화/reference 변경안·실제 불일치와 선형 후보 관측 | | [numerical review](numerical-review.md) | 작성자와 독립된 정식화/controls 검토의 결과 | | [lessons](lessons.md) | 정밀도 손실·수렴 실패와 수정의 근거 및 재사용할 주의점 | | [precision proposal](precision-proposal.md) | 승인된 내부 정밀도 변경안·결과 의미·구현 전 검증 범위 | diff --git a/docs/hex8-structural-analysis/PRD.md b/docs/hex8-structural-analysis/PRD.md index cb99633..2fbc9d6 100644 --- a/docs/hex8-structural-analysis/PRD.md +++ b/docs/hex8-structural-analysis/PRD.md @@ -462,3 +462,11 @@ native CTest exit0이며 독립 수치 검토를 통과했다. 두 정적 원본 이 범위의 완료와 외부 비교·최신 전체 회귀는 구분한다. 실행 방법은 [README](README.md), 세부 근거와 한계는 [수치 검토](numerical-review.md)에 있다. 원본 frequency 결과 부재는 구현 진행을 막지 않지만 기능 검증 완료를 막는다. +비교기 `317fe5c`는 원본 identity·schema·finite·허용오차·원본 덮어쓰기 보호의 독립 검토와 +관련124/124 Python 검사(native0)를 통과했다. Root 연결 후 같은 관련124/124도 native0이며 +정적 수치 실패와 modal NOT RUN을 재현했다. 두 정적 원본은 실제 CLI native0이지만 +U/RF/S 필수 비교는 모두 FAIL이다. 고유치 공식 readback은 검사했으나 원본 Value 부재로 +비교는 NOT RUN이다. [verification](verification.md)의 metric과 +[미채택 변경안](reference-discrepancy-proposal.md)을 구분한다. 별도 선형 Python 후보의 +수치 일치는 현재 구현의 PASS가 아니다. Source `1eb9cdd`의 전체 build는 native0이고 +780개 CTest는 진행 중이다. 종료 전 checklist를 통과로 바꾸지 않는다. diff --git a/docs/hex8-structural-analysis/lessons.md b/docs/hex8-structural-analysis/lessons.md index 5518a9d..780402e 100644 --- a/docs/hex8-structural-analysis/lessons.md +++ b/docs/hex8-structural-analysis/lessons.md @@ -272,3 +272,20 @@ Root 연결의 related49/49와 두 brick의 LIN/TL 전체 low 직렬/TBB 일치1 최초 broad filter가 긴 전체 원본 smoke를 함께 선택한 실행은 의도적으로 중단했고 CTest exit−1로 보존했다. 완료하지 않은 실행을 수렴 실패로 해석하거나 현재 PASS에 합산하지 않는다. 공식 출력·101 endpoint·원본 비교·전체 회귀는 후속 검증이다. + +## 점 수와 체적 정식화를 구분하기 + +실제 두 정적 원본은 CLI/schema 성공 뒤 U/RF/Gauss S가 모두 외부 기준에 실패했다. +Source identity와 point mapping을 확인하고 독립 표준 full8 조립/solve·회복을 대조한 +결과 현재 구현은 승인된 수식과 일치했다. 같은8점이라는 이유로 Abaqus C3D8의 체적 +처리까지 같다고 가정하면 차이를 입력 오류나 rounding으로 잘못 분류할 수 있다. +전체 요소의 원본 변위·응력을 사용한 hydro/dev 분리와 reference-volume 평균의 별도 +energy/Hessian 후보가 차이를 설명하는 근거다. Stress만 평균화하거나 tolerance를 늘리는 +수정은 energy/force/tangent 계약을 깨거나 실제 모델 차이를 숨긴다. +후보의 선형 수치 관찰과 production·비선형·동적 PASS를 분리해야 한다. +실제 metric과 미채택 선택지는 [verification](verification.md)·[변경안](reference-discrepancy-proposal.md)에 있다. + +비교 도구의 `--references` 변경은 원본 보호 기준을 좁히지 않아야 한다. Report와 +source/result의 hardlink·symlink alias도 보호하고, 잘못된 HDF rank는 failed precheck로 +기록해야 한다. Source path는 writer와 같은 lexical 정규화를 사용하며 물리적 symlink +대상으로 identity를 바꾸지 않는다. 이 세 문제는 안전한 behavior RED와 최종124개 검사로 확인했다. diff --git a/docs/hex8-structural-analysis/numerical-review.md b/docs/hex8-structural-analysis/numerical-review.md index 28c569e..0fbec52 100644 --- a/docs/hex8-structural-analysis/numerical-review.md +++ b/docs/hex8-structural-analysis/numerical-review.md @@ -131,3 +131,30 @@ reaction, typed/HDF5·failed accepted 보존에는 문서 수식의 추가 block 이 risk는 이후 실제 interval primitive/subdivision·brick/warped oracle·tangent step sweep· generalized runtime/count·prescribed-only state·HHT mesh 시간수렴·formal HDF5/reference 사전검사로 검증해야 한다. 아직 실행하지 않은 solver build/test/reference를 PASS로 적지 않는다. + +## T8 비교기 독립 검토와 실제 원본 불일치 + +Frozen author `0b93c0c59cf64db44003ebe5217a4efb8307a8ba`는 bounded PASS, +추가 actionable code finding0이다. Root 연결은 `317fe5c`다. Reviewer는 별도로 네 owned +LF commit blob/current/snapshot과 manifest·65 raw artifact의 hash/size, 양 checkout의 +원본13 SHA를 확인했다. Actual stdout/JUnit에서124/124(Hex8 83·기존 HHT 41), +failure/error/skip0·native0·81.41s를 확인했다. 일부 초기 로그의 count가 원시 stdout으로 +증명되지 않았던 한계는 최종 raw closure로 해결했으며 과거 native 기록은 유지한다. + +실제 발견하고 behavior RED 후 수정한 사항은 alternate reference 선택 시 기본 원본을 +report로 덮어쓸 수 있던 보호 누락, scalar modal pair의 rank 검사 전 IndexError, +`..` lexical path가 같은 scratch의 C++ source identity와 달라지던 문제다. +Default/selected reference·input/result/record와 symlink/hardlink alias 보호, Dataset/1D +검사, C++와 같은 lexical 절대경로 정규화와 targeted5 regressions를 확인했다. + +두 정적 공식 HDF5는 source/schema/model/point/frame/finite precheck PASS·CLI native0이나 +세 수치 family FAIL이다. Reviewer의 독립 standard full8 조립·회복·반력/에너지와 정식 +비교 metric이 일치했다. Frequency 공식 readback의 precheck와 missing Value NOT RUN을 +분리한다. Whole configured Python은 기존 collection5 오류로 native2·실행0개이며 PASS가 아니다. +실제 수치는 [verification](verification.md), 물리 모델 차이는 +[미채택 변경안](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/`다. diff --git a/docs/hex8-structural-analysis/physics-review.md b/docs/hex8-structural-analysis/physics-review.md index 37512f6..18b8edc 100644 --- a/docs/hex8-structural-analysis/physics-review.md +++ b/docs/hex8-structural-analysis/physics-review.md @@ -71,3 +71,23 @@ high/low 재생값도 일치했다. LIN/TL 최대 절대차는1.19926e-29/2.9634 이 검사는 적분점의 확인이며 전체 cell 양성 인증의 독립 재검증을 대신하지 않는다. Reviewer의 최종 판정은 frame0–3에 한정한 물리 PASS, blocker0이다. 별도 cache raw42개의 hash와 크기는 메인이 대조하고 `reference-cache-frozen/`에 보존했다. + +## 실제 선형 정적 원본의 독립 평형과 구성식 대조 + +공식 CLI 결과 `e2c3c5b`를 기존 원본 형상·BC·하중으로 별도 standard full8 조립/solve했다. +Native 변위와 독립 해의 상대 최대차1.75e-11, 자유 잔차/하중5.15e-12, +구속 RF 최대차4.07e-10 force, stress 최대차4.01e-7 stress-unit, +strain 최대차1.51e-18이다. Energy178.762694318679와0.5F·u178.762694317263은 +상대차 약7.92e-12다. Force·reference-arm moment와 free RF exact0도 별도로 관찰했다. +이는 정적 해의 독립 물리 진단이며512eps 동적 invariant gate 통과를 새로 주장하는 것이 아니다. + +원본 CSV 변위를 같은 승인된 full8 K에 대입한 자유 잔차 최대값은87147.6514 force, +0.5u·Ku와0.5F·u의 상대차는 약4.72%다. 원본이 다른 체적 모델을 쓰는 경우 이 대입은 +그 모델의 평형 검사가 아니므로 원본 오류로 단정하지 않는다. 요소 평균 trace를 사용한 +별도 선형 energy 후보는 U/RF/S와 매우 일치했다. 원본·현재 구현·후보 계산의 scope를 +[변경안](reference-discrepancy-proposal.md)에서 분리한다. 이 조사로 현재 필수 비교 FAIL, +후보 비선형·고유치·동해석 미검증이나 원본 Value 부재를 없애지 않는다. + +원시 재현 script/stdout/JSON·native exit와7파일 전후 SHA는 로컬 +`.harness/hex8-evidence/t8-independent-full8-audit/`에 있다. Solver 재실행 없이 기존 +결과를 재분석했으며 production/reference를 수정하지 않았다. diff --git a/docs/hex8-structural-analysis/reference-discrepancy-proposal.md b/docs/hex8-structural-analysis/reference-discrepancy-proposal.md new file mode 100644 index 0000000..c3475e4 --- /dev/null +++ b/docs/hex8-structural-analysis/reference-discrepancy-proposal.md @@ -0,0 +1,103 @@ +# 정적 원본 불일치와 변경 선택지 — 미채택 + +현재 승인된 표준 full8 정식화·전체 high+low 물리 상태·원본·수치 기준은 유지한다. +이 문서는 사용자 결정용 변경안이며 [PRD](PRD.md)나 [ADR](ADR.md)를 대체하지 않는다. +현재 공식 결과의 실제 비교는 [verification](verification.md)에 있다. + +## 확인한 차이 + +선형·비선형 정적 원본의 CLI는 native exit0으로 종료했다. Byte-identical scratch input, +원본13개의 SHA, source step/factor1,442절점·300요소·51구속, source IntPt1–8, +형식·좌표·tensor·finite 검사도 통과했다. 두 경우 모두 U/RF/S가 공통 RMS1%를 초과했다. + +| 실제 공식 결과 | U RMS/S | constrained RF RMS/S | S RMS/S | +| --- | ---: | ---: | ---: | +| 선형 정적 | 0.01673952 | 0.06818893 | 0.04270903 | +| 비선형 정적 | 0.01673779 | 0.06818993 | 0.04270851 | + +선형 독립 표준 full8 조립·solve는 현재 변위와 상대 최대차1.75e-11로 일치했다. +같은 식의 응력 복구 최대차는4.01e-7 stress-unit, 자유 잔차/하중은5.15e-12다. +반력·일과 에너지를 별도로 대조했으며 source mapping 오류는 발견하지 않았다. +원본 변위를 같은 표준 full8 식에 대입하면 자유 평형 잔차가 크다. 이는 원본이 다른 +체적 처리 모델과 일관될 수 있다는 관찰이며 원본이 잘못됐다는 판정은 아니다. + +원본 변위에서 점별 deviatoric strain은 유지하고 체적 trace만 요소의 reference-volume +가중 평균으로 계산하면 원본 응력의 최대차가 약1.054e6에서44.15 stress-unit으로 줄었다. +[Abaqus 공개 Theory Guide](https://docs.software.vt.edu/abaqusv2025/English/SIMACAETHERefMap/simathe-c-solidisoquadhex.htm)는 +fully integrated 8절점 요소의 체적 항 평균화를 설명한다. 점 수8만으로 승인된 비수정 +pointwise full8 식과의 동등성을 추론할 수 없다. 읽은 공개 자료는2025이며 원본 CAE2024의 +정확한 revision이나 ODB 출력 precision을 확인한 것은 아니다. + +## 선택 A — 현재 정식화 유지와 별도 reference + +현재 energy/force/tangent/recovery·consistent mass·절차를 유지한다. 동일한 비수정 +8점 규칙·구성식·하중·구속·복구량 의미를 명시한 독립 reference를 별도 경로에 준비한다. +FESA 결과를 reference로 복사하거나 기존 원본을 변경하지 않는다. + +필수 reference 지위를 바꾸면 비교 계약 변경이 필요하다. 현재 불일치 원본을 diagnostic으로 보존하고 +새 자료를 필수 reference로 지정할지, 현재 필수 지위를 유지해 완료를 계속 보류할지 +사용자가 결정한다. 새 자료의 경로·quantity·시점·단위·hash와 독립성을 확인하기 전에는 +필수 비교 PASS가 아니다. 외부 solver 실행이나 reference 생성은 별도의 명시 범위다. + +## 선택 B — Green strain 체적 평균 energy 도입 + +8개 reference Gauss 점과 그 가중치 w_g, 실제 F_g·Green strain E_g를 유지하고 +체적 energy만 다음 요소 전체 항으로 정의한다. mu와 kappa는 기존 shear·bulk 계수다. + +```text +V = sum_g(w_g), theta_bar = sum_g(w_g * trace(E_g)) / V +U* = sum_g(w_g * mu * dev(E_g):dev(E_g)) + kappa * V * theta_bar^2 / 2 +S*_g = 2*mu*dev(E_g) + kappa*theta_bar*I +P*_g = F_g*S*_g, Cauchy_sigma_g = F_g*S*_g*transpose(F_g)/det(F_g) +f = dU*/du, Kt = d²U*/du² +``` + +체적 항의 material Hessian은 서로 다른 Gauss 점의 coupling을 포함한다. 방향 p/q에 +대해 Z_g[p]=sym(F_g^T D_g[p]), D_g[p]=sum_a(p_a tensor G_ag)라 두면 체적 항은 +`(kappa/V)*sum_g(w_g*trace(Z_g[p]))*sum_h(w_h*trace(Z_h[q]))`다. +Paired 경로의 G_ag는 [precision formulation](precision-formulation.md)의 동일 Ghat derivative다. +Deviatoric material 항과 S*의 geometric 항도 같은 energy에서 미분한다. Stress만 +평균화하거나 기존 point-local tangent를 그대로 쓰면 이 energy의 내력·접선이 아니다. + +선형은 같은 energy의 zero-state Hessian을 쓴다. 비선형은 TL·실제 Green strain을 +유지하고 새 energy의 내력·Kmat/Kgeo/Kt를 쓴다. 실제 Green strain을 출력하되 stress는 +같은 point strain만의 기존 StVK law가 아닌 요소 평균에 의존한다는 의미를 명시한다. +Reference consistent M과 기존 HHT·strict gate·100회 제한·Float64 결과 반올림 의미는 유지한다. +평균·내력·접선·복구의 paired 경로까지 변경해야 하며 eigen과 두 HHT의 강성도 달라진다. + +후보 B의 **선형 한 사례만** private NumPy/SciPy로 독립 조립·solve했다. 실제 원본 +구속·하중과 unchanged reference-only row5%/RMS1% 정책을 사용한 수치 관찰이다. + +| 후보 선형 계산 | row 실패/전체 | RMS/S | 최대 절대차 | +| --- | ---: | ---: | ---: | +| U | 0/1326 | 9.317914e-9 | 6.096814e-11 length | +| constrained RF | 0/51 | 7.309763e-9 | 0.01474826 force | +| S | 0/14400 | 3.425947e-9 | 0.1224464 stress | + +관찰한300 local matrix의 numerical rank는18,1275 free matrix의 numerical rank는1275이며 +Cholesky가 성공했다. Rank는 spectral threshold를 사용한 관찰이다. +후보 평형·에너지·독립 stress→force를 대조했다. 이는 production 구현·공식 HDF5 비교나 +모든 형상의 안정성 증명이 아니다. 비선형·고유치·동해석의 원본 일치는 아직 입증하지 않았다. + +이 모델은 평균 Green trace를 사용하며 공개 finite Fbar와 다르다. Fbar의 평균 determinant, +수정 F와 dev 구성식까지 재현하려면 별도의 선택·변분·paired 산술·복구량 계약이 필요하다. +공개 Abaqus 유한변형 알고리즘의 동등성을 이 선형 결과로 주장하지 않는다. + +## 변경 후 필요한 검증과 결정 경계 + +B를 선택하면 static/frequency/LIN·TL HHT 전체에 동일 energy를 적용하는 범위와 복구량 +의미를 feature 계약에 기록한 뒤 구현한다. Independent U→f→Kt 방향 미분, cross-GP 항, +distorted patch·6 rigid modes·큰 회전 객관성, extra-null/conditioning·공간수렴, +consistent M·반력·work/energy·운동량, 모든 low 전달·rollback·시간수렴을 검증해야 한다. +모든 원본을 새 구현으로 다시 비교하고 최신 전체 MSVC Debug 회귀를 수행한다. +이미 종료된 현행 구현의 evidence를 변경본의 PASS로 재사용하지 않는다. + +A/B 어느 선택도 원본·tolerance를 보정하지 않는다. 공개 Fbar 자체를 목표로 하려면 +별도 정식화 조사를 선택해야 한다. 고유치 원본 Value 부재와 기존 Shell 회귀 문제도 별개로 남는다. +Physics·필수 reference 지위 변경은 사용자 결정 전에는 적용하지 않는다. + +원시 독립 표준 full8 audit는 로컬 `.harness/hex8-evidence/t8-independent-full8-audit/`, +체적 조사·후보 수식·한 번의 선형 계산과 SHA는 +`.harness/hex8-evidence/t8-reference-law-investigation/`에 보존했다. +독립 numerical review는 후보 energy의 first/second variation과 한 선형 후보의 +cross-GP K·응력·에너지·수치 정책 관측을 확인했다. 후보 채택·production 검증은 아니다. diff --git a/docs/hex8-structural-analysis/verification.md b/docs/hex8-structural-analysis/verification.md index 366bc4e..0bc3ba2 100644 --- a/docs/hex8-structural-analysis/verification.md +++ b/docs/hex8-structural-analysis/verification.md @@ -116,13 +116,26 @@ Official result SHA256 values are `3ef92c35ea83ddb4d11437ff87ef15eca7dac179d378eda19570abae579b09d0` (linear), `0095ebf2d360a8bd8a71212af0dd500ed611a56540a173a39d9c8d88d8e05bbf` (nonlinear), and `0ec4d2b09250bab17a8532228cd34a312518c04023076f971e929b387031c6b3` (frequency). -Scratch input paths are -`C:/git/FESADev/.harness/hex8-evidence/t8-original-cli//.inp`. -Each exact command, closed native exit and full row report is retained under -`C:/git/FESADev/.dryforge/worktrees/hex8-t8-reference/.harness/hex8-evidence/t8/official-comparisons//`. +Scratch inputs are retained under +`.harness/hex8-evidence/t8-original-cli//.inp`. +Root preserved each exact command, closed native exit and full row report under +`.harness/hex8-evidence/t8-comparator-frozen/official-comparisons//`. The command records identify the actual scratch input, original reference directory, -HDF5 and closed native CLI record consumed. Comparator implementation review and -remaining naturally completed dynamic originals are tracked separately. +HDF5 and closed native CLI record consumed. The frozen author revision +`0b93c0c59cf64db44003ebe5217a4efb8307a8ba` passed independent bounded review +and was integrated as `317fe5c`. Root and reviewer separately verified four owned +source blobs/snapshots, 65 closed raw artifacts and all13 unchanged source hashes. +The raw affected stdout/JUnit certifies124 tests (Hex8 83, legacy HHT 41), zero +failures/errors/skips and native0. This review certifies the comparator behavior +and evidence, not numerical agreement with the originals. Naturally completed +dynamic originals and whole-feature validation are tracked separately. + +After integration, the root affected suite also passed124/124 with native0 +(70.92s). Root comparison-only commands consumed the same naturally closed official +results and again returned static native1 with the same failed family metrics and +frequency native2 (`not-run`). These commands and raw stdout/JUnit/row reports are +retained under `.harness/hex8-evidence/t8-integrated/`. No original solver case was +rerun to perform these comparisons. | Actual original | Current comparison state | | --- | --- | diff --git a/docs/tracking/findings.md b/docs/tracking/findings.md index 5eab459..e4de30a 100644 --- a/docs/tracking/findings.md +++ b/docs/tracking/findings.md @@ -15,8 +15,12 @@ 같은 원본 형상·변위의 Gauss 구성식도 현재 stress/strain을 재현한다. 승인된 full8 식을 원본 값에 맞춰 조용히 바꾸거나 tolerance를 완화할 근거가 아니다. 원본 응력의 체적 성분은 요소 평균 trace로 재구성하면 크게 가까워지지만 이것만으로 private algorithm을 증명하지 않는다. -- 후속 방향: 정식 비교기·독립 수치 검토를 완료하고, 원본의 observable 체적 처리와 승인 - 정식화의 차이 및 변경 영향을 구체화한다. Physics·필수 reference 판정 변경은 사용자 결정 +- 후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 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 동해석의 엄격 잔차와 내부 상태 정밀도 @@ -49,6 +53,10 @@ ## Python 운영 계약 검사의 기대값 불일치 +- 추가 관찰(2026-10-10 Hex8 비교기 작업): 설정된 전체 Python 명령에 h5py dependency를 + 추가해 실행했으나 기존 `msvc_harness`·폐기된 `scripts.hooks` import의 collection5 + 오류로 native2·실행0개였다. 관련 comparator124/124 native0과 구분하며 전체 PASS가 아니다. + 정확한 명령과 raw는 [Hex8 verification](../hex8-structural-analysis/verification.md)에 있다. - 조건·현상: `tests/test_agent_skill_workflow_contract.py`의 inventory 검사는 11개 profile을 기대하지만 현재 `.codex/agents`에는 7개가 있다. 같은 파일은 루트 지침의 고정 단계 표를 parsing하고, 과거 phase 실행 예제를 검사한다. 현재 명시 실행기와 @@ -56,8 +64,9 @@ - 영향: 이 검사를 현행 운영의 통과 증거로 쓰거나 통과시키기 위해 삭제된 절차를 복원하면 잘못된 개발 흐름을 다시 도입한다. 루트 문서 재구성 이후에는 옛 표 위치에 의존하는 검사도 조정 대상이다. -- 현재 해결하지 않는 이유: 기존 불일치는 source 정적 대조로 확인했지만 이번 요청은 - 문서 변경이다. Python 검사를 실행하거나 테스트 코드를 수정하지 않았다. +- 현재 해결하지 않는 이유: 2026-10-04 문서 정리에서는 source 정적 대조만 했고 Python + 검사를 실행하지 않았다. 이후 위 collection 문제를 실제 관찰했지만 Hex8 기능 작업에서 + 기존 운영 검사나 폐기된 절차를 복원하는 수정은 범위 밖이다. - 후속 방향: 유효한 동작·권한·검증 범위를 검사하도록 기대값을 정리하고 Python suite를 별도로 실행한다. 현재 CTest의 성공으로 대체하지 않는다. diff --git a/docs/tracking/status.md b/docs/tracking/status.md index 999f39b..5b308e1 100644 --- a/docs/tracking/status.md +++ b/docs/tracking/status.md @@ -1,14 +1,16 @@ # 개발 현황 -기준일은 2026-10-04이다. 주목적은 개인 연구용 솔버 개발이며 외부 사용자 배포는 장기 -목표다. 문서 정리에서 solver나 검증 suite를 다시 실행하지 않았다. 아래는 보존된 실제 -실행과 기능별 계약을 대조한 요약이며 상세 checklist를 대신하지 않는다. +기준일은 2026-10-10이다. 주목적은 개인 연구용 솔버 개발이며 외부 사용자 배포는 장기 +목표다. 아래는 실제 실행과 기능별 계약을 대조한 요약이며 상세 checklist를 대신하지 않는다. +2026-10-04 문서 정리 당시의 기존 기능 기록과 이후 Hex8 개발의 실행 증거를 구분한다. -최신 전체 MSVC x64 Debug 통합 회귀는 source `9f7fb2e`에서 **617개: 614 PASS·2 FAIL·1 SKIP**, +종료된 전체 MSVC x64 Debug 통합 회귀는 source `9f7fb2e`에서 **617개: 614 PASS·2 FAIL·1 SKIP**, native CTest exit **8**이다. 기존 478개 검사가 포함되고 추가139개 모두 PASS다. 두 HHT 실패와 skipped 항목은 구현 전 baseline의 status·metric body와 정확히 같다. 실행·복구·보존 경로는 [전체 회귀 보고서](../shell-transient-heat-transfer/implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에 있다. dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 실행을 뜻하지 않는다. +Hex8 연결 후 source `1eb9cdd`의 전체 build는 native exit0이며, 발견된780개 CTest의 +제외 없는 실행은 진행 중이다. 이 실행의 종료 결과를617개 과거 기록으로 대체하지 않는다. ## 구현과 검증 상태 @@ -22,11 +24,17 @@ dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 | HHT 굽힘 단면력 복구 | 두께 계수 수정됨 | 관련 Debug 14 tests와 원본 HDF5 재생성·독립 식 대조 완료 기록. 전체 동해석 완료와 별개 | | HHT 관련 전체 CTest | 기존 실패2개·SKIP1개 유지 | 최신617개 검사에서 제외 없이 실행. 기존 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 원본 부재 | | Python 검증 실행기 | 구현됨 | 명시 build/test runner와 별도 Python suite가 존재. 일부 운영 계약 검사는 현행 절차와 맞지 않는 기대값을 유지 | | 외부 사용자 배포 | 계획 | 배포 방식·설치·지원 정책과 dependency 재배포 검토가 아직 정해지지 않음 | ## 남은 작업과 의존성 +Hex8은 현재 정식화와 원본·tolerance를 보존하며 동적101 frame 비교와 전체 회귀를 +마무리한다. 정적 원본과 표준 full8의 차이는 [미해결 문제](findings.md)에 기록했다. +Physics 또는 필수 reference 계약 변경은 별도 사용자 결정이며, 원본을 보정하거나 +기능 검증 완료로 처리하지 않는다. 세부 현재 checklist는 기능 PRD 한 곳에 유지한다. + 1. Shell 열해석은 준비 중인 새 reference 모델·CSV의 별도 경로·identity·시점·hash를 확정하고 승인 tolerance로 필수 비교를 실행한다. 기존 NT11 diagnostic FAIL과 고정 5점 두께 모델의 해상도·곡면·접합부 검증 한계를 유지한다. 구현을 처음부터 재개하지 않는다.