개선 #527
완료됨개선 #525: Codex CLI 0.142.2 app-server 대응 개발 묶음
Codex 0.142.2 app-server schema/live/bundle release gate 보강
100%
설명
h2. 배경
현재 schema gate는 Hive 필수 subset을 검증하지만 전체 surface 대응표는 아니며, live/bundle smoke는 ci:production 기본 gate가 아니라 release host별 별도 실행이다. 0.142.2 대응 개발 후 drift를 막기 위한 fixture와 smoke coverage를 보강한다.
근거 문서: docs/design/codex-cli-0.142.2-app-server-protocol-audit.md
h2. 작업 범위
-
scripts/fixtures/hive-app-server-contract.json에 이번 대응에서 Hive가 실제 의존하는 0.142.2 method/field를 반영한다. -
validate-codex-app-server-schema.mjs와 bundle gate가 새 필수 필드 drift를 놓치지 않게 한다. - live smoke에 권한 프로파일, workspace roots, 주요 notification 수신/무시 정책을 검증하는 체크를 추가한다.
-
pendingRequest/respond가 Hive 내부 command/result label이며 app-server method가 아니라는 계약을 유지한다.
h2. 완료 기준
- 0.142.2 바이너리 기준 schema gate가 통과한다.
- release bundle gate가 새 필수 계약을 검증한다.
- prerequisite 부재 시 skip과 failure가 명확히 구분된다.
Carl Friedrich Gauss이(가) 6일 전에 변경
h2. 선행분석 결과
읽기 전용으로 확인했습니다. 현재 #527의 대상 범위는 한 일감 안에서 처리 가능해 보입니다. 단, “게이트 보강”을 넘어서 runtimeWorkspaceRoots, environments, clientUserMessageId, activePermissionProfile의 실제 제품 송수신/상태 보존까지 구현하려면 후속/인접 일감으로 분리하는 편이 맞습니다.
h3. 현 상태
- schema gate는 0.142.2 기준
ClientRequest33개,ServerRequest6개,ServerNotification1개를 fixture로 고정합니다. - live app-server smoke는 initialize, account/rateLimits/read, thread/start, turn/start completion, command approval, request_user_input, MCP elicitation, thread/delete, turn/steer, turn/interrupt, pending server-request response plumbing을 검증합니다.
- bundle release gate는 remote bundle manifest/ZIP 검증 후 같은 추출 바이너리로 schema gate와 live smoke를 실행합니다.
-
ci:production에는 live/bundle gate가 기본 포함되지 않고 release host matrix에서 별도 실행하는 구조입니다.
h3. 보강 필요 항목
- schema fixture에 실제 Hive 송신 필드 누락분을 보강해야 합니다. 특히
permissions(thread/start,turn/start), smoke 전용mcpServer/tool/call, sensitive policy smoke의command/exec+permissionProfile검토가 필요합니다. - 현재
thread/forkpayload의persistExtendedHistory는 0.142.2 generated field 목록과 맞지 않아 보입니다. 실제 schema/런타임 수용 여부를 확인하고 제거 또는 공식 필드 대체 여부를 결정해야 합니다. - command approval
cwd는 0.142.2 공식 payload이므로 bundle/live release gate에서 기본 검증으로 올릴지 검토해야 합니다. - bundle validator는 세 플랫폼 ZIP 구조와 checksum, Windows companion 존재를 확인하지만 비현재 플랫폼 binary version 실행 검증은 못 합니다. ZIP 내부
codex-package.jsonversion/entrypoint와 manifest version 일치 검증을 추가하는 것이 좋습니다. - Windows sandbox readiness/setup은 현재 env flag/manual gate 성격입니다. Windows release lane에서는 별도 fail-closed 또는 명시 evidence 요구가 필요합니다.
h3. 볼륨 판단
#527은 schema/live/bundle gate 보강 범위로 제한하면 한 일감 내 처리 가능합니다. runtime payload/state/UI 지원은 #526/#531/#529 범위와 분리해 유지합니다.
h3. 검증 계획
npm run validate:codex-app-server-schemanpm run test -- electron/codexAppServerSchemaGate.behavior.test.ts electron/liveAppServerGate.behavior.test.ts electron/releaseCodexBundleValidator.behavior.test.ts- prerequisites 있을 때
HIVE_CODEX_BINARY=... HIVE_GATEWAY_AUTH_KEY=... npm run test:live-app-server - bundle 생성 후
release:validate-codex-bundles,release:gate-codex-bundles - Windows host에서는 sandbox readiness/setup gate 별도 실행
Carl Friedrich Gauss이(가) 6일 전에 변경
h2. Codex app reference 기준 진행방향 업데이트
사용자가 “Hive 앱은 정식 레퍼런스로 Codex app을 따르며, 가능한 동일한 동작방식 및 표시 형태를 따라야 한다”고 방향을 확정했습니다.
공통 원칙:
- wire/protocol compatibility는 target Codex CLI 0.142.2 generated TS/schema를 기준으로 한다.
- UX, 표시 형태, suppress 여부, 사용자-facing wording은 Codex app reference를 먼저 관찰하고 가능한 동일하게 맞춘다.
- 현재 설치된
/Applications/Codex.app/Contents/Resources/codex는codex-cli 0.142.0이므로, 0.142.2 신규 필드는 0.142.2 schema로 검증하고 표시 정책은 관찰 가능한 Codex app 동작을 우선한다. - Codex app에서 보이지 않거나 확인 불가한 surface는 Hive가 임의 UI를 만들지 말고 protocol/state/diagnostics 중심으로 처리한다.
- 단, Hive Gateway credential, enterprise policy, sensitive-file warning/redaction처럼 보안/운영 경계는 Codex app parity보다 엄격해질 수 있다.
h3. #527 진행방향
schema/live/bundle gate는 Hive 독자 시나리오를 늘리는 방향이 아니라 Codex app reference 동작을 회귀 없이 재현하는 방향으로 보강합니다. 0.142.2 generated schema가 wire truth이고, live/bundle smoke는 Codex app이 실제로 의존하는 thread/turn/approval/MCP/account 흐름을 우선 검증합니다. Windows sandbox gate 같은 release-host 정책은 Codex app reference와 Hive 배포 인프라의 차이를 명시적으로 분리해 검증합니다.
Carl Friedrich Gauss이(가) 5일 전에 변경
- 담당자을(를) 정인 김(으)로 지정되었습니다.
Redmine Admin이(가) 3일 전에 변경
- 상태을(를) 신규에서 완료(으)로 변경되었습니다.
Artifact-free close after full validation.
Final branch: codex/redmine-556-credential-redaction
Final commit: 58a7bcaf2b31edf7edc0624210ac23af2ca64d69
Full test results:
- npm run ci:production: passed (lint, typecheck, test, build:renderer, validate:fixtures, validate:package-config; release:check-signing skipped because HIVE_RELEASE_BUILD is not enabled)
- npm run validate:codex-app-server-schema: passed against local Codex 0.142.2 bundle prereq
- npm run test:live-app-server: skip-success because HIVE_CODEX_BINARY, CODEX_API_KEY or HIVE_GATEWAY_AUTH_KEY were missing
- npm run test:live-sensitive-policy: passed
Release artifacts: not created per user instruction; release/ and release-smoke/ artifact check was empty.
정인 김이(가) 3일 전에 변경
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
Codex app-server 0.142.2 작업 묶음 artifact-free 검증 완료로 일감을 닫습니다.
- final branch: codex/redmine-556-credential-redaction
- final commit: 58a7bcaf2b31edf7edc0624210ac23af2ca64d69
- npm run ci:production: 통과 (lint/typecheck/Vitest 130 files/1697 tests/build renderer/fixture/package config gate 통과, release signing check는 HIVE_RELEASE_BUILD 비활성으로 skip)
- npm run validate:codex-app-server-schema: 통과
- npm run test:live-app-server: 환경 선행조건 부재로 성공 skip
- npm run test:live-sensitive-policy: hard failure 없음
- release/ 및 release-smoke/ 배포 산출물 미생성 확인
- 배포 산출물 생성은 사용자 별도 지시 예정이므로 수행하지 않았습니다.