21 KiB
미해결 문제
Hex8 제공 고유치 원본과 최저10 모드 불일치
-
현재 상태(2026-10-11): 사용자가 고유치·HHT lumped mass를 승인했다. 변경본의 실제 MSVC Debug CLI와 원본 10개 Value 비교는 모두 native0/PASS이며 이 modal 불일치는 해소됐다. 새 evidence는
.dryforge/lumped-mass-adoption-20261011/references/hexa_freq/아래native.json·comparison.json이다. 전체 회귀와 다른 절차의 재검증은 별도로 진행한다. 아래 consistent 구현의 실패와 당시 미승인 상태는 과거 조사 이력이다. -
조건·재현: 체적 평균 구현
18b36c1의 실제hexa_freq.inpCLI native0 결과에 2026-10-11 제공된reference/hexa/hexa_freq.txt를 비교한다. 명령과10개 metric은 최종 비교에 있다. -
관찰: 입력·원본 hash·모드1–10·HDF5/finite/quantity/unit 사전검사 PASS이나 비교 native1, mode3/4/5/6/7/9/10의 singleton RMS/S가1%를 초과한다. Mode5는 λ=63489.09126468376 대 원본52797로20.2513234932%이며 row5%도 초과한다.
-
영향: 원본은 준비됐지만 FEM-REQ-HEX8-022–024의 필수 modal 비교 PASS와 기능 완료를 충족하지 못한다. 정적2·동적2 PASS와 내부 original-pencil 검증은 이 차이를 없애지 않는다.
-
초기 원인 분리의 한계: 제공 TXT에는 mode shape와 외부 조립 K/M·실제 element/mass formulation evidence가 없다. 고유치 차이만으로 강성·질량 중 어느 원인인지 확정할 수 없다. 승인된 consistent M·평균 trace energy·1% 기준을 원본 값에 맞춰 변경할 근거가 아니다.
-
후속 방향: 동일 입력의 원본 modal element/mass 설정과 mode shape 또는 matrix evidence를 확보해 차이를 분리한다. Physics·acceptance 변경이 필요하면 근거와 영향을 사용자에게 전달한다. 원본 수정·모드 재매칭·frequency 변환·tolerance 완화로 통과시키지 않는다.
-
후속 조사(2026-10-11): 원본 질량·요소 설정 조사에서 Abaqus 공식 문서의1차 요소 row-sum lumped mass를 확인했다. 동일 평균 trace K의 private 계산에서 consistent M은 실제 FESA λ를 상대차이4.57e-12 이내로 재현했고, lumped M은 원본10개 λ 모두 상대차이0.00196105% 이내였다. 질량 선택 차이가 불일치의 주된 원인이라는 강한 근거다. 실제 원본 operator 직접 확인은 아니며 현재 FEM-REQ-HEX8-007/HEX8-ADR-002의 consistent 계약과 필수 modal FAIL은 유지한다. 채택하려면 eigen/HHT 공통 질량 정책과 영향 검증 범위를 먼저 결정해야 한다.
Hex8 이전 표준 full8 정식화의 원본 불일치와 변경 후 검증
-
변경 후 관찰: 승인된 체적 평균 구현
18b36c1의 새 두 정적 CLI는 native0이며, 공식 비교기의 source/model/schema/point/frame/finite 사전검사와 U/RF/S 모든 행이 통과했다(native0). 실제 출력의 독립 mean energy·내력·응력·반력 ledger도 bounded physics PASS다. 비선형 free residual은 기존 static 기준 내 비영 값이며 exact equilibrium이 아니다. 상세 수치는 새 verification에 있다. 정적 불일치는 변경본에서 해결됐고 새 두 동적 원본도 각각101-frame U 비교 PASS다. 실제 원본의 독립 수치·물리 검토도 bounded PASS다. 전체787 회귀는784 PASS·기존 FAIL2·SKIP1(native8)으로 종료했고 추가170개 모두 PASS·새 예외0이다. 전체 green은 아니며, 제공된 modal Value의 수치 불일치는 위 별도 문제로 남는다. 아래 과거 실패 근거는 보존한다. -
과거 조건·현상:
e2c3c5b의 실제 CLI가 byte-identical scratch 입력hexa_linearstatic.inp에서 native exit0으로 공식 HDF5를 생성했다. 원본13개의 SHA와 scratch SHA는 보존됐다. Source step/factor1↔Increment10,442절점·300요소·IntPt1–8, 좌표·tensor·단위·finite를 독립 확인했지만 U1326/RF51/S14400의 RMS/S는 각각0.0167395197235/0.0681889252819/0.0427090341746으로 공통1%를 초과했다. 행 실패는79/34/7783개다. RF는 전체442행을 먼저 확인한 뒤 구속51성분으로 투영했다. -
당시 영향: 필수 원본 family PASS와 전체 기능 검증 완료 조건을 충족하지 못했다. CLI 성공·내부 평형·HDF5 correctness는 외부 수치 일치와 별개다. 현재 checklist는 기능 PRD에 있다.
-
당시 해결하지 못한 이유: 독립 standard full8
BᵀCB조립·solve가 당시 변위와 일치하고 같은 원본 형상·변위의 Gauss 구성식도 현재 stress/strain을 재현한다. 승인된 full8 식을 원본 값에 맞춰 조용히 바꾸거나 tolerance를 완화할 근거가 아니다. 원본 응력의 체적 성분은 요소 평균 trace로 재구성하면 크게 가까워지지만 이것만으로 private algorithm을 증명하지 않는다. -
후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 source/schema 검사와 CLI native0이나 U/RF/S family가 모두 FAIL이다. 별도 선형 체적 평균 energy의 독립 Python 후보는 unchanged 수치 기준에 일치했으며 현재 생산 구현의 PASS가 아니다. 승인된 변경 근거에 영향을 구체화했고, 사용자가 2026-10-10 B로 체적 평균 energy 도입과 전체 재검증을 승인했다. 변경본의 energy/force/Hessian·다섯 절차·필수 원본을 다시 검증한다. 원본·수치 기준을 유지하며 승인이나 private 선형 후보의 일치를 변경본 PASS로 처리하지 않는다.
Hex8 동해석의 엄격 잔차와 내부 상태 정밀도
- 조건·현상: Hex8 동적 구현
f661864에서reference/hexa/hexa_dynlinear.inp와hexa_dynnonlinear.inp를 실행하면 세 번째 증분100회 제한에서 실패했다. 이 과거 원본 physical residual 비율은1.77739e-8·8.73572e-9, 기준은1e-10이다. - 영향: 원본101개 endpoint의 필수 검증과 동해석 완료 조건을 충족하지 못했다. 현재 전체 요구와 checklist는 기능 PRD에 있다.
- 현재 해결하지 못한 이유: 실제 fresh 변위 보정의 반올림 소실을 확인했지만 제한된 단일·두 좌표 탐색과 보상 가산에서도 passing candidate를 얻지 못했다. 실패한 탐색은 Float64 해의 부재를 증명하지 않으며, 수렴 기준·원본을 변경할 근거로 쓰지 않는다.
- 후속 방향: 실패 근거를 보존하고, 전체 물리
상태의 high+low 계산과 Float64 출력의 반올림 의미를 정하는
승인된 변경안을 구현했다.
사용자가 2026-10-09 선택 A로 승인했고 소규모 상태·시간수렴·수지와 두 원본의 세 증분
관측을 검증했다. 독립 full-pair 재계산에서 원래 모든 free의 strict gate를 통과했다.
이후 frozen
c49cae4의 두 원본은101 endpoint를 모두 native0으로 완료했고,e2c3c5b의 두 공식 CLI도101 frame을 native0으로 출력했다. 원래 strict gate를 유지한 이전 pointwise 구현의 정밀도 해결 evidence이며 동적 U 외부 비교는 각각101 family 중88 FAIL이다. 체적 평균 변경본의 전체 실행과 비교는 별도로 필요하며 acceptance 기준은 유지한다.
HHT shell의 시간수렴
-
최신 상태(2026-10-13 사용자 중단): ADR-018의 C09와 공식 Release C08a7-grid는 통과했다. 진행 중이던 전체 Debug·Release C08b·원본 해석은 사용자 요청으로 종료했으며 native
-1을 수치 실패나 PASS로 분류하지 않는다. 원본99증분의 accepted 로그는 있으나 현재 HDF5/U/UR이 없어 Abaqus 변위 오차는 계산할 수 없다. 저장 구간 비교를 보존하며, hexa 완료·성능 최적화 후 전체 재검증 전까지 남은 판정은 미완료다. -
조건·현상: 실제 shell의 두 시간수렴 사례에서 요구한 수렴 성능을 만족하지 못한 재현 기록이 남아 있다. 원본 변위 reference 통과와 함께 존재하는 실패다.
-
영향: 변위 일치만으로 동적 가속도·관성·에너지·전체 시간 정확성을 보장할 수 없다. HHT 전체 기능 완료를 선언할 수 없다.
-
미해결 이유: 정확한 초기화 후에도 full-coordinate recurrence의 물리적 a 차수1 소형 반례가 존재하며 실제 shell 후보의 정식화·독립 검증·채택 판단이 필요하다. C08b의 고주파 해상도와 정확 P 보존에 대한 strict-decrease 계약 문제도 구별해야 한다.
-
후속 방향: 기존 물리 질량·허용 오차를 유지한 재현에서 dt refinement별 q/v/물리 a와 hidden constraint 차수를 분리하고 후보 변경의 영향을 검증한다.
-
후속 근거(2026-10-12): 시간 정확도·운동량 후속 검증. 소형 DAE의 독립 검산과 실제 C08b finer-grid·fixed-state P 분리를 수행했다. 같은 HHT의 carried-A private 후보는512–4096 native0이나 원 grid 정확도 FAIL과 strict P 조건은 유지한다. Production·N7·acceptance·public schema 변경은 미채택이다.
-
후속 상태(2026-10-13): HHT-ADR-014/015는 reduced shell 구현·schema v2, C08b P 판정/최종 finer grid, C08a 최종 grid/hidden1·2 판정을 승인했다. 위 미채택 문구는 승인 전 기록이다. 최신 C08b Release는 원5 grid 이후 h=1/32768·증분4에서 위치 제약 normalized 약3.54e-10으로 실패했다. 동일 좌표의 독립 검산은 analytic constraint와 조립된 내력의 불일치를 확인했고, Rodrigues coefficient의 작은 각도 미분 상쇄를 안정적인 전체 Jet 급수로 바꾼 별도 진단은 원 기준을 통과했다. 현재 production 변경본의 전체 시간 이력·N7· Debug/원본 검증은 미완료다. 수치 검토와 재현 근거를 따른다.
-
후속 좌표 표현 finding(2026-10-13): 보상 누적 C08a7 grid도 native8이다. Required 좌표 trace58개 모두 현재 high가 가장 가까운 binary64이며 양쪽 이웃도 원1e-12 기준에 실패한다. 누적 pair의 exact requested target 오차는 최대7.70e-34로, 추가 덧셈 보정만으로 원 stored-high 판정을 통과시킬 수 없다. 기능 완료·전체 N3 판정에 영향을 주며 비교 대상 분리 제안은 HHT-ADR-016으로 사용자 승인됐으며 변경본 구현·검증을 진행한다. 이전 acceptance의 실패 로그를 보존한다. Proper-Q actual 초기 재구성 실패는 canonical primitive gradient로 정정 후 초기 gate를 통과했다. 후속 C09는 첫 증분100 correction 뒤 physical moment N2 비수렴으로 실패했다. Tiny rotation에서 director increment가 full director의 반올림에 흡수되어 물리힘과 tangent가 불일치하는 bounded RED/GREEN을 확보했고, 동일한 direct increment를 force·tangent·recovery energy에 적용한 Debug 요소16개는 통과했다. 후속 actual 관성 소실을
M*a+c의 안정적 수축으로 수정한 Debug는 관성12개 및 N5가 통과했으나 C09 초기 재구성에서 실패했다. 독립8-row 감사는 plain partition 누적의 잡음을 분리했으며 초기화와 같은 compensated 수축으로 정정했다. 작은 가속도에서 Dq 관성 접선과 Ldot의 소실도 별도 해석식 재현에서 확인됐다. 원 state·N2 scale·허용오차를 유지한 coefficient-first 산술의 Debug 관성13개와 actual N5는 통과했다. 최신 Release C08a7-grid도 통과했지만 전체 검증은 미완료다. C09 초기 재구성은 통과하나 full Newton100은 잔차 기준에 실패한다. Read-only 병진 고정 진단은 두 회전/auxiliary 보정 후 원 endpoint 기준을 만족했다. 제안과 독립 검토는 부분 행렬 N2-L 검사 영역 및 N7 full-model defect 보존을 명시한다. HHT-ADR-017로 사용자 승인됐으며 production/controller 구현과 자연 trajectory 검증을 진행한다. ADR-017 변경본 actual Debug C09의 여섯 trajectory는 자연 종료했지만 global-frame covariance 비교에서 native8·113.03초로 실패했다. 원1e-10 기준을 유지하며 fixed selector의 비선형 chart 전환과 reduced HHT 이산화 영향을 조사한다. Read-only 진단은 순수 병진 비교 PASS와 유한회전 비교 FAIL을 분리했다. 같은 q/v/a의 회전된 assembly는 일치하지만 selected-coordinate 변환은 Newmark recurrence를 보존하지 않는다. 고정 null 보완공간 제안은 별도 chart/integrator 변경으로 사용자 결정 전이며 기존 기준을 완화하지 않는다. 실행 범위와 실패 기록을 따른다.
Lumped shell C08b의 새 회전 좌표 예외
- 조건·현상(2026-10-12): 승인된 nodal lumped kinetic 변경본의 전체 Debug CTest에서
C08b는
h=1/64,1/128을 완료한 뒤h=1/256에서invalid-dynamic-rotation으로 종료했다. 이전 consistent 실행의 다섯 grid 완료 후 정확도 실패와 다른 경로다. - 발견 당시 영향: 남은 세 grid와 마지막 refinement의 시간수렴·물리 기준이 미검증이었다. 원본 U 비교 PASS와 local 관성 검사의 통과로 이 예외를 대체할 수 없다. 최종 독립 diff 검토도 이를 FEM-REQ-HEX8-024의 P1 완료 blocker로 판정했다. 후속 개발 인계에 필요한 관측량과 재검증 범위를 기록했다.
- 조사 상태: 별도 Debug probe에서 증분56·Newton 반복3·t=0.21875의 node index4
회전 좌표
(0.64127523,-1.19777570,3.61620987)가 유한하지만 크기가 π보다 큼을 확인했다. 후속 독립 조사에서 반복0부터 큰 보정이 생기며, q_n 시작의 큰 관성 잔차와 moving null의 미분이 정상적인 drilling 대수 접선을 거의 상쇄함을 확인했다. 확인한 상태·방향의 history·관성 항등식·접선 차분·선형 solve는 일치했다. Gate· 좌표 clamp·허용값은 유지한다. 상세 원인·후보 evidence. - 후속 해결(2026-10-12): 사용자 요청으로 HHT-ADR-013의 두 초기 형상·자유 energy 잔차 선택을 구현했다. 관련37/37 Debug PASS와 독립 source 검토, 실제 h=1/64..1/1024 전체5 grid 완료·새65-frame runtime 회귀 PASS로 조사한 회전 예외는 재발하지 않았다. 현재 구현·검증. 원본101-frame U 재비교와 독립 kinetic/balance 대조도 완료했다.
- 남은 범위: C08b는 시간 정확도·차수와 roundoff 수준 P의 감소 기준에서 여전히 FAIL이다. 현재 C08b noise separation은 PASS이며 C08a noise INCONCLUSIVE와 구별한다. 전체802 Debug는11384.61초 뒤 native8:799 PASS·C08 정확도 FAIL2·기존 C04a SKIP1로 자연 종료했고 추가 예외0·검증 전후 source/원본/binary hash 동일성을 확인했다. Runtime 개선을 가속도 정확도 해결이나 전체 green으로 표시하지 않는다.
Python 운영 계약 검사의 기대값 불일치
- 추가 관찰(2026-10-10 Hex8 비교기 작업): 설정된 전체 Python 명령에 h5py dependency를
추가해 실행했으나 기존
msvc_harness·폐기된scripts.hooksimport의 collection5 오류로 native2·실행0개였다. 관련 comparator124/124 native0과 구분하며 전체 PASS가 아니다. 정확한 명령과 raw는 Hex8 verification에 있다. - 조건·현상:
tests/test_agent_skill_workflow_contract.py의 inventory 검사는 11개 profile을 기대하지만 현재.codex/agents에는 7개가 있다. 같은 파일은 루트 지침의 고정 단계 표를 parsing하고, 과거 phase 실행 예제를 검사한다. 현재 명시 실행기와 필요한 전문 작업만 호출하는 운영 원칙에 맞지 않는다. - 영향: 이 검사를 현행 운영의 통과 증거로 쓰거나 통과시키기 위해 삭제된 절차를 복원하면 잘못된 개발 흐름을 다시 도입한다. 루트 문서 재구성 이후에는 옛 표 위치에 의존하는 검사도 조정 대상이다.
- 현재 해결하지 않는 이유: 2026-10-04 문서 정리에서는 source 정적 대조만 했고 Python 검사를 실행하지 않았다. 이후 위 collection 문제를 실제 관찰했지만 Hex8 기능 작업에서 기존 운영 검사나 폐기된 절차를 복원하는 수정은 범위 밖이다.
- 후속 방향: 유효한 동작·권한·검증 범위를 검사하도록 기대값을 정리하고 Python suite를 별도로 실행한다. 현재 CTest의 성공으로 대체하지 않는다.
Shell 열해석의 새 필수 reference 비교 대기
- 조건·현상: 기존 INP/CSV는
reference/shell-thermal/에 보존돼 실제 비교했다. Step-1/t=37/NT11의729행 중87행 FAIL, RMS/S 약0.0496741로 공통1%를 초과했다. 승인식의 독립 oracle도 같은 불일치를 보였으며 사용자 결정에 따라 diagnostic으로 유지한다. - 영향: 구현·내부 검증과 별개로 새 필수 외부 family의 통과가 없어 열해석 기능 검증 완료를 선언할 수 없다. 원본 NT11 한 성분·시점은 flux·반력·두께 분포의 대체 검증도 아니다.
- 현재 해결하지 않는 이유: 사용자가 새 모델·CSV를 별도 경로에 준비 중이다. 문서 정리는 reference 생성·보정이나 Abaqus 실행을 포함하지 않는다.
- 후속 방향: 새 파일의 경로·source identity·시점·성분·hash를 확정하고 승인 tolerance로 실제 비교한다. 원본 diagnostic의 행·값·실패 metric과 물리 한계를 유지한다.
외부 배포 결정의 공백
- 조건·현상: 외부 사용자 배포는 장기 목표지만 배포 형태·지원 환경·dependency 재배포 조건과 외부 입력의 신뢰 범위는 정해져 있지 않다. 사용자가 별도 보안 정책은 없다고 확인했다.
- 영향: 현재 로컬 실행·개인 연구 범위를 외부 서비스의 보안·설치·지원 보장으로 설명할 수 없다.
- 현재 해결하지 않는 이유: 제품 배포 범위와 권리 검토는 아직 요청되지 않았으며 코드만으로 사용자의 배포 방식을 정할 수 없다.
- 후속 방향: 배포를 실제 추진할 때 형식·대상·설치·검증·데이터 취급 조건을 구체화한다.
기존 one-equation PARDISO 반복 호출의 간헐적 heap 실패
- 조건·현상(2026-10-14): 성능 작업에서 기존 static partial shell fixture의 free
1×1 SPD 해법을 반복 호출할 때 native
0xc0000374를 관찰했다. SpMV 없이 PARDISO factor/solve/release만 호출한 진단에서도 재현했다. 같은 입력·진단 소스를 개선 전 Release library에 연결한 기본 8-thread 실행은 62번째 호출에서 종료했다. 입력·runtime·실행 근거를 보존한다. - 영향: 새 MKL SpMV 회귀와 분리된 기존 backend 노출이지만 vendor 내부 원인은 미확정이다. 반복 검사나 실제 실행의 crash를 정상 종료 또는 검사 통과로 표시하지 않는다.
- 현재 처리와 한계: 기본 정책의 1×1 PARDISO 호출에 한해 local 1-thread를 적용하고 호출 뒤 TLS를 복원했다. 독립 검토와 관련 lifecycle·동시성·크기 전환 검사는 통과했다. 보조 반복 100회 통과가 라이브러리 전체 문제 해결을 보장하지 않으며, 호출자의 비영 TLS override와 더 큰 시스템에는 기존 정책을 유지한다.
- 후속 방향: 최종 전체 Debug 검사와 원본 결과에서 새 실패를 별도로 확인한다. 재발 시 실제 입력·phase·thread·DLL hash와 native crash 자료를 유지하여 backend를 조사한다. 원인 근거 없이 dispatch·pivot·수치 기준이나 설치 환경을 바꾸지 않는다.