# 필수 검증 사례와 요구사항 연결 - Feature ID: `mitc4-shell-feast-eigen2`; Owner: `numerical-review-agent`; revision `r1`. - 기본 보고서: [numerical-review](numerical-review.md); 판정 수치: [controls](numerical-review-controls.md). - 아래는 후속 구현의 필수 관찰이다. 이번에 실제 실행한 수학 oracle는 [evidence](numerical-review-evidence.md)뿐이다. [이전 case C01–C24](../mitc4-shell-feast-eigen/numerical-review-cases.md)의 synthetic fixture와 독립 oracle를 읽고 새 formulation에 대조해 아래에 채택한다. 숫자·fixture 상세는 그 문서를 참조하되 **이 문서의 새 controls와 아래 예외가 우선**한다. 기존 requirement prefix, RED 고정 순서·phase/release 절차·test 이름/개수·이전 pass는 채택하지 않는다. Old C25–C27의 실행·portfolio 지시는 아래 새 정의로 대체한다. | 새 Case ID | 필수 입력·관찰과 반증 기준 | | --- | --- | | E2-C01 | Affine rectangle 4×2, rho3,t1/2: independent C0 matrix, C1=0,C2=t²C0/12, nodal m3,j1/16; full24/physical20, energy·rank·drill null | | E2-C02 | 이번 rational warped director fixture의 모든 Ck/rows/first moment를 독립 적분. C1 강제0, 2-point mass, flat C2 비례식 mutation 검출. Custom director는 kernel-level이며 새 input 기능 아님 | | E2-C03 | Consistent 원본 snapshot→row sum→block 연결, C1/C2 perturbation 전파; 직접 nodal energy 및 Jensen pairwise integral. 각 mass의 energy를 따로 검증 | | E2-C04 | Square [-1,1]², rho=t1, m=1,2,4 mesh, velocity(x,0,0): consistent work4/3, lumping 차8/(3m²), uniform translation work4. 일반 spectrum 수렴차수 약속 아님 | | E2-C05 | Proper rational Q 및 shift(7,-3,5), geometry/director/frame부터 두 mass 재계산; d=(1,1,1)/sqrt3의 full row-sum 실패 mutation | | E2-C06 | 공유 node·상이 rho/t/material sections, source labels/order 변화, sequential/parallel의 stable contribution/reduction 및 정확한 scatter | | E2-C07 | Density missing/duplicate/unresolved/nonpositive/nonfinite/dependent, invalid thickness/material/geometry/27점 평가 실패. Density 없는 static 허용 | | E2-C08 | NR-MFE-001의 원/회전 geometry부터 complete K/ML 새 계산: kd19/4800,Mff3/50,Kff10369/7500,lambda10369/450. Node1 URZ만 free; min-diagonal mutation은 실패 | | E2-C09 | 같은 partial BC와 admissible moment(5/3)b, thetaZ7500/10369; 회전 load와 full Kq-F reaction covariance. Pure eZ moment로 대체 금지 | | E2-C10 | Rotary inventory[0,0,2,4,0,6,0,4]→kd.002; independent tangent changes. Allzero/negative/nonfinite/overflow/underflow 실패; zero 포함 분모8 | | E2-C11 | Free affine element physical K20 rank14, complete K24 rank18/nullity6, consistent physical mass rank20와 lumped rank5/node. 여섯 rigid fields·positive mass Gram·drill null 분리 | | E2-C12 | 기존 nonlinear fixture의 frozen initial kd, exact unchanged trial/commit/rollback; objective gamma potential의 1·2차 variation, finite rigid motion, physical 선형극한·recovery 제외 | | E2-C13 | d축정렬/기울임, full/partial/all-fixed rotations와 drill-only free를 지원 global component BC로 구성. Expected null은 constrained director exact-zero 교집합, tiny nonzero 보존. Global n0/N>n 실패 | | E2-C14 | d=(2p/(1+p²),0,(1-p²)/(1+p²)), m=j1,h0, URX fixed. p=1/2000와1e-8 모두 analytic rank5; 두 번째 conditioning failure, p0만 exact null1. Rank cutoff mutation 검출 | | E2-C15 | K[[6,2],[2,4]],Mdiag(2,0)의 lambda5/2,z=-p/2; 단순 삭제3을 거부. Production shell에 Kpz/nonpositiveKzz 위반 주입 후 실패, general dense fallback 추가 안 함 | | E2-C16 | M[[2,1],[1,2]],K[[6,4],[4,6]]→lambda2,10/3. Whitening/복원/original M normalization; wrong lambda/mass/vector/constraint mutation 검출 | | E2-C17 | 실제 FEAST: n1 lambda2; [0,0,0,2,5,9] N1/4/6; [1,2,4,8] N1/2/4; n4 allzero N1/4. Production bound search로 lowest N·zero·N=n 확인 | | E2-C18 | 실제 FEAST n64의 첫40개 lambda1, 나머지2..25, N1/41; [1,1+2^-28,1+2^-27,8] N2와 고정 Givens dense congruence. Repeated group>N, c 전체 Gram, distinct cluster merge 금지 | | E2-C19 | [-2,0,3],[-1e-12,0,1] raw negative 및 정확한 ±tau_zero 경계. Significant negative 실패, nearzero 분류/raw 보존, 양수화/삭제 금지 | | E2-C20 | rho×4→M×4,lambda/4,normalized amplitude1/2; 길이×1024,rho/1024³,E/1024,t×1024의 단위변환 lambda 불변. Same physical BC와 baseline s 사용 | | E2-C21 | Count info1은 certified empty 아님. Optional failed/unknown prefix는 certified enclosure로 fallback, successful nonmonotone count는 실패. Final count/solve mismatch와 invalid/SPD/inner-solver/nonfinite/Gram/residual 등 status 주입은 C5의 retry/즉시실패 분류대로 검사 | | E2-C22 | 실제 endpoint/cluster probes 및 mock count512/solve3/초기count3 한계, budget 직전 fallback·예약 불충분 실패. n²/nm0/nnz+1/index/byte overflow·allocation 실패. a0 below spectrum은 독립 bound로 검증; empty count 성공을 필수로 기대하지 않음 | | E2-C23 | 원본 single Step-2/N10/density/blank bounds/normalization, source Lanczos/SIM/acoustic-free 의미; unsupported preload/acoustic/mixed/damping/비영 BC 등의 silent no-op 금지. I/O allowlist로 구체화 | | E2-C24 | Source renumbering, HDF5 self-check와 final normalized modes/used mass/backend/count evidence; solve/validation/write/close/replace failure의 기존 state/final 보존. 정확한 layout은 I/O | | E2-C25 | [Reference model](reference-model.md)의 원본 Value 10개, per-modal-frame singleton families·identity/finite 전검사·inclusive row/RMS/nearzero/zero scale; reordered rows/동일값 distinct IDs 허용, missing/extra/duplicate 거부 | | E2-C26 | Retained shell/shellNL/linear-limit fresh solve·기존 U blocking/UR warning·reaction review-only, density-free static, partial-BC response, Newton tangent/objectivity/force/moment/free residual/energy/rollback·pressure synthetic·기타 기존 회귀 | | E2-C27 | 향후 구현 시 구성 MSVC x64 Debug 전체 CMake/CTest와 actual FEAST/필수 reference를 한 번 연결. Source identity로 등록/선택/실행/제외를 구분하고 관련 없는 회귀 보존. 고정 과거 test 수 또는 중복 manual/automatic 실행 요구 없음 | E2-C17/18/22는 mock만으로 충족하지 않는다. E2-C21의 실패 주입은 actual FEAST를 바꾸는 행위가 아니라 adapter 경계 테스트다. Expected eigenvalues로 production bounds를 설정하거나 동일 production 함수를 oracle로 호출하지 않는다. Actual FEAST의 G01/G02 installed probes에는 occupied/empty/endpoint count 반환·flag reset·full m0=n/zero matrix· workspace/ABI/thread 복원이 포함된다. 아직 **NOT RUN**이다. E2-C26은 excluded original/copied/cached examples를 절대로 사용하지 않는다. 제외된 혼합 시험에 있던 retained shellNL force/moment balance·free force/moment residual 네 관찰, nonzero constrained resultant 및 shell/linear-limit 원본 보존 관찰은 retained fixture에 따로 연결한다. Pressure external fresh coverage 부재를 내부 synthetic 통과로 대체하지 않는다. ## 27개 requirement coverage 접두사는 `FEM-REQ-MITC4-EIGEN2-`, Case 접두사는 `E2-C`를 생략한다. | Requirement suffix | Cases | | --- | --- | | 001 | 23,25 | | 002 | 01,08,12,23,26 | | 003 | 06,07,23 | | 004 | 01,02,07 | | 005 | 01,02,03 | | 006 | 01,03,11,13 | | 007 | 06,13,27 | | 008 | 08,13,14,15,16 | | 009 | 13,17,18,19,22,23 | | 010 | 17,18,25,27 | | 011 | 03,16,17,23,25 | | 012 | 14,19,21,22,24 | | 013 | 11,16,17,18,21 | | 014 | 01,02,03,04,05,08,11,20 | | 015 | 23,25 | | 016 | 07,21,23 | | 017 | 24,25 | | 018 | 06,13,16,24,25 | | 019 | 21,22,24 | | 020 | 25,26 | | 021 | 25 | | 022 | 25 | | 023 | 27 | | 024 | 09,12,26,27 | | 025 | 27 | | 026 | 01,02,03,04,05 | | 027 | 08,09,10,11,12,26 |