docs: record MITC4 stabilization decision request

This commit is contained in:
KOKO\Mimi
2026-09-06 02:58:12 +09:00
parent c8876da339
commit 78d29430f3
6 changed files with 113 additions and 19 deletions
+5 -3
View File
@@ -64,9 +64,11 @@
## MFE-ADR-007 — 기존 stabilization과 좌표 불변성 acceptance 정합
- 상태: 미결정; Requirement owner의 intent 검토 중. 사용자 critical 결정 여부도 아직 판정 전이다.
- 상태: 미결정; Requirement owner의 bounded intent 검토 결과 `MFE-OQ-003` 사용자 결정이 필요하다.
- 발견 owner: numerical-review-agent; requirement intent owner: requirement-agent; 기록 owner: coordinator-agent.
- 근거: [NR-MFE-001](numerical-review.md#blocking-finding), [재현 가능한 반례](numerical-review-evidence.md#nr-mfe-001-직접-계산-반례).
- 발견: 동일 물리 partial rotation BC를 유지한 회전에서 기존 basis-dependent `kd=min(tangent diagonals)` 때문에 고유치가 상대 `1.1291343961675893e-5`만큼 달라진다. 새 mass 또는 analytic reduction의 확인된 결함은 아니다.
- 다음 판단: `FEM-REQ-MITC4-EIGEN-002/008/014`의 보존·검증 의미를 Requirement owner가 함께 검토한다. 기술적으로 해소 가능한 기존 intent와 제품 acceptance 변경이 필요한 선택을 구분하여 반환한다.
- 경계: Coordinator/NR는 기존 stiffness 수정, partial BC 지원 제외, invariant 실패의 diagnostic 강등 또는 tolerance 완화로 해결하지 않는다. 필요하면 실제 critical 대안·영향·권고만 사용자에게 요청한다.
- 판단 근거: [Requirement owner 검토](requirements-evidence.md#nr-mfe-001-requirements-intent-검토)는 `FEM-REQ-MITC4-EIGEN-002/008/014`와 기존 shell의 fixed `kd` 계약을 대조했다. 알려진 지원 모델 반례를 제외하는 것은 acceptance 변경이며 기존 강성의 교체·삭제도 묵시적으로 승인되지 않았다.
- 미승인 대안: 기존 stabilization과 partial BC 지원을 유지하며 해당 좌표 의존성을 명시적 한계로 수용하고 `014` 적용 범위를 변경하거나, 좌표 공변적인 stabilization 개선과 영향받는 기존 정적/eigen 계약·회귀 검증을 이번 범위에 추가한다.
- 권고 owner와 이유: requirement-agent는 같은 물리 모델의 축 선택 의존성을 해결하는 후자를 권고한다. 기존 강성 계약 영향 검토와 정식화·회귀 검증 작업이 늘어나며 대체 수식은 Formulation 소유이다.
- 경계: 승인 전 기존 matrix 26행, stiffness, partial BC 지원과 tolerance·reference·schema를 유지하고 `r1`을 변경하지 않는다. Coordinator는 이 한 건을 Root를 통해 사용자에게 전달하며 질량 흐름·FEAST 사용 mass·입력 N은 재질문하지 않는다.
@@ -33,8 +33,8 @@ Reference artifact와 공통 정책은 수정하지 않는다. 외부 solver 실
| [PRD.md](PRD.md) | coordinator-agent | r1 | 사용자 요구 요약 |
| [ADR.md](ADR.md) | coordinator-agent | r1 | 후속 결정 기록 |
| [coordination.md](coordination.md) | coordinator-agent | r1 | workflow 상태 원본 |
| [requirements.md](requirements.md) | requirement-agent | r1 | 26개 must; NR-MFE-001에 따른 002/008/014 intent 재검토 |
| [requirements-evidence.md](requirements-evidence.md) | requirement-agent | r1 | 원본 관찰·결정·정적 evidence audit 완료 |
| [requirements.md](requirements.md) | requirement-agent | r1 | 26개 must 유지; MFE-OQ-003 needs-user-decision |
| [requirements-evidence.md](requirements-evidence.md) | requirement-agent | r1 | NR-MFE-001 intent 검토·미승인 대안·정적 evidence audit 완료 |
| [research.md](research.md) | research-agent | r1 | primary-source 근거 보존; 014 coverage 영향 부분 stale |
| [research-evidence.md](research-evidence.md) | research-agent | r1 | 수식/API 근거 보존; R06 좌표 검증 coverage 부분 stale |
| [formulation.md](formulation.md) | formulation-agent | r1 | 수학 계약 보존; 014 acceptance coverage 부분 stale |
+3 -1
View File
@@ -3,7 +3,7 @@
- Feature ID: `mitc4-shell-feast-eigen`
- Owner: `coordinator-agent`
- Input contract revision: `r1`
- 검토 상태: NR-MFE-001로 numerical-review gate 미통과; Requirement owner가 기존 stabilization 보존과 coordinate-invariance acceptance 의도를 정합 중.
- 검토 상태: NR-MFE-001로 numerical-review gate 미통과; Requirement owner의 검토에 따라 MFE-OQ-003 physics/scope/acceptance 사용자 결정 대기.
기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [프로젝트 ADR](../ADR.md).
지역 지침과 문서 목록은 [FEATURED_AGENTS.md](FEATURED_AGENTS.md), 상태 원본은 [coordination.md](coordination.md)를 따른다.
@@ -45,4 +45,6 @@ Primary-source 근거와 적용 한계는 [research](research.md), 상세 근거
구현용 수학 계약과 상세 문서의 연결은 [formulation](formulation.md)에 있다. 내부 수치 기준은 미확정이다.
[Reference artifact·logical readiness](reference-model.md)는 확인했지만 전체 NR gate는 통과하지 않았다.
NR의 [blocking finding](numerical-review.md#blocking-finding)은 기존 `002/008`의 stabilized pencil 보존과 `014`의 eigen coordinate-invariance evidence 관계다.
Requirement owner는 알려진 partial-BC 반례를 단순 clarification으로 제외할 수 없다고 판단했다.
[MFE-OQ-003 대안·영향](requirements-evidence.md#nr-mfe-001-requirements-intent-검토)의 기존 stabilization 한계 수용과 acceptance 변경 또는 좌표 공변적인 stabilization 개선 범위 추가는 모두 미승인이다.
사용자가 확정한 질량 계산 흐름·FEAST 사용 mass·입력 N·외부 Value-only 범위는 유지한다. 이 발견을 근거로 강성이나 acceptance를 이미 변경했다고 해석하지 않는다.
+35 -9
View File
@@ -4,14 +4,14 @@
- Owner: `coordinator-agent`
- Contract revision: `r1` (사용자 최종 질량 요구를 반영한 requirements baseline)
- Stage: `requirements`
- Outcome: `return-upstream` (NR-MFE-001)
- Next owner: `requirement-agent`
- Outcome: `needs-user-decision` (MFE-OQ-003 / NR-MFE-001)
- Next owner: `coordinator-agent` (Root를 통한 사용자 결정 수신)
- Attempt: `1` (numerical-review r1의 해당 failure 관찰 횟수)
- Completion: 미완료
- Failure classification: `upstream-contract`
- Retry key: `mitc4-shell-feast-eigen|numerical-review|upstream-contract|r1`
- Escalation class: `null`
- Blocker: `NR-MFE-001` — 기존 stabilized pencil 보존과 REQ-014 eigen coordinate-invariance acceptance intent 정합 필요.
- Escalation class: `physics-scope-acceptance`
- Blocker: `MFE-OQ-003` — 기존 stabilization 한계 수용 및 REQ-014 적용 범위 변경 또는 좌표 공변적인 stabilization 개선과 정적/eigen 재검증 범위 추가의 사용자 결정 필요.
기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [프로젝트 ADR](../ADR.md),
[SOLVER_AGENT_DESIGN](../SOLVER_AGENT_DESIGN.md), [FEATURE_DOCUMENTATION](../FEATURE_DOCUMENTATION.md).
@@ -27,6 +27,7 @@
| research r1 | [research](research.md), [primary-source 상세 근거](research-evidence.md) | pass; primary source 11개 그룹·프로젝트 근거2개, 26개 requirement coverage 및 API 보장 한계 확인 |
| formulation r1 | [기본 수학 계약](formulation.md), [mass](formulation-mass.md), [eigen](formulation-eigen.md), [verification](formulation-verification.md) | pass; owner/revision/상세 수식·26개 coverage·정적 evidence 확인, 독립 수치판정은 NR 소유 |
| numerical-review r1 | [NR verdict](numerical-review.md), [반례·독립 evidence](numerical-review-evidence.md), [reference-model](reference-model.md) | return-upstream; NR-MFE-001, 전체 internal controls 미확정, gate 미통과 |
| requirements r1 intent 재검토 | [Requirement 판단](requirements.md), [MFE-OQ-003 대안·영향](requirements-evidence.md#nr-mfe-001-requirements-intent-검토) | needs-user-decision; 원래 26개 matrix 행 유지, 단순 clarification으로 반례 제외 불가 |
공통 문서 및 reference 파일 목록의 read-only 조사 명령은 exit code `0`으로 완료했다.
확인된 reference 파일은 `shellNL-eigen-meshfine.inp`, `shellNL-eigen-meshfine eigenvalues.txt`이며 실제 의미와 readiness는 담당 owner가 검토한다.
@@ -35,6 +36,18 @@ Root의 시작 Git 조사에서 worktree clean을 확인했다. 구현·build/te
## 현재 bounded dispatch
Requirement owner의 두 owned 보고서와 `needs-user-decision` envelope를 감사했다.
원래 r1의 지원 partial BC 반례를 acceptance에서 제외하는 것은 실제 변경이며, 기존 stabilization 개선 또한 scope/physics 변경이라는 판단과 두 대안·권고를 [MFE-ADR-007](ADR.md#mfe-adr-007--기존-stabilization과-좌표-불변성-acceptance-정합)에 기록했다.
질량·FEAST·입력 N의 승인 선택은 유지하고 Root에 한 건의 결정 묶음을 전달했다. 사용자 응답 전 계약 변경·다음 stage 통과는 보류한다.
Requirement owner의 `Get-Content`/`rg` 및 Python 정적 검사는 exit `0`, matrix 26행은 기존 HEAD와 동일하고 링크 누락이 없다. 수식 유도·수치 재실행·source 변경은 하지 않았다.
현재 SHA-256은 `requirements.md`: `ae08d2c7a52cce5261e3420618e5b84b3f25c20258d0992b1b6941511baa7d09`,
`requirements-evidence.md`: `528bdf8a948a964f269cc100c2072d68e65ebaff333b9246b1f718a2052d408e`이다.
Coordinator의 `python -B -` 정적 audit은 15문서/끊긴 local link 0, matrix 26행과 HEAD 동일, exit `0`이다. 최초 audit helper는 ID의 backtick을 잘못 가정하여 0행/exit `1`을 반환했고 실제 문서 형식에 맞춘 패턴으로 수정해 재확인했다. 문서나 계약을 변경하여 검사에 맞추지 않았다.
`git diff --check`는 exit `0`; 변경 경로는 관리 4문서와 Requirement owner 2문서뿐이다.
Root는 NR finding 7개 exact paths checkpoint를 `c8876da` (`docs: record MITC4 numerical review contract finding`)로 커밋하고 clean을 확인했다.
### Requirements return-upstream 이력
NR owner의 실제 보고서 3개와 `return-upstream` envelope를 확인하여 정확한 Requirement owner로 반환한다.
같은 지원 partial BC를 보존한 45도 회전의 직접 계산에서 `lambda=23.04088888888889 -> 23.040628726287263`,
상대차 `1.1291343961675893e-5`가 재현되었다(`python -B -`, exit `0`). 기존 `kd` 규칙과 REQ-014의 acceptance intent 사이의 발견이다.
@@ -73,7 +86,7 @@ Formulation owner의 중간 관찰은 기존 `Tphys/Tdrill`과 양의 nodal dril
### Research 및 baseline 이력
Requirement owner의 최종 r1 `pass` 반환을 Coordinator가 감사하여 requirements gate를 통과시키고 research로 전이한다.
현재 SHA-256은 `requirements.md`: `1ebe65f231e49ffc15a9a1985dcdbbb7e6fc47b9e1ddb5a76f2c2489e5982690`,
당시 SHA-256은 `requirements.md`: `1ebe65f231e49ffc15a9a1985dcdbbb7e6fc47b9e1ddb5a76f2c2489e5982690`,
`requirements-evidence.md`: `2241ef8dacc7e07d40c731667e202bd9c104ae43b1a5f6eab4530a6831fea918`이다.
Coordinator 정적 audit은 Feature 6문서, 끊긴 local link 0, must rows/unique IDs `26/26`, exit code `0`; `git diff --check` exit code `0`이다.
Research owner는 승인된 consistent→lumped→FEAST, 물리 관성·massless drilling·제약·최저 모드 완전성 및 독립 verification의 primary-source evidence를 수집한다.
@@ -131,11 +144,11 @@ VS `18/Community` DevShell script/dll이 존재하며 Ninja는 현재 PATH에
Root는 global environment, Hook state/code를 변경하지 않았다.
추가 Root read-only 확인: Python `3.11.15`, oneMKL `mkl_rt.lib`/`bin/mkl_rt.3.dll` 및 FEAST 선언이 존재한다.
현재 작업 경로는 primary `C:/git/FESADev`의 linked worktree이며 branch는 `Eigen`이다.
Implementation profile은 `gpt-5.6-terra` / `xhigh` / `workspace-write`이고 실제 configure/link/runtime는 아직 미실행이다.
Implementation profile은 `gpt-5.6-terra` / `xhigh` / `workspace-write`이고 당시 configure/link/runtime는 미실행이었다.
Root가 읽은 현재 config schema는 dependency environment/cacheVariables를 직접 받지 않으며, root preset은 dependency `$env{...}` 값을 cacheVariables로 지정한다.
개별 subprocess environment가 부모 Stop process에 전파된다고 가정하지 않는다. Planning은 실제 Hook backend/환경과 CMake cache·preset을 함께 대조한다.
AGENTS의 Ninja preset은 예시이며 필수 검증은 MSVC/x64/Debug CMake/CTest다. 자동 감지의 VS18 cache 재사용도 현재 환경에서 가능한지 평가할 수 있으나,
과거 native sandbox의 FileTracker 한계와 현재 runner 정책까지 확인해야 한다. 아직 backend 선택·config 변경·실행은 하지 않았으며 일반 환경 준비는 기존 사용자 진행 승인 안에서 해당 owner가 수행한다.
과거 native sandbox의 FileTracker 한계와 현재 runner 정책까지 확인해야 한다. 당시 backend 선택·config 변경·실행은 하지 않았으며 이후 Root의 configure 환경 교정은 아래에 구분해 기록한다.
현재 `.harness/config.json`은 없고 preset과 `.harness/config.example.json`은 있다.
Planning은 자동 감지 결과와 승인 MSVC preset을 대조하여 실행명령 및 Hook backend를 명시해야 한다.
@@ -148,10 +161,23 @@ Root가 전달한 자동 Stop hook configure 실패는 별도의 실제 환경 e
`cmake/FesaDependencies.cmake:9`에서 `FESA_GTEST_SOURCE_DIR` 미설정을 보고했다.
Root의 read-only 원인 조사에서 현재 process의 `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, `HDF5_DIR`가 모두 미설정이고,
자동 감지는 `Visual Studio 18` generator를 사용하며 local config가 없어 승인 Ninja/MSVC preset과 맞지 않음이 확인되었다.
수동 Hook·CMake·CTest 재실행, config 변경 또는 Hook state 조작은 하지 않았다.
현재 requirements gate의 critical 질량 선택과 별개로 Implementation Planning에서 dependency 경로·설정된 backend를 준비하고 검증해야 한다.
당시 수동 Hook·CMake·CTest 재실행, config 변경 또는 Hook state 조작은 하지 않았다.
당시 requirements gate의 critical 질량 선택과 별개로 Implementation Planning에서 dependency 경로·설정된 backend를 준비하고 검증하도록 보존한 기록이다.
이 실패를 build/test 통과로 보고하거나 현 단계의 미실행 검증을 대체하는 증거로 사용하지 않는다.
### Root의 configure 환경 교정 확인
2026-09-06 Root는 사용자 지정 GoogleTest와 확인된 dependency 경로로 기존 자동 감지 backend의 cache를 구성하고 이전 실패 명령을 재확인했다.
```powershell
cmake -S . -B .harness/build -A x64 "-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" "-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" "-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" "-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"
cmake -S C:/Users/baram/orca/workspaces/FESADev/Eigen -B C:/Users/baram/orca/workspaces/FESADev/Eigen/.harness/build -A x64
```
각 명령 exit `0`이며 실행 시간은 약 5초와 1.5초였다. `CMakeCache.txt`의 dependency 경로 4개 및 `Visual Studio 18 2026`/x64를 확인했고 MKL `2026.1`, dynamic/`intel_ilp64`/`intel_thread`가 선택되었다.
Cache는 Git ignored이며 source·설정·Hook code/state를 변경하지 않았다. 수동 Hook·build·CTest·FEAST 실행은 없었다.
이전 configure 원인은 해소되었지만 build/link/test 또는 feature TDD gate 통과 evidence는 아니다. Planning은 실제 backend와 cache를 대조하고 Debug를 build `--config Debug` 및 CTest `-C Debug`로 명시해야 한다.
## Retry 기록
Correction 및 implementation rerun 사용 이력 없음. Transport attempt와 별도로 관리한다.
@@ -87,6 +87,51 @@ FEAST의 SPD 조건과 shell 질량 nullspace의 양립은 Research/Formulation
constraints를 보존하는 방식으로 해결해야 한다. 이 문서는 elimination/projection/condensation
식을 승인하지 않으며, 새로운 물리 근사가 필수라는 evidence가 생기면 해당 owner가 반환한다.
## NR-MFE-001 requirements intent 검토
- Input contract revision: `r1` 유지. 이번 bounded 검토는 기존 `002/008/014`의 정합만 다룬다.
- 발견 근거: [Numerical Review](numerical-review.md#blocking-finding),
[NR 소유 직접 계산 반례](numerical-review-evidence.md#nr-mfe-001-직접-계산-반례),
[Formulation V5](formulation-verification.md#v5-rigid-mode-coordinate-및-density-불변식).
- 결과: `needs-user-decision`. Requirement owner가 새 수식을 유도하거나 NR 계산을 재실행하지 않았다.
NR는 유효한 단일 평판의 한 절점 `URZ`만 free인 모델에서 global Z축 45° 회전이
동일 물리 component BC를 유지함을 확인했다. 기존 `kd` 규칙으로 고유치가
`23.04088888888889`에서 `23.040628726287263`으로 달라지고 상대 차이가
`1.1291343961675893e-5`다. 이는 NR의 독립 계산 evidence이며 새로운 mass/reduction의
확인된 결함이나 이번 Requirement Agent의 runtime 검증 결과가 아니다.
`014`의 원래 문구는 coordinate-invariance evidence를 필수로 두고 acceptance에
독립 invariant suite 통과를 요구한다. 유한한 test portfolio를 NR에 위임한 것은 모든
가능한 모델의 exact equality를 증명하라는 뜻은 아니지만, 알려진 지원 모델의 반례를
검증 범위 밖으로 재분류할 권한도 아니다. Full-free/full-clamp 사례로만 범위를 고정한 V5는
이 반례를 해소하지 못하므로 기존 의도의 단순 clarification으로 통과시킬 수 없다.
`002`의 물리 kernel 재사용 문구 하나만 보면 numerical stabilization 수정까지 직접
명시하지 않지만, 문서가 함께 재사용하는 [기존 shell 요구사항](../linear-static-mitc4-shell/requirements.md)의
`FESA-REQ-LSMITC4-034/056`은 고정 `kd` 규칙을 정한다. `008`은 실제 제약을 적용한
원래 pencil의 유한 spectrum 보존을 요구하므로 massless 처리에서 남는 stabilization을
제거해 이 반례를 없애는 해석도 허용하지 않는다. 고정된 tensor의 기저 변환과 geometry를
회전시켜 `kd`를 다시 계산하는 서로 다른 연산을 같은 검증으로 취급해서는 안 된다.
### MFE-OQ-003 — 미승인 대안과 영향
| 대안 | 정확한 영향과 승인 뒤 필요한 작업 |
| --- | --- |
| 기존 stabilization 유지 및 한계 수용 | Partial rotation BC 지원과 원래 pencil을 유지한다. 해당 BC에서 stabilization이 유한 공간에 남는 경우의 일반 eigen 좌표 불변성을 현재 feature acceptance에서 보장하지 않도록 `014` 적용 범위를 명시적으로 변경한다. 두 질량·physical stiffness의 좌표 검증, 모든 지원 BC의 원래 pencil 보존·modal residual 등은 계속 필수이며 NR 반례를 알려진 한계로 보존한다. 이는 acceptance 변경이고 아직 승인되지 않았다 |
| 좌표 공변적인 stabilization 개선 — 권고 | 동일 물리 모델의 좌표축 선택에 따른 고유치 변화를 해결하는 강성 개선을 작업 범위에 추가한다. 기존 fixed `kd`와 충돌하는 계약의 owner·승인 경계를 정하고 Research/Formulation/NR를 재검토한다. 영향받는 기존 정적 결과와 새 eigen 결과를 재검증한다. 특정 대체 계수나 수식은 이 요구사항 검토에서 선택하지 않는다 |
권고 이유는 좌표 선택만으로 같은 물리 모델의 고유치가 달라지는 알려진 결함을 유지하지
않기 위해서다. 대가는 기존 stiffness 계약의 영향 조사와 정식화·회귀 검증 범위 증가다.
반례의 수치가 작다는 이유로 외부 reference tolerance를 적용하거나 일반 오차 상한으로
사용하지 않는다. 이 한 건 외에 질량 흐름·FEAST 사용 질량·입력 N을 재질문하지 않는다.
두 대안은 같은 반례를 acceptance에서 다르게 처리하며, 기술 evidence만으로 사용자가
어느 변경 범위를 승인했는지 결정할 수 없다. 승인 전 `002/008/014` 원문, 기존 stiffness,
partial BC 지원, NR 판정 영향, 모든 tolerance·reference·schema를 변경하지 않았다.
Coordinator가 결정과 revision을 관리하고 영향받은 owner에게 후속 작업을 할당한다.
이 작업은 implementation correction이 아니며 correction budget을 사용하지 않는다.
## 질문 없이 정리한 사항
- 무하중 원형상·비감쇠 해석은 실제 단일 `*FREQUENCY`와 선행 이력 부재로 결정한다.
@@ -152,7 +197,13 @@ r1에서는 관리문서·owned reports·공통 agent 계약을 `Get-Content`로
명령은 exit code `0`이었다. 실제 GoogleTest dependency 설정/build 확인은 Root·Planning
소유이며 이 문서 갱신에서 새로 실행하지 않았다. 두 사용자 결정으로 `MFE-OQ-001`과
`MFE-OQ-002`를 해결했으며 기존 25개 requirement ID를 보존하고 derived lumped 요구
`026`을 추가했다. 중요한 미결정은 없고 상세 lumping 수식·수치 기준은 후속 owner 소유이다.
`026`을 추가했다. 당시 질량 선택의 미결정은 모두 해소되었다. 이후 NR-MFE-001로 발견된
현재 acceptance 결정은 위 별도 절에서 관리하며 상세 lumping 수식·수치 기준은 후속 owner 소유이다.
NR-MFE-001 bounded 검토에서는 `Get-Content`로 현재 Feature 관리문서·owned 보고서·NR
main/evidence·reference-model·formulation-verification을 읽고, scoped `rg`로
`002/008/014`와 기존 `FESA-REQ-LSMITC4-034/038/051/056`을 대조했다. Exit code `0`.
원본 reference 재조사, NR 반례 재계산, 새로운 외부 조사와 수식 유도는 수행하지 않았다.
변경한 경로는 기본 보고서와 이 상세 보고서 두 개뿐이며 관리문서, source, tests, phase,
공통 정책과 reference artifact는 편집하지 않았다. 정적 링크·필수 metadata·ID/matrix 검사를
+16 -3
View File
@@ -3,8 +3,8 @@
- Feature ID: `mitc4-shell-feast-eigen`
- Owner: `requirement-agent`
- Input contract revision: `r1`
- 검토 상태: consistent→lumped→FEAST 사용자 확정 요구 반영; requirements baseline gate 검토 요청.
- 요청 outcome: `pass`; workflow 전이와 최종 gate 판정은 Coordinator 소유.
- 검토 상태: 질량·FEAST·입력 mode count 결정 유지; NR-MFE-001에 대한 acceptance 정합 결정 대기.
- 요청 outcome: `needs-user-decision`; workflow 전이와 최종 gate 판정은 Coordinator 소유.
지역 입력은 [FEATURED_AGENTS](FEATURED_AGENTS.md), [PRD](PRD.md), [ADR](ADR.md)이다.
[프로젝트 지침](../../AGENTS.md), [제품 요구사항](../PRD.md),
@@ -110,7 +110,20 @@ solver parameter를 선결정하지 않는다. 특히 기존 선형 정적 `Run(
`MFE-OQ-002`도 사용자 명시 결정으로 해결되었다. **Consistent→lumped→FEAST** 흐름을
사용하며 external eigenvalue baseline과 내부 residual·normalization·orthogonality는
동일 lumped mass에 대응한다. [사용자 결정 근거](requirements-evidence.md#중요한-결정)를 따른다.
현재 requirements의 중요한 미결정은 없다.
질량·backend·mode count 선택은 해결되었으며 다시 질문하지 않는다.
`NR-MFE-001` 검토 결과, 현재 `002/008/014`를 변경 없이 만족했다고 판정할 수 없다.
`014`는 모든 유한 모델의 무오차 정리를 약속하지 않지만 지원 범위의 coordinate-invariance
검증을 통과하는 필수 evidence를 요구하며 partial rotation BC 예외를 두지 않았다.
NR의 동일 물리 partial-BC 반례를 제외하거나 diagnostic으로 낮추는 것은 acceptance 변경이다.
`002`의 기존 shell 계약 재사용과 `008`의 좌표 처리 전후 spectrum 보존도 기존 stabilization을
조용히 교체하거나 유한 공간에서 제거할 권한을 주지 않는다.
`MFE-OQ-003`은 기존 강성의 좌표 의존성을 명시적 한계로 수용하여 `014` 범위를 변경할지,
좌표 공변적인 stabilization 개선과 영향받는 회귀 검증을 이번 작업 범위에 포함할지의
**미승인 결정**이다. 권고는 후자이며 상세 수식은 Formulation 소유이다.
[판단·대안·영향](requirements-evidence.md#nr-mfe-001-requirements-intent-검토)에 기록했다.
승인 전 matrix의 `002/008/014`, stiffness, tolerance, reference와 지원 범위는 변경하지 않는다.
Research/Formulation은 consistent→lumped 유도 및 각 관성 불변식, lumped 질량과 massless drilling, supported global
constraints의 양립, 실제 FEAST admissibility와 낮은 모드 추출의 완전성을 다룬다.