iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/codex-app-server-streaming-migration.md
toki 620b94b618 feat(agent-roadmap): update phase docs and migrate completed milestones to archive
- Move codex-app-server-streaming-migration to archive
- Add openai-workspace-agent-execution-contract milestone
- Add lemonade-provider-serving-validation milestone
- Add provider-availability-capacity-queue-foundation milestone
- Add vllm-provider-serving-validation milestone
- Update PHASE.md files for automation-runtime-bridge and inference-provider-extension
2026-06-13 15:49:30 +09:00

4.4 KiB

Milestone: Codex App Server 스트리밍 전환

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/automation-runtime-bridge/PHASE.md

목표

Codex CLI adapter의 기본 codex target/profile을 codex app-server 기반 실행 경로로 전환한다. codex exec --json의 최종 메시지 중심 출력 대신 app-server의 item/agentMessage/delta를 IOP delta event로 전달해 사용자 레벨에서 실시간 스트림 UX를 제공한다.

상태

[완료]

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • CLI adapter에 codex-app-server 실행 mode 추가
  • codex app-server --stdio JSON-RPC client lifecycle 구현
  • IOP logical session_id와 app-server thread 재사용 매핑
  • app-server item/agentMessage/delta, item/completed, turn/completed, error event를 IOP runtime event로 변환
  • 기본 target/profile 이름은 codex로 유지하고, app-server mode를 codex의 기본 실행 경로로 전환
  • codex-exec 경로는 fallback 또는 별도 명시 profile로 남길 수 있게 호환성 유지
  • scripts/dev/edge.shscripts/dev/node.sh 기준 2-message 사용자 레벨 stream smoke 검증

기능

Epic: [appserver-runtime] Codex app-server runtime

Codex app-server를 장기 JSON-RPC 실행기로 붙여 IOP CLI adapter의 세션/스트림 계약에 맞춘다.

  • [mode-router] CLI adapter에 codex-app-server mode를 추가하고 executor/session reporter 라우팅을 분리한다.
  • [rpc-lifecycle] codex app-server --stdio 프로세스를 시작한 뒤 initialize, initialized, thread/start, turn/start 흐름을 안정적으로 처리한다.
  • [session-thread] IOP session_id별 app-server thread를 재사용하고 /terminate-session에서 해당 세션을 정리한다.
  • [event-map] item/agentMessage/deltaRuntimeEvent{Type: delta}로 전달하고, turn/completed는 complete, app-server error와 failed turn은 error로 매핑한다.
  • [default-profile] configs/edge.yaml의 기본 codex profile을 app-server mode로 전환한다. 검증: console.target과 CLI profile key가 모두 codex인 상태에서 기본 Codex 실행이 app-server 경로를 사용한다.
  • [exec-fallback] 기존 codex-exec 실행 경로는 회귀 테스트와 fallback profile 후보로 유지한다.
  • [stream-smoke] ./scripts/dev/edge.sh./scripts/dev/node.sh 시작 후 codex target으로 2-message 왕복에서 델타 스트림이 관찰된다. 검증: 두 메시지가 같은 logical session에서 완료되고, 적어도 한 turn에서 app-server delta event가 IOP delta로 relay된다.

완료 리뷰

  • 상태: 승인됨
  • 요청일: 2026-06-12
  • 완료 근거:
    • 01_appserver_rpc_client, 02+01_session_events, 03+02_default_profile, 04+03_stream_smokecomplete.log가 모두 Roadmap Completion을 포함하며, 기능 Task id 7개가 모두 PASS로 매칭되었다.
    • 실제 codex profile smoke에서 foreground 2회, background 1회, mode=codex-app-server session list, /terminate-session, /status가 통과했다.
    • 최종 검증은 go test ./apps/node/... ./apps/edge/... -count=1, ./scripts/e2e-smoke.sh, IOP_E2E_PROFILE=codex IOP_E2E_RUN_TIMEOUT=120 IOP_E2E_STATUS_TIMEOUT=120 ./scripts/e2e-smoke.sh로 확인되었다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 2026-06-13 사용자 요청으로 완료 승인 및 archive 이동을 수행했다.

범위 제외

  • Codex app-server의 전체 rich client 기능 구현
  • WebSocket transport 우선 도입
  • OpenAI-compatible API 또는 A2A payload에 Codex app-server 제어 기능을 노출
  • app-server approval UI의 전체 제품화
  • codex exec --json 삭제

작업 컨텍스트

  • 관련 경로: apps/node/internal/adapters/cli/, apps/node/internal/runtime/, configs/edge.yaml, scripts/dev/edge.sh, scripts/dev/node.sh, agent-test/local/
  • 표준선(선택): 사용자가 원하는 기본 target/profile 이름은 codex다. app-server mode는 새 target 이름이 아니라 기존 codex profile의 기본 실행 방식으로 들어간다.
  • 선행 작업: codex exec --json 델타 미지원 확인, codex app-server의 ChatGPT Plus 인증 및 2-turn delta stream probe 확인
  • 후속 작업: app-server approval, rate-limit/account 상태, rich client 기능을 별도 운영 표면으로 확장할지 검토
  • 확인 필요: 없음