[결함수정(a)] worktree resume — 존재하나 무효 체크아웃도 복구 경로로 위임 #43

Closed
opened 2026-10-07 15:40:37 +09:00 by dreampiler · 3 comments
Owner

(a) 런치 admission 비대칭 해소: 세션 resume 시 워크스페이스 경로가 존재하나 유효 git 체크아웃이 아니거나 common dir 불일치이면 ErrReuseWorktreeUnavailable로 하드 실패하고(os.ErrNotExist만 복구 위임: manager_launch.go:2235-2241 shouldDeferMissingWorktreeResumeValidation, 검증부 env_preparer_local.go:206-285, sentinel worktree/errors.go:148-151), 재기동 자동화가 동일 오류로 반복 실패한다. 존재하나-무효도 worktree 복구 경로로 위임하는 최소 수정. 근거: 조사 보고서 6d7defe0 계획 version 9761abb8 이슈 초안 A(파일:줄·재현조건·임팩트). 중복 대조: upstream kdlbs #3957(corrupted workspaces 강제 제거) 근접 — 동작 차이 확인 후 방침 결정, 업스트림 접촉 없음. 검증: 바뀐 패키지 go test·go build·go vet와 격리 인스턴스 present-but-invalid resume 일회 확인. 새 상시시험·검증기·운영 변경 없음. 관제 재기동 성공률 직결 — 다음 배포 컷 포함 권장.

(a) 런치 admission 비대칭 해소: 세션 resume 시 워크스페이스 경로가 존재하나 유효 git 체크아웃이 아니거나 common dir 불일치이면 ErrReuseWorktreeUnavailable로 하드 실패하고(os.ErrNotExist만 복구 위임: manager_launch.go:2235-2241 shouldDeferMissingWorktreeResumeValidation, 검증부 env_preparer_local.go:206-285, sentinel worktree/errors.go:148-151), 재기동 자동화가 동일 오류로 반복 실패한다. 존재하나-무효도 worktree 복구 경로로 위임하는 최소 수정. 근거: 조사 보고서 6d7defe0 계획 version 9761abb8 이슈 초안 A(파일:줄·재현조건·임팩트). 중복 대조: upstream kdlbs #3957(corrupted workspaces 강제 제거) 근접 — 동작 차이 확인 후 방침 결정, 업스트림 접촉 없음. 검증: 바뀐 패키지 go test·go build·go vet와 격리 인스턴스 present-but-invalid resume 일회 확인. 새 상시시험·검증기·운영 변경 없음. 관제 재기동 성공률 직결 — 다음 배포 컷 포함 권장.
Author
Owner

KANDEV-W-044: PR #157(adccfdc910) merged - worktree resume admission asymmetry fixed (present-but-invalid now delegated to the recovery path), reuse identity common-dir os.SameFile fail-closed, no-deletion verified on isolated instance 48429. Remaining: self-heal (quarantine + re-prepare) for the three invalid cases moved to KANDEV-W-044b (14fa0ede).

KANDEV-W-044: PR #157(adccfdc910) merged - worktree resume admission asymmetry fixed (present-but-invalid now delegated to the recovery path), reuse identity common-dir os.SameFile fail-closed, no-deletion verified on isolated instance 48429. Remaining: self-heal (quarantine + re-prepare) for the three invalid cases moved to KANDEV-W-044b (14fa0ede).
Author
Owner

Partial delivery: PR #175 public body updated to reviewed head 72a3e695e97fb1735ae99741f76e80181e09747e and final three ordinary UI resume passes. Squash merge attempt exited 1: the merge commit cannot be cleanly created. Live metadata confirms CONFLICTING/DIRTY. No merge commit exists from this attempt. Return to implementation to incorporate latest fork main, resolve conflicts, push the same branch and obtain delta review. PR #159 A/B remains unimplemented; original malformed/missing-admin/local-foreign UI start and fork-main integration gates remain. Entire owner outcome unmet; task and jobsheet remain open. Task checkout, branches and 19 review homes retained.

Partial delivery: PR #175 public body updated to reviewed head 72a3e695e97fb1735ae99741f76e80181e09747e and final three ordinary UI resume passes. Squash merge attempt exited 1: the merge commit cannot be cleanly created. Live metadata confirms CONFLICTING/DIRTY. No merge commit exists from this attempt. Return to implementation to incorporate latest fork main, resolve conflicts, push the same branch and obtain delta review. PR #159 A/B remains unimplemented; original malformed/missing-admin/local-foreign UI start and fork-main integration gates remain. Entire owner outcome unmet; task and jobsheet remain open. Task checkout, branches and 19 review homes retained.
Author
Owner

W-044b invalid-worktree quarantine-then-reprepare (self-heal) - delivery done. PR #159 "fix(worktree): quarantine invalid checkout before resume recovery" squash-merged to fork main (merge commit 830c73217e2e2bdc2cd5bf0fdc2b4628fd8bb936, 2026-10-08T16:51:16Z). Review PASS (reviewed_head c852567b71); isolated 3-case evidence PASS: (1) empty dir (2) missing-admin snapshot (3) healthy foreign quarantine - each preserved original, recreated worktree, session WAITING_FOR_INPUT. Shared checkout main fast-forwarded to origin/main (830c73217e); remote work branch deleted. Remaining: provider-managed case (3) isolated run not performed (Control ruled it non-blocking); recommend a post-deploy verification. Follow-up: none (no dependent tasks).

W-044b invalid-worktree quarantine-then-reprepare (self-heal) - delivery done. PR #159 "fix(worktree): quarantine invalid checkout before resume recovery" squash-merged to fork main (merge commit 830c73217e2e2bdc2cd5bf0fdc2b4628fd8bb936, 2026-10-08T16:51:16Z). Review PASS (reviewed_head c852567b71); isolated 3-case evidence PASS: (1) empty dir (2) missing-admin snapshot (3) healthy foreign quarantine - each preserved original, recreated worktree, session WAITING_FOR_INPUT. Shared checkout main fast-forwarded to origin/main (830c73217e); remote work branch deleted. Remaining: provider-managed case (3) isolated run not performed (Control ruled it non-blocking); recommend a post-deploy verification. Follow-up: none (no dependent tasks).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dreampiler/kandev#43