Skip to content

v 1.14.1 — dispatch 가 죽는 세션의 탈출구를 실제로 열었다

Choose a tag to compare

@sshworld sshworld released this 19 Aug 01:01
· 24 commits to main since this release

v1.14.1 — dispatch 가 죽는 세션의 탈출구를 실제로 열었다

cmux dispatch 는 stale CMUX_WORKSPACE_ID 로 통째로 죽는 세션이 있다(백그라운드 job 에서 특히 흔하다). 그때 유일한 격리 실행 경로가 subagent 인데, 두 세션이 같은 자리에서 막혀 결국 부모가 직접 편집해야 했다. 이번 버전이 그 경로를 열고 실제로 돌려서 확인했다.

🐛 Fix

  • subagent 폴백 절차 명문화 — 막힌 원인은 .gitignore 의 .claude/specs/*.spec.md 였다. spec 파일이 격리 worktree 로 따라가지 않는다. 해법은 파일 복사도 gitignore 예외도 아니라 spec 본문을 프롬프트에 인라인하는 것 — subagent 는 cmux send 크기 제약이 없으므로 파일 전달을 포기하면 문제가 사라진다. 절차는 commands/plan-dev/troubleshooting-dispatch.md 의 'subagent 폴백'.
  • 작업 디렉토리 지시 정정 — 초안은 "자식 worktree 절대경로를 넘겨라" 였는데 실제로 넘길 수가 없다. isolation="worktree" 는 하네스가 경로를 정하므로 프롬프트 작성 시점에 그 값이 없다(dispatch 스크립트는 부모가 git worktree add 하니 알 수 있었다). "시작 즉시 pwd 확인, 밖으로 cd 금지" 로 지시한다.
  • enforce-doc-sync.sh 가 git -C <path> commit / git -c k=v commit 을 놓치던 문제 — 탐지 정규식이 git commit 만 잡아 DOC 영향 평가가 조용히 누락됐다. commit 이 서브커맨드 위치일 때만 매치하도록 확장. 적대 검증 9케이스 통과 (git commit-tree 접두 오매치, git log --grep=commit 인자 값, 따옴표 안 문자열, && 체인).
  • dispatch --mode=subagent 안내가 절차 문서와 gitignore 함정을 직접 가리킨다.

📝 Docs

  • known-issues.md #18 의 "subagent 폴백 경로는 검증됨" 오기 정정 → 2026-08-19 실측 완료로 갱신. #12 는 해결 표기.

ℹ️ 이번 fix 는 이번 fix 로 만들어졌다

enforce-doc-sync 수정(위 3번째 항목)은 새로 연 폴백 경로로 실행했다 — 자식이 격리 worktree 에서 TDD 완주(9 테스트 PASS) 후 ✅ 반환, 부모가 검토·통합. 절차 결함 1건도 그 과정에서 드러나 같이 고쳤다.

업데이트: /plugin update sshworld