Skip to content

finish-the-work.sh가 백그라운드 에이전트를 기다리는 정당한 턴을 차단함 #12

Description

@OKEUNSOO

증상

턴에서 백그라운드 에이전트를 띄운 뒤 "보고가 도착하면 종합하겠습니다"처럼 정당하게 끝내면, finish-the-work.sh가 이를 미이행 약속으로 판정해 차단합니다.

하지만 이 상황엔 "지금 할 일"이 없습니다 — 일은 이미 백그라운드에서 돌고 있고, 에이전트는 완료 알림이 올 때까지 턴을 올바르게 양보한 것이니까요. 차단당한 에이전트가 할 수 있는 건 같은 말을 다르게 표현하는 것뿐입니다.

원인

훅이 마지막 assistant 메시지의 텍스트만 검사해서, 진행 중인 백그라운드 작업이 보이지 않습니다.

i18n 문제가 아닙니다 — 영어 패턴("I'll synthesize once the agents report back" → I'll … then 매치)도 동일하게 걸립니다.

재현

트랜스크립트 꼬리가 다음 순서일 때:

  1. Agent tool_use (백그라운드 에이전트 스폰)
  2. tool_result: "Async agent launched… running in background"
  3. 텍스트만 있는 턴, 약속으로 종결 ("…도착하면 정리할게요" / "…I'll synthesize the results then")

{"decision":"block"} 출력.

대조군은 설계 의도대로 동작합니다: 과거형 종결("완료했습니다") 통과, 질문 종결("괜찮을까요?") 통과, 도구 호출로 끝난 턴 통과.

제안

차단하기 전에 트랜스크립트 꼬리에서 "시작됐지만 완료 알림이 없는 백그라운드 작업"(async launch tool_result 이후 대응하는 완료 notification 부재)을 스캔해, 있으면 통과시키는 방법이 있습니다.

원하시면 PR 보내겠습니다.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions