프로젝트

일반

사용자정보

Actions

개선 #527

완료됨

개선 #525: Codex CLI 0.142.2 app-server 대응 개발 묶음

Codex 0.142.2 app-server schema/live/bundle release gate 보강

개선 #527: Codex 0.142.2 app-server schema/live/bundle release gate 보강

Carl Friedrich Gauss이(가) 6일 전에 추가함. 3일 전에 수정됨.

상태:
완료
우선순위:
보통
담당자:
범주:
-
시작일:
2026/06/26
완료일:
진척도:

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일 전에 변경 Actions #1

h2. 선행분석 결과

읽기 전용으로 확인했습니다. 현재 #527의 대상 범위는 한 일감 안에서 처리 가능해 보입니다. 단, “게이트 보강”을 넘어서 runtimeWorkspaceRoots, environments, clientUserMessageId, activePermissionProfile의 실제 제품 송수신/상태 보존까지 구현하려면 후속/인접 일감으로 분리하는 편이 맞습니다.

h3. 현 상태

  • schema gate는 0.142.2 기준 ClientRequest 33개, ServerRequest 6개, ServerNotification 1개를 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/fork payload의 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.json version/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-schema
  • npm 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일 전에 변경 Actions #2

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/codexcodex-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일 전에 변경 Actions #3

  • 담당자을(를) 정인 김(으)로 지정되었습니다.

Redmine Admin이(가) 3일 전에 변경 Actions #4

  • 상태을(를) 신규에서 완료(으)로 변경되었습니다.

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일 전에 변경 Actions #5

  • 진척도을(를) 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/ 배포 산출물 미생성 확인
  • 배포 산출물 생성은 사용자 별도 지시 예정이므로 수행하지 않았습니다.
Actions

내보내기 PDF Atom