docs: preserve prep failure and short-temp recovery plan

This commit is contained in:
KOKO\Mimi
2026-09-06 15:32:03 +09:00
parent d64cd1403a
commit 2f7103ac37
5 changed files with 287 additions and 9 deletions
+19 -5
View File
@@ -3,15 +3,15 @@
- Feature ID: `mitc4-shell-feast-eigen`
- Owner: `coordinator-agent`
- Contract revision: `r2` (사용자 승인 stabilization 개선·영향받는 정적/eigen 재검증 범위)
- Stage: `implementation` (승인된 E6 prep 재개)
- Outcome: `retry`
- Next owner: `implementation-agent` (실제 Harness Executor의 prep Step0)
- Attempt: `2` (이번 prep 재개 할당; 기존 실제 history1은 보존)
- Stage: `implementation` (E6 prep attempt2 종료; 환경 복구 Planning)
- Outcome: `blocked-environment`
- Next owner: `Executor` (R7 exact Hook/report2 및 error controls2 WIP 보존; 이후 Planning status-only 할당)
- Attempt: `2` (실제 prep history2; 첫 history 보존 확인)
- Completion: 미완료
- Failure classification: `environment`
- Retry key: `mitc4-shell-feast-eigen|implementation|environment|r2`
- Escalation class: `null`
- Blocker: `null` (명시 승인과 R3 control checkpoint 완료; 실제 재개·full 검증 결과 대기)
- Blocker: 긴 inherited TEMP에서 test323 output lock 경로가 261자로 늘어나 full CTest 실패. 같은 binary의 짧은 TEMP probe는 통과했으며 실패 보존 후 기본 workspace-write 환경 재개를 계획한다.
기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [프로젝트 ADR](../ADR.md),
[SOLVER_AGENT_DESIGN](../SOLVER_AGENT_DESIGN.md), [FEATURE_DOCUMENTATION](../FEATURE_DOCUMENTATION.md).
@@ -45,6 +45,20 @@ Root의 intake 시작 Git 조사에서는 worktree clean을 확인했다. 당시
## 현재 bounded dispatch
Planning의 [R7](implementation-recovery.md#r7-attempt2-실패-보존과-정상-workspace-write-재개)·[E7](implementation-environment.md#e7-짧은-temp를-사용하는-정상-재개) 최소 delta는 owner/revision 및 현재 hash/정확 실행 순서를 확인해 계획 gate `pass`로 수락했다. Owner 정적 결과는 Python AST5·PowerShell13 blocks/errors0·link74·고정 artifact hash7·Executor AST 불변, exit `0`이다. Coordinator의 변경5문서 경로 검사는 local links239/missing0, exit `0`이다. 이는 실제 prep 검증 통과가 아니다. Root가 동결된 management2/Planning3 정확5문서를 먼저 checkpoint한 뒤 R7 첫 block을 unchanged Executor로 실행한다. 이때 source/tests·Hook/report·phase/raw는 지금 실제 실패 bytes 그대로 보존되며, 다음 status-only 편집은 그 WIP commit과 clean 확인 뒤에만 별도 할당한다.
E6 실제 실행은 `2655.156`초 뒤 native PowerShell/managed exit `1`, Codex actual exit `0`으로 종료했다. [wrapper result](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/executor-result.json)는 HEAD `d64cd1403ac41fb1397dfb088361ce18ad1d59bd` 및 branch 유지, 비소유 bytes 변경 `0`, dirty가 Hook/report와 control2의 정확4개임을 확인한다. [보존 원시 결과](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/step0-output.json) SHA-256은 `8852e0ddae9ef94d885e8b4ae4b8a3b2e3a9d9161a3801bc7e56ea157e9411f4`다. Phase는 `error`, history2이며 첫 history의 JSON equality를 원래 attempt1 archive와 확인했다(exit `0`). `transportFailure=null`이며 명시 `reported-error`를 transport retry로 바꾸지 않는다. Owner가 요청한 `test` 분류/attempt1은 전이 권한이 없으므로 원시 반환으로 보존하고, Coordinator는 실제 환경 pair와 history에 따라 `environment`/attempt2로 기록한다.
수동 CTest는 `1086.77`초, 등록 CTest는 `982.52`초이며 둘 다 `361 passed/1 failed`, 실제 exit `8`이다. 등록 Stop wrapper와 Python의 실제 exit `0`은 test pass가 아니다. [수동 archive](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/manual-ctest-observation.json)와 [등록 archive](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/registered-ctest-observation.json)를 분리했다. Full Python은 순차 VERIFY의 CTest 실패 때문에 이번 실행에서 미실행이다. 승인된 Hook7500만 적용됐고 classifier source/test hashes는 이전 Correction 이후 불변이다. 기존 full CTest는 저장된 정적 reference를 읽고 비교하므로 owner report의 포괄적 reference 미열람 문구는 다음 Implementation에서 직접 원본 편집·새 eigen 비교 부재라는 정확한 의미로 정정하도록 인계한다.
Raw item18의 첫 focused는 깊은 pytest basetemp에서 exit `1`, `130 passed/6 failed`였고 item20은 짧은 `.harness/build/mfe-focus-<8자>`로 바꾼 동일 대상에서 exit `0`, `136 passed`였다. 앞선 실패를 지우거나 최초부터 통과했다고 기록하지 않는다. 새 환경 명령은 C++ TEMP/TMP와 pytest basetemp를 모두 짧게 지정하며, 통과한 기존 assertion을 변경하지 않는다.
Root에 할당한 동일 binary의 단일 test323 환경 probe는 새 긴 TEMP152자에서 결과251자/lock261자로 exit `1`, 새 짧은 TEMP70자에서 같은 test exit `0`을 기록했다. [Probe observation](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/path-length-probe-e15c1747/observation.json) SHA-256은 `511b30e183759b378e6f33f30aa3be4c940b58d1eabde12068151173a0a91979`이며 기존 CTest shared log/source/control/reference를 변경하지 않았다. 이 증거는 전체 gate를 대체하지 않는다. 실제 Win32 `GetLastError`를 관찰했다고 주장하지 않는다.
현재 Planning 소유 작업은 기존 implementation-plan/environment/recovery 3문서의 최소 delta다. Required inputs는 Feature 폴더 및 FEATURED_AGENTS/PRD/ADR/coordination, r2 계약, 원래 Step0/phase, [attempt2 terminal archive](../../.harness/build/mitc4-eigen-evidence/prep/attempt2/terminal-archive.json)와 TEMP pair다. 실패 Hook/report 및 controls의 정확 bytes/hash/history를 unchanged Executor `_commit_paths`로 구분 보존하는 명령, 이후 별도 할당의 status-only 복구, 짧은 새 workspace TEMP/TMP를 native와 등록 Stop에 함께 상속하는 기본 workspace-write 명령만 구체화한다. Root는 먼저 frozen 관리/계획 문서만 checkpoint한다. Planning은 source/test/Hook/Implementation report/phase/status/Git을 수정하거나 실행하지 않는다. Syntax·ownership·hash 정적 검증과 exact frozen 경로 반환이 이번 gate이며, status reset은 실패 보존 commit 뒤 별도 할당한다. 새 DFA 승인, solver 계약 변경, 두 번째 source Correction 또는 framework 확대는 필요 없다. 현재 한 번의 DFA 승인은 이미 사용됐고 후속 prep/main은 기본 workspace-write다.
### E6 실제 실행 전 handoff 이력
R3 Planning은 prep index의 Step0.status 한 값만 `blocked`→`pending`으로 변경했다. Coordinator가 나머지 JSON·history1 보존과 hash `10de90d5cde92797a0dfeedc716a5d5a267000304260c063d55ae6bc53bb4cf5`를 확인했다(exit `0`). [실제 R3 checkpoint](../../.harness/build/mitc4-eigen-evidence/prep/classifier-correction/r3-approved-status-checkpoint-result.json)는 unchanged Executor 호출 native PowerShell/managed exit `0`, `1.531`초이며, control commit `671feb7c620d0f4e5d13d48cf7f312a02067c6aa`의 정확 index1개·pending·history/raw/top 보존·clean을 [stdout](../../.harness/build/mitc4-eigen-evidence/prep/classifier-correction/r3-approved-status-checkpoint-stdout.log)에 확인했다. Top은 blocked 그대로다.
다음 실제 dispatch는 E6의 정확 prep1회이며 Execution owner는 공식 implementation-agent profile이다. Required inputs는 이 Feature 폴더와 FEATURED_AGENTS/PRD/ADR/coordination, r2 선행 계약, prep Step0, implementation-plan/environment/recovery 및 실제 corrections evidence다. Owned outputs는 Step0의 원래 exact9개이고 result payload는 `completed`와 nonempty summary 또는 명시 error/blocked다. Existing RED/GREEN을 보존한 재검증, 남은 Hook7500, 원래 implementation-prep-evidence 보고서 정정, full Python/MSVC/x64/Debug CMake/CTest 및 실제 registered Stop/terminal evidence가 gate다. Source echo Correction의 후속 Implementation rerun은 이번 1회만 할당하며 두 번째 Correction은 금지한다. Guard/ownership/upstream 실패나 명시 terminal 발생 시 원시 결과를 보존하고 무단 재시도하지 않는다. Root/Coordinator는 active invocation 동안 모든 non-owned 편집과 Git을 동결한다. 실제 gate audit 전 main/physics/release 전이는 없다.