[세션 시작 실패] could not start·작업 사본 손상·standalone 인스턴스 생성 실패 원인 #28
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
10-04 하루 실패 세션 중 환경 원인으로 보이는 것: 「The agent could not start.」 14건(Kandev 9·WUC 5), 「failed to resume session: failed to create execution」 3, 「worktree directory is corrupted」 2, 「workspace reuse is unsafe: load task environment while waiting」 2, 「failed to create standalone instance」 2, 「execution profile … is not a dynamic profile」 1. 각 유형의 원인을 백엔드 로그·실행 기록으로 확정하고(추정으로 끝내지 않는다), 같은 원인이 되풀이되지 않게 고친다. 확인: 원인별 재현 1건이 고친 뒤 정상 시작하는지. Kandev R3(다음 회차, R2 배포 뒤).
10-04 추가 유형: 작업 사본 폴더는 남아 있는데 .git 파일이 없으면(사본 정리가 중간에 멈춘 흔적, 원인 추정) 보관 API 가 500 「worktree cleanup inspection failed at commit_lookup (git_command_failed)」으로 실패한다 — R1 완료 3건(36978a33·407cb8db·e7378d94)이 10-03 17시부터 하루 넘게 보관 안 됨. 경로가 아예 없으면 브랜치로 대신 확인하는 길(manager_cleanup.go captureCleanupIdentityFromBranch)이 있는데, git 이 아닌 폴더는 그 길로 안 간다. 고칠 것: git 저장소가 아닌 사본 경로도 「경로 없음」과 같게 처리(브랜치로 확인). 운영 세션이 세 사본을 main 반영 확인 뒤 정리(node_modules 삭제·나머지 휴지통)하고 보관을 마쳤다.
10-04 소유자 「긴급 건들 선행으로 처리해서 긴급 배포 한번 하자.」 — 긴급 배포로 상시 관제 직속 Kandev 작업 354ddc72 로 등록·시작(특급, 6 Sol). 긴급 범위는 .git 없는 사본 보관 500 + 원인 확정된 시작 실패 유형, 나머지는 후속 분리.
[KANDEV-W-028 유형1] 원인 확정 + fork PR #206 병합(merge 798def1fd6, head 6e144648b5). Codex archived 세션 session/load 실패를 native_state_missing으로 재분류해 반복 retry_launch 차단(명시적 continue_from_history 경로). 유형2/3/4는 현재 빌드에서 재발 없음. 유형5/6은 형제 W-028b/W-028c 소관. 후속 제안(비차단): PR 본문의 session/new 폴백 표현 정렬.
[W-028 판정 2026-10-13, 작업 8b5c4925] 부분 해소, 닫지 않음. 해소: 유형1 archived 세션(#206 798def1fd6, 운영 0d12c83d82 조상), 유형2·5 standalone instance 생성 Client.Timeout(#213 a4fa4b31ec control.go CreateInstance 120s, 10-10 19:46Z 이후 0건), 유형3 worktree corrupted(10-07 이후 0건), 유형6 not a dynamic profile(#212 d49117efef, 10-03 이후 0건). 타 소관: 유형4 workspace reuse unsafe(10-12 5건, 23:17Z 현 빌드 포함) -> 08ddc5af(PR #247), already exists(10-12 10건) -> e1398c3e(#264 15c11a2a54 main 반영, 운영 빌드 미포함·배포 대기). 잔여: 일반 「The agent could not start.」 10-11 7건·10-12 8건, 영속 code=unknown, 로그 실제 원인은 ACP agent stream not connected(session/new·initialize·set model)·agent delivery checkpoint missing·session restore blocked unknown_failure·model_selection_failed·permission_mode_failed (빈 실행 명령 아님, 10-09 이후 empty command 0건). 현 빌드(10-12 22:51Z~) 3.5h 동안 0건이나 관측 부족. 재개 조건: 3차 교체 판 기동 뒤 24시간 관측으로 재판정.
[VER11-ALIGN-20261023] 최초 요청 원문·기존 flow/issue/이력 보존. 최신 기준 _Knowledge/references/최종목표구조설계_ver11/20_통합설계서.md 및 명세11/13/14, 절차·잔여·비용은42_현행정합_실행절차.md. 2026-10-23 읽기 관측 explicit task: 현재 API snapshot의 exact external_id/queue:로는 미확정. 원문 포인터/기존 담당에서 실제 ID를 확인하고 새 task로 대체하지 않음.
최신 상류/현재운영cb90와 별도local-main 통합 결과를 기존 담당이 대조하여 실제 잔여만 진행. 과거 task COMPLETED·미종결flow·운영결과는 구분하고 같은 구현/시험을 반복하지 않음.
이번 갱신은 결과/다음담당 연결이며 상태 일괄종결·task이동/삭제·모델순서/한도·상시시험·해시 확인 추가0.
W-028 CM r4: 기존8a600cc8 wrapper/원5f5b675a·8b5c4925·354ddc72·분리08dd/#247/e139/#264 및형제W028b/c성과·소유보존. p320createdr4/activecreatedr8/result없음/pending·errornull/session0,Plan없음확인뒤인수Plan만생성. 원5note직접읽어206/213/212당시부분해소·corrupted당시무재발과일반unknown하위원인미완을구별. root기수용264retainedcheckout통합을재사용하며옛미배포/옛R3뒤24h를Native전체신규선행·타이머로되살리지않음. 이번latest.json은10-23/514b의역사기록이라10-26운영교체및현재source/ref와구별,모든유형runtime정상시작PASS로확대0. 남은정확입력=기존원담당의실결과refs 또는현재이미있는동일유형execution/SID/하위원인/수정뒤정상시작결과. 일반무재발·sourceDone·1회CFH복구로wholeclose0. 원사업보류/WUCpause/운영창/외부효과·원source/사본·모델14상한유지,새task/source/session/관측예약·운영/코드/시험/RV/flowclose0. 상세같은8a600cc8Plan.
W028 구현 A/B/C의 fork 코드·정식 독립검토·통합을 완료했다. 실제 반영: fork dreampiler/kandev PR #371 MERGED, squash commit d616a036f2c495547302eafbfbc2f63f09167a0c, 대상 브랜치 codex/production(base 9e5606be8b1). 변경: A 보관 COMPLETED 선행 → Resolved, B 비-Kubernetes 상속 실행기 불일치 launch/preflight/propagation은 detach 후 선택 실행기로 새 환경 materialize(resume·Kubernetes는 strict 유지), C workspace-only 승격에서 concrete 실행 프로필로 AgentProfileID 재결속·persist(가상 family 직접 실행 거절·Office logical 유지). 정식 독립검토 1건(blocker) 기재는 재현 불가로 근거와 함께 거부했고 필수 지적 0. 검증: go build ./... 통과, gofmt clean, 신규/기존 좁은 시험 PASS, 실패집합이 base와 동일(신규 실패 0), PostgreSQL 미실행. 미완(본 flow 종결 아님): 운영 activation/빌드·교체(운영 owner), TB 8d 원task 정상 route → 실 첫 tool·산출물(TB 부모/W015), TB counter·거래·후보·금융승인 몫(TB 부모). W028은 코드·검토·fork 통합 몫만 완료.
W028 후속: 신규 상시시험 3종의 production 제거를 후속 PR #372로 완료했다. fork dreampiler/kandev PR #372(test(tasks): move new W028 assertions out of the permanent suite), base d616a036f2c → head 74e99aa98b4, squash merge a0694406454f3d1700dccf7eedf0b0a3325812e6 on codex/production(MERGED). 제거: 신규 파일 manager_launch_promotion_profile_test.go 전문, service_dependencies_test.go의 추가 archived+failed·cancelled·in-progress assertion, executor_inherited_env_detach_test.go의 추가 workspace-reuse assertion과 capture. 보존: 제품 A/B/C 수정, archived COMPLETED→Resolved 기대값 정합, detach 기대값 정합, base에 있던 동일 reuse-required assertion과 제품 가드. 일회성 검증은 저장소 트리 밖 Go overlay(C:\Users\dream\AppData\Local\Temp\opencode\w028-test-overlay)로 수행해 promotion 프로필 시험 포함 3 패키지 통과. 좁은 독립검토 3건은 재현 가능한 결함이 아니어서 근거를 PR body에 기재하고 반영하지 않았다. C 정상경로(fresh-start manager_launch.go:1454, 승격 1972/1981-1985/2058-2069, read-back manager_profile.go:46)는 코드상 근거로 기록했고, 원 8d 실 route 확인은 TB 부모 몫이다. 미완(본 flow 종결 아님): 운영 activation, TB 8d 원task 정상 route→실 첫 tool·산출물, TB counter·거래·후보·금융승인 몫.