diff --git a/docs/mitc4-shell-feast-eigen/ADR.md b/docs/mitc4-shell-feast-eigen/ADR.md index cbdb41c..7fb69cb 100644 --- a/docs/mitc4-shell-feast-eigen/ADR.md +++ b/docs/mitc4-shell-feast-eigen/ADR.md @@ -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은 재질문하지 않는다. diff --git a/docs/mitc4-shell-feast-eigen/FEATURED_AGENTS.md b/docs/mitc4-shell-feast-eigen/FEATURED_AGENTS.md index 1c17ca2..03955d8 100644 --- a/docs/mitc4-shell-feast-eigen/FEATURED_AGENTS.md +++ b/docs/mitc4-shell-feast-eigen/FEATURED_AGENTS.md @@ -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 | diff --git a/docs/mitc4-shell-feast-eigen/PRD.md b/docs/mitc4-shell-feast-eigen/PRD.md index ded3fc5..99e1c06 100644 --- a/docs/mitc4-shell-feast-eigen/PRD.md +++ b/docs/mitc4-shell-feast-eigen/PRD.md @@ -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를 이미 변경했다고 해석하지 않는다. diff --git a/docs/mitc4-shell-feast-eigen/coordination.md b/docs/mitc4-shell-feast-eigen/coordination.md index fd1fbad..ab95f6e 100644 --- a/docs/mitc4-shell-feast-eigen/coordination.md +++ b/docs/mitc4-shell-feast-eigen/coordination.md @@ -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와 별도로 관리한다. diff --git a/docs/mitc4-shell-feast-eigen/requirements-evidence.md b/docs/mitc4-shell-feast-eigen/requirements-evidence.md index 8650544..14d4149 100644 --- a/docs/mitc4-shell-feast-eigen/requirements-evidence.md +++ b/docs/mitc4-shell-feast-eigen/requirements-evidence.md @@ -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 검사를 diff --git a/docs/mitc4-shell-feast-eigen/requirements.md b/docs/mitc4-shell-feast-eigen/requirements.md index c228162..2c95147 100644 --- a/docs/mitc4-shell-feast-eigen/requirements.md +++ b/docs/mitc4-shell-feast-eigen/requirements.md @@ -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와 낮은 모드 추출의 완전성을 다룬다.