Files
FESADev/docs/tracking/findings.md
T

7.7 KiB
Raw Blame History

미해결 문제

Hex8 표준 full8 정식화와 정적 원본의 불일치

  • 조건·현상: 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가 아니다. 미채택 변경안에 정식화 유지와 별도 reference, 또는 energy/force/Hessian 체적 변경의 영향을 구체화했다. Physics·필수 reference 판정 변경은 사용자 결정 사항이며, 다른 원본 실행과 현재 범위 검증은 원본·수치 기준을 유지한 채 계속한다.

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를 통과했다. 전체101 endpoint·공식 출력·필수 원본 비교는 남아 있으며 acceptance 기준은 유지한다.

HHT shell의 시간수렴

  • 조건·현상: 실제 shell의 두 시간수렴 사례에서 요구한 수렴 성능을 만족하지 못한 재현 기록이 남아 있다. 원본 변위 reference 통과와 함께 존재하는 실패다.
  • 영향: 변위 일치만으로 동적 가속도·관성·에너지·전체 시간 정확성을 보장할 수 없다. HHT 전체 기능 완료를 선언할 수 없다.
  • 현재 해결하지 않는 이유: 문서 재구성 범위를 벗어나는 수치 알고리즘 변경이며, 가속도 복구 후보의 정식화·독립 검증·채택 판단이 선행되어야 한다.
  • 후속 방향: 기존 물리 질량·허용 오차를 유지한 재현에서 dt refinement별 q/v/물리 a와 hidden constraint 차수를 분리하고 후보 변경의 영향을 검증한다.

Python 운영 계약 검사의 기대값 불일치

  • 추가 관찰(2026-10-10 Hex8 비교기 작업): 설정된 전체 Python 명령에 h5py dependency를 추가해 실행했으나 기존 msvc_harness·폐기된 scripts.hooks import의 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 재배포 조건과 외부 입력의 신뢰 범위는 정해져 있지 않다. 사용자가 별도 보안 정책은 없다고 확인했다.
  • 영향: 현재 로컬 실행·개인 연구 범위를 외부 서비스의 보안·설치·지원 보장으로 설명할 수 없다.
  • 현재 해결하지 않는 이유: 제품 배포 범위와 권리 검토는 아직 요청되지 않았으며 코드만으로 사용자의 배포 방식을 정할 수 없다.
  • 후속 방향: 배포를 실제 추진할 때 형식·대상·설치·검증·데이터 취급 조건을 구체화한다.