ACP→pm→interview→run 전체 플로우를 MCP 콜 이후까지 검증하고, 그 결과로 나온 개선을 담았습니다. Claude는 직접 Anthropic 스트리밍 유지(SDK·claude -p 미사용), child 세션은 BEAM 동시성으로 병렬.
우측 pane child 세션 가시성 (P0)
- ChildSessionPoller: 백그라운드
start_*툴 반환 후에도ouroboros_job_status를 폴링해 우측 pane에 진행 상황을 흘림(terminal 또는 poll-budget 소진 시 pane을 completed로 정리). 콜 반환 후 child 블라인드 구간 제거. - ChildSessionStreamEntry: cursorless
"ouroboros"notification 수용(기존 opencode 전용) — childID-only 이벤트 드랍 방지. - WorkflowRelay drain:
spawn_monitor+:DOWN+timeout — 죽거나 멈춘 worker가 run을:dispatching에 고착시키던 버그 해소.
플로우 정합성 (P1)
- ooo pm → 전용
:pm라우트로 분리되어 실제ouroboros_pm_interview호출(initial/followup/resume 일관). - child pane steering:
/interrupt·/cancel이 focus pane의 external_ids로ouroboros_cancel_job/ouroboros_cancel_execution호출(ouroboros runtime guard). - 인터뷰 옵션 생성이 설정 타임아웃 존중(1.5s 클램프 제거).
- 명시 액션 없는
ooo <자연어>가 dispatch_failed 대신 인터뷰로 흡수.
검증
mix test: 2500 tests, 0 failures- fable5 코드 리뷰 APPROVE
- 라이브 MCP 서버 probe로
ouroboros_job_status/pm_interview/cancel_job노출 확인
🤖 Generated with Claude Code