- 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
4.4 KiB
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 --stdioJSON-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.sh와scripts/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-servermode를 추가하고 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/delta를RuntimeEvent{Type: delta}로 전달하고,turn/completed는 complete, app-server error와 failed turn은 error로 매핑한다. - [default-profile]
configs/edge.yaml의 기본codexprofile을 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시작 후codextarget으로 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_smoke의complete.log가 모두 Roadmap Completion을 포함하며, 기능 Task id 7개가 모두 PASS로 매칭되었다.- 실제
codexprofile smoke에서 foreground 2회, background 1회,mode=codex-app-serversession 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 이름이 아니라 기존codexprofile의 기본 실행 방식으로 들어간다. - 선행 작업:
codex exec --json델타 미지원 확인,codex app-server의 ChatGPT Plus 인증 및 2-turn delta stream probe 확인 - 후속 작업: app-server approval, rate-limit/account 상태, rich client 기능을 별도 운영 표면으로 확장할지 검토
- 확인 필요: 없음