Files
FESADev/docs/hht-implicit-dynamics/ADR.md
T
KOKO\Mimi eaa5cbeb21 feat: adopt lumped mass and reduced-coordinate shell HHT
Integrate Hex8 mass verification and fixed-null-basis shell dynamics with numerical and physics handoff evidence. Preserve interrupted reference and full-validation status; full integration validation is deferred until after performance optimization.
2026-10-13 16:57:19 +09:00

171 lines
27 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HHT Implicit Dynamics 결정 기록
기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028).
Feature 범위·상태는 [PRD](PRD.md), 상세 acceptance intent는 [requirements](requirements.md)를 따른다.
## HHT-ADR-001 — Requirement와 Research 작업 범위
- 상태: `accepted-for-current-task`
- 날짜: 2026-09-22
- Owner: 메인 assistant
- 승인 근거: 사용자가 HHT implicit dynamics의 requirement/research gate를 요청하고 `reference/shellNL-dyn-meshfine`을 지정했다.
- 결정: `dev` commit `23b37ca644563b51472654af3b22811f077f15f6`에서 분리한 `hht-implicit-dynamics` worktree에서 요구사항·연구 문서를 작성한다. 원본 reference와 solver source는 이번 작업에서 수정하지 않는다.
- 이유·영향: 기존 논문 재현 실험과 eigen 질량 진단의 변경을 현행 dev나 새로운 동적 물리 계약으로 오인하지 않도록 기준을 구별한다. 새로운 dynamics 구현은 이 두 gate 후의 별도 작업이다.
## HHT-ADR-002 — Reference 입력과 비교 정책 보존
- 상태: `accepted-existing-contract`
- Owner: 메인 assistant
- 승인 근거: 사용자 지정 reference 및 프로젝트 AGENTS/TOLERANCE.
- 결정: 원본 `NLGEOM=YES`, `DIRECT`, 시간증분 `0.1`, 종료시간 `10`을 보존하고 101 frames / 9 nodes 전체 U/UR 이력을 대상으로 한다. U blocking, UR warning-only와 공통 frame별 수치 정책을 적용한다. Eigen 첫 구현의 RMS 5% 예외는 적용하지 않는다.
- 이유·영향: 동적 이력의 일부만 선택하거나 reference를 변경하여 일치를 만드는 것을 방지한다. CSV가 제공하지 않는 속도·가속도·반력·에너지에는 독립 검증 evidence가 필요하다. 최종 family/schema/mapping은 후속 owner가 정의한다.
## HHT-ADR-003 — 물리·입출력 결정의 경계
- 상태: `partially-resolved`; 질량 종류는 HHT-ADR-007로 확정, 나머지는 PRD의 현재 상태 참조.
- Owner: 메인 assistant; 근거는 Research, 정식화는 Formulation, 독립 판단은 Numerical Review.
- 결정 대상: `requirements.md`의 `HHT-OPEN-001–006`.
- 이유: 현재 dev의 small-rotation mass kernel과 nonlinear internal-force evaluator만으로 비선형 동적 관성의 일관성이 성립하지 않는다. HHT의 coefficient convention, 초기 가속도와 load onset, drilling 영질량 처리, 회전 운동학 및 공식 동적 출력 의미가 함께 연결되어야 한다.
- 영향: 이번 gate에서 연구 후보식을 implementation contract로 승인하지 않는다. 공개 문헌으로 확인 가능한 입력 기본값은 근거를 기록하여 해소하되, 질량·관성의 물리 범위 및 영속 결과 schema는 후속 검토와 필요한 사용자 결정을 거친다. 비교 결과에 맞춘 parameter/mass 조정은 결정 근거로 사용하지 않는다.
## HHT-ADR-004 — 확인된 공개 입력 기본값
- 상태: `researched-input-interpretation`; FESA 정식화·전체 입력 지원 승인과 구별.
- 날짜: 2026-09-22
- Owner: 메인 assistant; 근거 수집은 research-agent.
- 근거: [Research §3 및 S4–S7](research.md#research)의 공식 Abaqus 2025 공개 문서와 원본 INP 대조.
- 해석: 무접촉 기본 application은 TRANSIENT FIDELITY/HHT-TF이고 `alpha=-0.05`, `beta=0.275625`, `gamma=0.55`다. 명시 amplitude가 없는 집중하중은 STEP이며 첫 증분부터 전체 크기다. DIRECT는 이 모델에서 고정 시간간격이고, 기본 INITIAL 의미는 초기 가속도 계산이다.
- 영향: 이 공개 의미는 CSV fitting으로 정하지 않으며 기본값을 정하기 위한 반복 사용자 질문도 필요하지 않다. FESA 최초 old-force history, `t0-/t0+`와 frame 0, mass-null 초기화는 명시적으로 정식화해야 한다. 공개 의미만으로 reference를 생성한 solver의 내부 초기화·관성 알고리즘을 확인했다고 주장하지 않는다.
## HHT-ADR-005 — Formulation 작업과 독립 검토
- 상태: `accepted-for-current-task`
- Owner: 메인 assistant
- 승인 근거: 사용자의 후속 formulation gate 진행 요청 및 프로젝트의 수식 변경 독립 검토 원칙.
- 결정: 기존 Feature worktree에서 시간적분·관성·초기화·잔차·접선·회복량을 정식화하고 독립 검토한다. 유한회전과 drilling 영질량의 영향을 검산하며 질량 종류 등 물리 선택은 명시적인 제안으로 제시한다.
- 영향: 기존 requirement/research 산출물은 해당 작업 시점의 기록으로 유지한다. 독립 수식 검산은 허용하지만 solver 구현·reference 수정·Abaqus 실행·영속 schema 확정은 포함하지 않는다.
## HHT-ADR-006 — 물리적 가속도와 보조 가속도를 분리하는 HHT 후보
- 상태: `recommended-after-formulation-review`; 물리·구현 범위의 사용자 승인과 구별.
- Owner: 메인 assistant; 수식 owner는 formulation-agent, 독립 검토는 numerical-review-agent.
- 근거: [정식화](formulation.md), [관성 상세](formulation-inertia.md), [독립 검토](numerical-review.md#numerical-review), [Brüls–Arnold (2008) 원문 식 (5)–(8)](https://orbi.uliege.be/bitstream/2268/27088/1/pa_BrulsArnold2008_TheGeneralizedAlphaSchemeAsALinearMultistepIntegrator.pdf).
- 추천: `a`는 물리적 좌표 가속도, `A`는 Newmark에 쓰는 보조량으로 정의하고 `A_(n+1)=(1+alpha)a_(n+1)-alpha a_n`와 endpoint 동적 평형을 함께 푼다. `M(q)` 및 convective inertia의 정확한 미분을 접선에 포함한다.
- 이유: 단순 current-mass 대입은 variable-mass 제조해에서 1차로 떨어졌다. 두 시점 질량의 가중은 회전하는 질량 영공간을 소실시킬 수 있다. 추천 후보는 제한된 variable-mass 및 moving-null 사례에서 2차 수렴을 보이고 일정 질량 HHT로 환원한다.
- 영향: `A`를 physical acceleration으로 출력하지 않는다. 초기화는 전값 STEP force의 `0+` 동적 평형과 대수 일관성을 함께 만족하도록 제안한다. 원문 nonsingular-mass 수렴 결과를 실제 shell의 drilling DAE에 자동 적용하지 않으며 구현 후 별도 시간 수렴·관성·반력·에너지 검증이 필요하다.
## HHT-ADR-007 — HHT 일관질량 선택
- 대체 이력: 2026-10-11 [HHT-ADR-012](#hht-adr-012--고유치hht-lumped-mass-채택)이 질량 선택을 대체했다. 아래는 당시 승인 기록이다.
- 상태: `accepted-user-decision`
- Owner: 메인 assistant; 수학 정의는 formulation-agent.
- 승인 근거: 사용자가 질량 선택 질문에 “일관질량 (추천): shell 속도 보간의 운동에너지를 그대로 적분”을 선택했다.
- 결정: [관성 상세 §2](formulation-inertia.md)의 **consistent kinetic mass**를 HHT 기본 및 이번 구현 범위로 사용한다. Scalar-moment nodal lumped 후보는 비교 연구로 보존하며 이번 HHT 지원 요구에서 제외한다.
- 이유: Consistent는 선택한 shell 속도 보간의 운동에너지를 그대로 적분한다. Lumped는 총질량과 scalar thickness moment를 유지하지만 일반 속도장·orbital inertia의 운동에너지가 달라진다. 이전 eigen reference와의 근접성은 채택 근거로 쓰지 않는다.
- 영향: 선택한 유한회전 운동학에서 관성력·접선을 계산하며 drilling에 임의 질량을 주지 않는다. 기존 정적·eigen mass 계약과 thesis 실험 branch에는 영향을 주지 않는다. 이 결정만으로 다른 HHT 후보식·공개 parameter·영속 결과 schema까지 승인되었다고 확대하지 않는다.
## HHT-ADR-008 — Numerical Review와 추가 수치 연구
- 상태: `accepted-for-current-task`; 수치 검증 설계와 실제 solver 통과를 구별.
- Owner: 메인 assistant; 독립 수치 기준·검증 설계는 numerical-review-agent, 추가 근거는 research-agent.
- 승인 근거: 사용자의 “numerical research 단계도 진행하세요” 요청과 프로젝트의 독립 수치 검토 원칙.
- 결정: [수치 기준](numerical-controls.md), [검증 사례](verification-cases.md), [추가 연구](research.md#numerical-research), [reference 비교 계약](reference-model.md)을 작성한다. User-selected consistent mass에 대해 Newton·초기 대수조건·질량 영공간·conditioning·관성 접선·시간수렴의 반증 가능한 기준을 정의한다.
- 이유·영향: 외부 reference 공통 tolerance를 유지하면서 내부 계산 정확도와 별도의 물리 coverage를 검증한다. 제한된 수식 probe의 실행 결과를 전체 shell·구현·reference 검증으로 승계하지 않는다. I/O field binding과 실제 구현·build/test·reference 비교는 후속 작업이다.
## HHT-ADR-009 — I/O·구현·Physics Evaluation 수행
- 대체 이력: 질량 선택 부분은 2026-10-11 HHT-ADR-012로 대체되며 나머지 승인 범위는 유지한다.
- 상태: `accepted-for-implementation`; 검증 결과의 통과와 구별.
- Owner: 메인 assistant; I/O 정의·구현·독립 physics review는 각 할당 담당자.
- 승인 근거: 사용자의 “I/O definition, implementation, physics evaluation gate 모두 진행하세요” 및 후속 “깃에 커밋 하면서 진행하세요”.
- 결정: HHT-ADR-006의 검토된 physical a/auxiliary A 분리, 0+ full STEP 초기화, HHT-ADR-007의 consistent mass를 실제 구현 대상으로 채택한다. 공개 입력은 [I/O 계약](io-contract.md)의 단일 NLGEOM shell DIRECT·기본 계수·zero 초기조건/고정 BC·constant force CLOAD subset이다. 별도 dynamic state와 dynamic-only HDF5 schema v1을 추가하고 기존 static/eigen 계약은 보존한다.
- 영향: [구현 계획](README.md#재사용-handoff)에 따라 MSVC Debug build/CTest, 독립 수치·물리 검증과 지정 원본 reference 비교를 수행한다. 확인된 문서·검증된 구현 묶음을 현 branch에서 순차 커밋한다. 외부 solver 실행·reference 보정·push/release는 포함하지 않는다. 실패·미실행 검증을 통과로 표시하지 않는다.
## HHT-ADR-010 — Newton 시작 형상과 영변형 산술
- 대체 이력: 2026-10-12 [HHT-ADR-013](#hht-adr-013--두-초기-형상의-newton-시작-선택)이 q_n 단독 시작 정책을 대체했다. 영변형 산술 수정과 당시 검증 기록은 유지한다.
- 상태: `accepted-implementation-detail`; reference 통과를 의미하지 않는다.
- Owner: 메인 assistant; 독립 수치 검토는 numerical-review-agent.
- 근거: 승인된 전체 구현 범위 안의 수치 시작값 선택. `.harness/build/hht-numerical/zero-trial-red.log`와 original reference 실행에서 먼저 실패를 재현했다.
- 결정: 모든 increment의 Newton 초기 좌표를 `q_n`으로 둔다. Constant-A 외삽은 지정 DIRECT h=.1에서 최초 trial geometry를 무효화했으므로 N2의 시작값을 명시적으로 갱신한다. HHT predictor/rate/접선, alpha/beta/gamma, 고정 dt, Newton100 및 모든 tolerance는 유지한다. 유효한 시작점에서 나온 correction도 chart/geometry 밖이면 즉시 실패하며 retry·clamp·cutback은 없다.
- 추가 수정: 초기 형상에서 차감한 큰 covariant metric 대신 `delta g`로 Green strain과 `F=I+delta g⊗Gdual`을 계산한다. 수학적으로 같은 식이며 영변형에서 생긴 artificial drilling force를 제거한다. 강성·정적 결과 영향은 기존 regression으로 확인한다.
- 검증: decimal 좌표 영변형 exact-zero 회귀, finite/warped scalar drilling constraint·gradient·Hessian, 작은각 D3 threshold 검사가 통과했다. 상세 실행/물리 acceptance는 최종 implementation evidence에서 구분한다.
## HHT-ADR-011 — 정확도 요구를 유지한 가속도 복구 후보 검토
- 상태: `accepted-for-formulation-and-verification`; 후보 채택과 production/schema 변경은 미승인.
- Owner: 메인 assistant; formulation-agent 정식화, numerical-review-agent 독립 검토.
- 승인 근거: 2026-09-26 사용자가 “정확도 요구 유지: 제약조건에 맞는 가속도 복구를 별도로 정식화·검증한 뒤 채택 여부 결정”을 선택했다.
- 결정: 기존 C08/N7 정확도 요구와 실패 기록을 유지한다. 적분 history의 `a_h`와 별도 제약 가속도 `a_rec=a_h+N*eta`를 구분하는 후보를 정식화하고 독립 검증한다. `a_rec`를 다음 증분 history에 조용히 대입하지 않는다.
- 근거: [독립 구현 검토 NR-009–010](implementation-numerical-review.md)의 Decimal80 반례와 실제 C08 실패. 초기 `A0`만 수정하는 방법은 일반적인 전체 시간 가속도 2차 정확도를 회복하지 못한다.
- 영향: 현 공개 출력 의미·영속 schema·지원 범위·허용값은 유지한다. 후보의 hidden2 만족만으로 실제 shell의 2차 정확도를 주장하지 않는다. C08b 회전 좌표/속도 차이와 physical acceleration 오차는 별도로 해결해야 하며 채택은 검증 결과를 제시한 뒤 결정한다.
## HHT-ADR-012 — 고유치·HHT lumped mass 채택
- 상태: `accepted-user-decision`; 변경본 검증 완료와 구별.
- 승인: 2026-10-11 사용자 “앞으로 고유치 해석과 HHT 동해석에서 질량 행렬은 lumped mass로 계산”.
- 결정: 기존 MITC4 eigen의 nodal block lumped 질량은 유지한다. HHT는 `rho*N_i*dV0`의 nodal kinetic measure로 M, I, c, DqI, DvI, T, P, L 및 rates를 함께 계산한다. Scalar diagonal 치환이나 finite-rotation global matrix의 단순 row sum이 아니다.
- 보존: 기준/현재 geometry 검사, 3×3×3 mass 적분, 회전 chart와 moving drilling null·실제 free null intersection, physical20 positivity 및 정확한 관성 미분을 유지한다. HHT 계수·physical a/auxiliary A·초기화·schedule·tolerance·field/shape/dtype/schema layout은 유지한다. Metadata는 `nodal-lumped-kinetic`이다.
- 대체: HHT-ADR-007 및 HHT-ADR-009의 consistent mass 선택 부분을 대체한다. 기존 consistent 연구·검증은 역사적 evidence로 보존하고 변경본 통과로 승계하지 않는다.
- 검증: 독립 nodal oracle·eigen 초기 M 대조·warped moment·Jensen·관성 partial/접선·momentum/power·C08·원본 비교와 전체 Debug 회귀를 새로 실행한다. 기존 C08 실패와 정확도 요구는 유지한다. 진행 상태는 [PRD](PRD.md)의 현재 checklist만 따른다.
## HHT-ADR-013 — 두 초기 형상의 Newton 시작 선택
- 상태: `accepted-user-task-implementation`; 실행·정확도 판정과 구별.
- 날짜·승인 근거: 2026-10-12 사용자 “newton 회전 실패를 피하기 위한 방법을 적용하세요”.
- 근거: [실패 조사](newton-rotation-investigation.md)에서 q_n 시작의 off-root 관성 잔차와 moving-null 미분의 상쇄를 확인했다. q_p 단독 시작은 기존 큰 DIRECT 증분에서 geometry가 유효해도 초기 잔차가 약 `4.60e19`여서 후속 Newton geometry 실패를 만들었다.
- 결정: frozen HHT predictor와 old physical a를 유지한 채 q_p와 q_n의 rates·원래 endpoint E/Keff를 평가한다. 둘 다 유효하면 같은 초기 ell의 자유 `||D^T E||inf`가 작은 전역 좌표 벡터를 선택하고 exact tie는 q_p다. q_p=q_n이면 중복 평가를 생략한다. 최초 q_p의 genuine geometry/director/principal-chart 실패만 q_n 선택을 허용하며 rate·질량·recovery·접선·기타 산술 실패와 비교 norm overflow는 실패다. q_n 평가 실패도 전달한다.
- 경계: dynamic-rotation 진단은 실제 source 순서의 첫 실패 절점에서 chart 조건을 확인한다. 다른 절점의 chart 위반으로 먼저 발생한 rate overflow를 숨기지 않는다. 유효 geometry에서 발생한 nonfinite strain/stress는 기존 recovery 진단으로 분리한다.
- 보존: 선택한 assembly를 iteration0에서 사용한다. 이후 full Newton correction·100회 제한·모든 수용 gate·고정 DIRECT dt·계수·kinetic mass·physical a/auxiliary A·history·commit/rollback·결과 schema와 reference/tolerance는 그대로다. Newton 보정 후 retry·line search·clamp·cutback·rechart를 추가하지 않는다.
- 영향: HHT-ADR-010의 q_n 단독 시작 부분을 대체한다. 작은 초기 잔차가 모든 모델의 수렴을 보장하지 않으며 C08/N7 시간 정확도를 해결했다는 결정이 아니다. 일반화한 명시적 drilling 잔차 Newton 후보는 채택하지 않는다. [방법·검증 기록](newton-start-policy.md), 현재 상태는 [PRD](PRD.md)를 따른다.
## HHT-ADR-014 — 시간수렴 수정과 reduced-coordinate 구현
- 상태: `accepted-for-implementation`; 실제 구현·검증 통과와 구별한다.
- 날짜·승인: 2026-10-12 사용자가 [후속 검증 보고서](temporal-remediation.md)의 세 변경안에 “승인합니다”라고 답했다.
- 결정1: Flat centered all-free C08b의 P에는 기존 absolute bound `<=1e-3`와 원 balance/update consistency를 유지하고 strict temporal-decrease 조건을 제거한다. E/L의 기존 감소·bound는 유지한다. 정확한 원 HHT branch가 모든 h에서 P를 보존하여 strict 감소가 `0<0`을 요구한다는 독립 검토를 근거로 한다. P를 P0로 덮어쓰거나 drift를 clamp하지 않는다.
- 결정2: 기존64–1024 grid 결과를 보존하고32768/65536/131072를 C08b 최종 수렴 판정에 추가한다. Final q/v/physical-a self-difference bound `<=1e-4`, 마지막 두 차수 `>=1.8`와 N7 noise separation은 유지한다. 실제 finer 실행 성공을 보장하는 결정이 아니다.
- 결정3: C08a 해결을 위해 reduced-coordinate HHT를 실제 shell에서 구현·검증한다. Chain-rule physical q/v/a, 정확한 초기 full state, 원 endpoint residual/hidden conditions를 유지한다. Public full A는 diagnostic full-chart filter combination으로 명시하고 shell dynamic 결과를 schema v2 및 formulation metadata로 구분한다. Private reduced history를 public A와 혼용하지 않는다. Solid HHT/static/eigen schema는 보존한다.
- 구현 경계: Fixed embedding regularity·positive reduced mass·actual free/null intersection을 검사한다. 검증되지 않은 chart/history 전환·nonzero BC 확대·임의 drilling mass·FD production tangent·silent projection은 도입하지 않는다. Carried-A 산술 후보는 같은 full-coordinate recurrence의 개선으로 별도 검증하며 legacy q-inverse N7 estimator를 새 map의 인증으로 승계하지 않는다.
- 대체: HHT-ADR-011의 “production/schema 변경 미승인” 경계를 위 승인 범위에 한해 대체한다. 기존 실패·수식 반례·schema v1 evidence는 보존한다. 구현 후 관련 검사·독립 수치/물리 검토·전체 configured Debug/CTest·필수 원본 비교가 필요하다.
## HHT-ADR-015 — C08a 최종 refinement와 hidden rate 판정
- 상태: `accepted-user-decision`; 변경본 검증 통과와 구별한다.
- 날짜·승인: 2026-10-13 사용자가 [두 변경 제안](c08a-refinement-proposal.md)에 “승인합니다. dryforge 계획에 따라서 남은 단계를 진행하세요”라고 답했다.
- 결정1: 원 16/32/64/128/256 grid와 실패 evidence를 보존하고 512/1024를 최종 grid로 추가한다. 전체 시점 최대 q/v/physical-a 오차의 finest bound `<=1e-4`, 마지막 두 refinement 차수 `>=1.8`, 최종 세 grid의 N7 factor100 separation을 유지한다. 초기 frame이나 transient를 제외하지 않는다.
- 결정2: C08a hidden1/2의 strict temporal decrease만 각 frame의 `|ψk_i|/Sk_i <=1e-10` 판정으로 대체한다. 원래 단위와 uncancelled scale을 유지하고 scale0은 raw defect exact0을 요구한다. Raw defect와 scale을 기록하며 floor·clamp·projection을 추가하지 않는다. 실제 물리 시간수렴과 N7은 별도로 통과해야 한다.
- 영향: C08b 및 다른 N1–N7 계약·물성·forcing·정확한 초기 state·HHT 계수는 유지한다. 이전 scratch finer 결과를 공식 PASS로 승계하지 않고 변경본을 재실행한다. 현재 상태는 [PRD](PRD.md), 상세 계약은 [검증 사례](verification-cases.md)를 따른다.
## HHT-ADR-016 — Reduced 좌표 증분 산술과 저장 표현의 분리
- 상태: `accepted-for-implementation`; 실제 검증 통과와 구별한다.
- 날짜·승인: 2026-10-13 사용자가 [구체적인 N3 변경 제안](c08-n3-coordinate-representation-proposal.md)에 “승인합니다”라고 답했다.
- 근거: 공식 C08a의58개 requested trace 실패 모두 가장 가까운 binary64 좌표와 양쪽 이웃에서도 기존 high-only 기준을 만족할 수 없었다. 실제 candidate pair와 요청 target의 정확한 차이는 최대7.70e-34였다. 기존 FAIL 로그를 보존한다.
- 결정: Reduced private p의 whole/requested 두 증분 검사에서 실제 `(p_high+p_low)-old_accepted_high`를 EFT expansion으로 비교한다. 원래 uncancelled scale·`1e-12`·finite-first·scale0 exact-zero 판정을 유지한다. 이전 accepted low를 숨겨 history에 더하지 않는다.
- 저장 계약: Public/model의 high가 실제 pair의 round-to-nearest/ties-to-even 결과인지 별도로 검사한다. Raw high-only 증분 오차와 표현 거리를 진단으로 보존한다. 임의 ULP floor·추가 허용량·nextafter/clamp·projection을 도입하지 않는다.
- 보존: Absolute update·full physical residual·hidden constraints·CA whole-history radius·N2/N4/N7·시간 차수와 factor100·schema·원본 reference 및 외부 tolerance는 유지한다. Production/controller와 산술 회귀를 함께 갱신하고 변경본 C08·원본 비교·전체 configured Debug를 재검증한다. 현재 상태는 [PRD](PRD.md)를 따른다.
## HHT-ADR-017 — 병진 기준 만족 후 회전·보조변수 제한 Newton
- 상태: `accepted-for-implementation`; 실제 구현·검증 통과와 구별한다.
- 날짜·승인: 2026-10-13 사용자가 [구현 제안](c09-channel-newton-proposal.md)에 “승인합니다”라고 답했다. [독립 검토](numerical-review-channel-newton.md)는 제안의 N2-L 영역과 N7 대응을 명시했다.
- 근거: C09 full Newton100의 병진 잔차는 통과하지만 회전 잔차는 실패했다. 최종 병진 상태를 유지한 read-only 회전·보조변수 진단은 두 보정 후 원 full endpoint 기준을 만족했다. 이는 저장 가능한 해의 존재증거이며 자연 trajectory의 수렴 증거는 아니다.
- 결정: 비어 있지 않은 병진 U의 원 residual 및 실제 마지막 mapped q/v/a/public A·관련 private Ar correction 검사가 모두 통과하고 phi residual이 실패한 경우만 제한 solve를 허용한다. 원 scaled augmented K의 U를 제외한 J에는 angular p와 모든 auxiliary unknown/hidden row를 포함한다. 실제 K[J,J] 보정의 U 성분은0이며 translation p high/low/Ar/vp/ap는 bitwise 유지하고 inherited CA radius도 유지한다.
- N2-L 변경: 제한 step의 backward-error 검사 영역은 실제 K[J,J]다. 기존 all-free 선형계 검사와 같지 않으며 threshold 1e-12는 유지한다. 모든 후보의 원 full endpoint N2/N3/N4·hidden·regularity 검사는 계속 요구한다.
- 해제·실패: U 기준을 벗어나면 다음 solve를 full로 선택한다. Retry·candidate 되돌림·예산 환급은 없고 실제 보정 합계100회 및101번째 solve 금지를 유지한다. 제한 행렬 singularity/nonfinite/backward 실패는 즉시 원 실패 절차로 처리한다. 다음 증분은 full 시작이며 mode는 영속 schema나 accepted physics에 저장하지 않는다.
- N7: Restricted-last는 actual correction, restricted linear defect 해, 같은 trial의 full-model linear defect 해(제외 U 행 포함), fresh accepted full residual/hidden defect 해의 mapped norm 네 항을 합산한다. Full-last는 기존 세 항이다. 각 항의 q/v/a/private Ar/public A mapping·CA·factor100과 FAIL/INCONCLUSIVE 기준을 유지하며 full-model defect solve 실패를 통과로 처리하지 않는다.
- 영향: HHT-ADR-013의 이후 full Newton-only 정책을 위 조건에 한해 대체한다. Physics·초기 state·계수·질량·BC·schema·reference·외부 tolerance는 유지한다. Production/C08 controller의 같은 의미 구현, trigger/thaw·combined100·rollback·omitted-U defect 회귀와 자연 C09/C08·전체 Debug·원본 비교가 필요하다. 현재 진행 상태는 [PRD](PRD.md)를 따른다.
## HHT-ADR-018 — 초기 analytic null 직교 보완공간의 고정 basis
- 상태: `accepted-for-implementation`; 구현·검증 완료와 구별한다.
- 날짜·승인: 2026-10-13 사용자 “제안된 내용을 승인합니다”로 [고정 null 보완공간 제안](fixed-null-basis-proposal.md)을 승인했다. [실제 C09 진단](channel-newton-covariance-diagnostic.md)과 [독립 검토](numerical-review-channel-newton.md)를 근거로 한다.
- 결정: Null이 있고 회전 세 성분이 모두 자유인 절점은 원 frame0의 analytic drilling null을 normalize한 n0와 그 직교평면의 stable orthonormal t1/t2를 사용한다. 최소 absolute component Cartesian axis를 투영하여 basis를 구성하고 시간 동안 고정한다. `phi=t1*p1+t2*p2+n0*z`의 constant sparse injection을 모든 graph/rate/augmented assembly 및 correction map에 사용한다.
- 부분구속: 실제 free/null intersection은 유지한다. 회전 일부 성분이 구속된 절점은 기존 component chart를 유지하는 혼합 정책이다. Global BC를 local basis flag로 옮기지 않으며 지원 범위를 확대하지 않는다.
- 수치 계약: 원 full frame0 q/v/a/A 및 state는 projection하지 않는다. Initial basis projection·roundtrip·N3 pair/RN-even·global reconstruction·CA 실제 product/sum을 검증한다. G regularity와 current-null/fixed-basis transversality는 별개로 검사하며 기존 fail-closed 기준을 유지한다. Private channel/full support metadata를 구분하고 basis index를 fullDOF 번호로 쓰지 않는다. [상세 수식](formulation-fixed-null-basis.md)은 실제 augmented row/unknown scaling과 물리 역변환, 원 private consistency와 추가 basis-lift 검사, 저장된 null 입력의 basis 구성 radius 범위를 명시한다.
- 보존: HHT-ADR-017의 restricted/full solve·copy/thaw·combined100 및 N7 3/4항을 유지한다. Continuous physics·원 full endpoint 기준·hidden/N4·시간 차수/factor100·HHT 계수·lumped measure·BC·schema·원본 reference·외부 tolerance는 변경하지 않는다.
- 영향: HHT-ADR-014의 global component selector를 위 all-free rotational subset에서 대체하므로 discrete trajectory는 달라질 수 있다. Exact arithmetic에서는 proper-Q의 retained-plane 변환이 constant O(2)이며 nonlinear reparameterization defect를 제거한다. 실제 tolerance/rounding·partial-BC subset의 일반 covariance까지 자동 보장하지 않는다.
- 검증: 구현 상세 수식과 독립 검토 후 initial-state·basis/null/Gram·부분구속·N3/CA/N7·실제 warped/shared/nonzero-C1 N5·C09 모든 이력/좌표변환/결정론·공식 C08a7/C08b8 grid·구성된 전체 Debug 및 원본101-frame 비교를 새 identity에서 수행한다. 기존 C09 FAIL과 과거 PASS의 scope를 보존하고 현재 checklist는 [PRD](PRD.md)를 따른다.