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
+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와 별도로 관리한다.