본문으로 건너뛰기
문서

CodeSpace의 Codex 재사용 범위

CodeSpace는 특정 버전에 고정한 Codex 소스의 실행 라이브러리를 선택적으로 사용합니다. 계획과 코드 생성은 외부 에이전트가 담당합니다. MCP, 작업 공간 권한, 작업 식별자, 프로세스 관리는 CodeSpace가 담당합니다.

실제 연결된 구성 요소

어댑터Codex 구성 요소현재 역할
crates/patchcodex-apply-patch, codex-exec-server::LOCAL_FS, 경로 도구, 프로세스 보호codespace-patch 안에서 V4A 파싱·적용
crates/codex-runtimecodex-process-hardening, codex-uds선택적 worker의 보호 설정과 Unix 소켓
crates/ptycodex-utils-ptytty: true의 터미널 실행
crates/file-systemcodex-file-system, LOCAL_FS, 경로 도구심볼릭 링크를 따라가지 않는 Runner 파일 I/O와 범위가 제한된 탐색
crates/linux-sandboxcodex-linux-sandbox, codex-sandboxing, codex-protocol, codex-network-proxy실행 파일 전용 명령 샌드박스 도우미와 enabled 네트워크 프록시

의존성이 존재한다고 그 구성 요소의 서비스 전체가 실행되는 것은 아닙니다. 예를 들어 파일·패치 어댑터는 codex-exec-serverLOCAL_FS를 사용하지만 그 서버를 일반 명령 실행 백엔드로 사용하지는 않습니다. Linux 도우미가 프록시와 샌드박스 변환을 관리하며 공개 타입은 CodeSpace 타입으로 유지합니다.

어댑터 경계

text
에이전트 → CodeSpace MCP·정책·저장소 → Runner 계약
                                      → 어댑터 → Codex 실행 라이브러리 → OS

핵심 crate에는 직접적인 Codex 의존성이 없습니다. 어댑터는 고정된 업스트림의 workspace 의존성을 수용하기 위해 별도의 Cargo workspace로 구성합니다. 파일 시스템·PTY 어댑터는 Runner의 라이브러리 의존성이며, 패치와 Linux 샌드박스는 도우미 프로세스를 사용합니다. Cargo workspace를 분리하는 것만으로 프로세스나 보안 경계가 생기지는 않습니다.

Linux 샌드박스 도우미는 실행 파일만 제공합니다. codespace-linux-sandbox-protocol에는 CodeSpace가 정의한 핸드셰이크 데이터만 있고 Codex 타입은 없습니다. worker의 UDS 프로토콜 버전 5와 샌드박스 도우미 프로토콜 버전 1은 별개의 계약입니다.

권한 결정은 CodeSpace에서 수행

게이트웨이 정책은 작업 공간에서 허용할 행동을 결정합니다. Codex 실행 코드는 no-follow 파일 접근, PTY 생성, 샌드박스 설정 같은 기능을 구현합니다. Codex 세션 권한, 로그인, 모델 선택, 에이전트 루프를 가져오는 것은 이 책임 구분을 바꾸는 일이며 현재 제품에 포함되지 않습니다.

현재 진입점은 codex-core, codex-exec, Codex App Server를 제품 런타임으로 내장하지 않습니다. 간접 의존성 그래프의 범위와 실제 호출 경로는 별도로 평가합니다. 보안 경계를 참고하세요.

업데이트와 향후 검토

재사용하는 구성 요소는 현재 모두 같은 고정 버전에서 가져옵니다. 업스트림 수정은 버전 갱신과 검증을 거쳐야 반영되며 자동으로 들어오지 않습니다. 업데이트 검사는 패치뿐 아니라 연결된 모든 어댑터를 포함합니다.

codex-file-search, 셸 명령 파싱, worktree 준비, 범용 codex-exec-server 백엔드는 아직 연결되지 않은 후보입니다. 도입 시 제공하는 실행 기능, 빌드·업데이트 비용, 모델이나 권한 결정 책임이 어댑터 경계를 넘는지를 검토합니다. 사용자에게 영향을 주는 현재 제약은 Agent Loop 연동에 정리되어 있습니다.