Description Problem
Phase 1은 read + interrupt만 제공. 양방향 인터랙션(메시지 전송)과 CLI 충실도(컬러/진짜 라이브 스트림)는 invasive해 분리됨. 세션별 write 인가가 양쪽 코드 모두 부재.
Desired Outcome
세션으로 메시지 전송(Send 활성화), CLI 컬러, 진짜 라이브 터미널(xterm), 세션별 write 인가 모델까지 확장.
Scope
P1 POST /api/sessions/{key}/message → session_key→ChannelId 해석 + Intervention enqueue(turn_orchestrator.rs:1256, Intervention+QueuePersistenceContext = net-new orchestration, 유일 invasive 조각), readiness gating(ready_for_input/composer-ready) 준수, raw send_keys 금지 → v1 disabled Send 박스 활성화
P1 CLI 컬러: tmux-output에 escapes 쿼리파라미터 additive(capture_pane_with_escapes 스왑, tmux.rs) + 클라 ANSI→HTML
P2 진짜 라이브 터미널: xterm.js + 증분 PTY 바이트스트림 + raw key 입력(jinn 패리티, 최소변경 봉투 벗어남, 신규 의존성)
P2 세션별 write 인가 모델 설계(세션별 소유권 — 상속 아닌 설계)
P2 토큰델타 스트리밍 + claude 외 멀티프로바이더(codex_tui 등) 커버리지
SoT PRD: ~/PRD/repos/agentdesk/session-chat-cli-view/ (P1/P2 TASK)
Non-goals
Phase 1 머지 전 착수 금지(의존성)
readiness gating 우회한 raw send_keys 금지
Acceptance Criteria
Send가 readiness gating을 거쳐 라이브 세션에 메시지 주입, raw send_keys 미사용
세션별 write 인가 모델이 설계·적용되어 교차 세션 탈취 방지
CLI 컬러/라이브 스트림이 동작(escapes 또는 xterm 경로)
Verification
message 주입 readiness 레이스 E2E(턴 누락·TUI 깨짐 없음)
인가 모델 테스트(타 세션 write 거부)
blockers/open-questions 선확인: session_key→ChannelId 유효성, DispatchedSession/SessionPanel session_key 보유, Postgres(session_transcripts) 보장, /api/docs 라우트 카탈로그
Assignment Hint
coder was explicitly provided in the request.
Related Cards / Context
Parent
Reactions are currently unavailable
You can’t perform that action at this time.
Problem
Desired Outcome
Scope
Non-goals
Acceptance Criteria
Verification
Assignment Hint
Related Cards / Context
Parent