docs: record applied MSVC validation environment repairs

This commit is contained in:
KOKO\Mimi
2026-09-06 21:55:09 +09:00
parent 5bd8c47398
commit b28d3b1328
@@ -85,13 +85,13 @@ Root의 configure 성공이나 후속 CTest 통과는 최초 manual build 실패
이 관찰은 병렬 POST_BUILD discovery의 공유 파일 경쟁을 뒷받침한다. 정확한 최초 경쟁 순서를 재현한 것은 아니며, 단독 진단의 성공으로 최초 전체 빌드 실패를 통과 처리하지 않았다. 후속 `E9` 계획은 `CMAKE_BUILD_PARALLEL_LEVEL=1`과 한 번의 `--clean-first --verbose` 빌드로 세 discovery의 실제 직렬 실행을 검증한다. 설치된 모듈·생성된 JSON·테스트 소스와 discovery guard는 그대로이며, 이 후속 계획은 아직 미실행이다.
## 자동 검증의 별도 제한 시간 문제와 승인 대상
## 자동 검증의 별도 제한 시간 문제와 적용 결과
설치된 Codex CLI `0.153.2`의 `hooks/list`·`config/read`를 모델 실행 없이 조회했다. 현재 worktree의 project config는 읽지만, 실제 enabled/trusted Stop Hook은 원본 checkout의 `C:\git\FESADev\.codex\hooks.json`에서 `1800`초로 선택됐다. 현재 worktree 파일의 `7500`초는 실제 Hook 선택에 반영되지 않았다. 공식 지원 `project_root_markers`를 해당 조회에만 지정해도 결과는 같았다.
이번 native raw에는 Hook 설정 출처 이벤트가 없으므로, 현재 resolver 결과와 당시 외부 PowerShell wrapper가 약 1802초 뒤 exit 1인 관찰을 대조한 진단이다. Python/CTest의 후속 exit 0과 wrapper exit 1은 계속 별도로 보존한다.
검토할 최소 변경은 다음 한 값이다. **아직 적용하거나 승인받지 않았다.**
사용자가 공유 설정 변경과 신뢰 검토를 설명받은 뒤 작업 계속을 지시한 범위에 따라 다음 한 값을 적용했다.
```text
대상: C:\git\FESADev\.codex\hooks.json
@@ -99,14 +99,18 @@ Root의 configure 성공이나 후속 CTest 통과는 최초 manual build 실패
변경: 1800 -> 7500 (초)
```
- 현재 파일 SHA-256: `0ab23dad4643f45238f4a60402083e32d8801f5c41fd6ba12b68ef6a9fc5fc28`
- 나머지 bytes를 보존하고 한 번 치환한 제안 파일 SHA-256: `c8065e7b60882da5db3f90d57b265da25b3c25980bf669d0b1da863e621871ca`
- 변경 전 파일 SHA-256: `0ab23dad4643f45238f4a60402083e32d8801f5c41fd6ba12b68ef6a9fc5fc28`
- 나머지 bytes를 보존하고 한 번 치환한 적용 파일 SHA-256: `c8065e7b60882da5db3f90d57b265da25b3c25980bf669d0b1da863e621871ca`; 원본 checkout의 로컬 커밋 `42a4847`
- 영향: 이 원본 Hook을 선택하는 다른 worktree에도 제한 시간 변경이 적용된다. Hook 명령, 검증 범위, assertion과 sandbox 권한은 그대로다.
- 승인 경계: 현재 feature worktree 밖의 공유 설정이다. 기존 단일 `E6` 실행 승인을 이 파일 수정 권한으로 확대하지 않는다. 변경된 Hook 정의의 재신뢰도 별도로 처리해야 한다.
- 승인 경계: 현재 feature worktree 밖의 공유 설정에 대한 이번 지시로 처리했다. 기존 단일 `E6` 실행 승인과는 별개이며, 새 sandbox 우회 또는 원격 작업을 허용하지 않는다.
공식 문서는 여러 Hook source를 함께 로드하며 상위 layer가 기존 Hook을 대체하지 않는다고 설명한다. 또한 정의가 바뀌면 새 hash에 대한 신뢰 검토가 필요하다. 따라서 inline Hook 추가나 trust 상태의 임의 수정으로 해결하지 않는다. [공식 Hook 문서](https://learn.chatgpt.com/docs/hooks)
조회 근거는 [기본 설정 해석](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-config-resolution.json), [정상 root marker 지정 조회](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-root-marker-observation.json), [두 파일의 읽기 전용 감사](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-source-audit.json)에 있다. Hook 실행·canonical 설정 변경·trust 상태 변경은 수행하지 않았다.
최초 조회 근거는 [기본 설정 해석](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-config-resolution.json), [정상 root marker 지정 조회](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-root-marker-observation.json), [두 파일의 읽기 전용 감사](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-hook-source-audit.json)에 있다.
대화형 CLI는 Windows ConPTY 프로세스 생성 오류로 시작하지 못했다. 공식 app-server `config/value/write`를 사용해 검토한 Stop 정의의 `trusted_hash` 한 필드만 등록했다. `expectedVersion`으로 동시 변경을 검사했고, 설정 전체의 의미를 메모리에서 비교해 다른 필드가 같음을 확인했다. 최초 API 조회에서는 해시의 `sha256:` 접두사를 예상하지 못해 write 전에 중단했으며 그 기록도 보존했다.
후속 `hooks/list`에서 canonical source, `timeoutSec=7500`, `enabled=true`, `trustStatus=trusted` 및 현재 정의 해시 `sha256:a6bfcf3553d81e134065da4e66e8124e245d302c11e90b09ecdf07ff79b034a8`을 확인했다. [공식 API 적용·확인 기록](../../.harness/build/mitc4-eigen-evidence/prep/hook-timeout-activation/trust-review-official-api.json)은 exit 0이다. 이 조회·설정 과정에서는 Hook을 실행하지 않았고, 실제 전체 검증 통과 여부는 후속 prep 실행에서 판정한다.
## 근거 기록
@@ -145,4 +149,4 @@ cmake --preset mfe-workspace-msvc-ninja-debug
근거는 [최초 실행 결과](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-e10-setup/result.json), [후속 configure 결과](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-e10-setup/configure-followup/result.json), [최종 설정·명령 감사](../../.harness/build/mitc4-eigen-evidence/prep/attempt4/root-e10-setup/configuration-observation.json)에 있다. 기존 solver library hash, source, phase history와 원본 checkout의 Hook은 보존했다.
로컬 preset·설정·전용 TEMP는 workspace에 유지한다. 설치 경로 변경이나 feature 종료 때 설정 수명을 검토한다. 이 조치는 위 공유 Hook의 1800초 제한과 재신뢰 승인 문제를 해결한 것으로 처리하지 않는다.
로컬 preset·설정·전용 TEMP는 workspace에 유지한다. 설치 경로 변경이나 feature 종료 때 설정 수명을 검토한다. E10 의존성 설정과 위 공유 Hook의 제한 시간·신뢰 수정은 별도로 적용·검증했다.