개선 #529
완료됨개선 #525: Codex CLI 0.142.2 app-server 대응 개발 묶음
Codex 0.142.2 Windows sandbox readiness/setupCompleted 제품 projection 및 검증
100%
설명
h2. 배경
Hive는 windowsSandbox/readiness와 windowsSandbox/setupStart smoke path를 갖고 있으나, windowsSandbox/setupCompleted와 windows/worldWritableWarning은 제품 runtime projection이 제한적이다. Windows 배포 lane에서는 sandbox companion 실행 가능성과 사용자 안내가 중요하다.
근거 문서: docs/design/codex-cli-0.142.2-app-server-protocol-audit.md
h2. 작업 범위
- Windows sandbox readiness/setup 진행/완료/실패 상태를 renderer 또는 boot/recovery notice에 반영한다.
-
windows/worldWritableWarning표시 또는 진단 수집 정책을 정한다. - non-Windows host에서는 명확한 skip을 유지하고, Windows host에서는 setup/readiness smoke를 release checklist와 연결한다.
h2. 완료 기준
- Windows sandbox 관련 notification이 제품 상태 또는 진단에 반영된다.
- macOS 개발 환경에서는 false failure 없이 skip된다.
- Windows release artifact 검증 문서와 smoke 경로가 서로 어긋나지 않는다.
Carl Friedrich Gauss이(가) 6일 전에 변경
h2. 선행분석 결과
읽기 전용으로 코드/문서/smoke 경계를 확인했습니다. 현재 Hive는 windowsSandbox/readiness, windowsSandbox/setupStart 요청 타입과 smoke 경로를 보유하고 있으나, windowsSandbox/setupCompleted와 windows/worldWritableWarning은 제품 RuntimeEvent/diagnostics projection에 반영되지 않습니다.
h3. 확인된 현 상태
- schema fixture와
validate:codex-app-server-schema는windowsSandbox/readiness,windowsSandbox/setupStart,windowsSandbox/setupCompleted계약을 고정합니다. -
electron/appServerSupervisor.ts에는 readiness/setupStart 보조 요청이 있습니다. -
scripts/lib/codex-app-server-smoke.mjs는 Windows host에서 readiness를 읽고, 필요 시 setupStart 후 setupCompleted success/mode를 검증합니다. - non-Windows host에서는
smoke:windows-codex-sandbox가 명시적으로 skip합니다. - 제품 dispatcher/projection allow-list에는
windowsSandbox/setupCompleted,windows/worldWritableWarning이 없어 renderer 상태/진단으로 내려가지 않습니다. - boot/recovery notice는 현재 app-server 연결 상태와 Codex bundle 상태 중심이며 Windows sandbox 상태 필드는 없습니다.
h3. 권장 수정 범위
-
windowsSandbox/setupCompletednotification을 제품RuntimeEvent/diagnostics에 반영합니다. -
windows/worldWritableWarning을 사용자 표시 또는 진단 수집 정책에 맞춰RuntimeWarning등으로 반영합니다. - Windows host에서만 readiness 조회/표시를 연결하고, macOS 개발 host에서는 false failure 없이 skip을 유지합니다.
- Windows release 문서는 bundle companion 포함 검증과 native sandbox readiness/setup 검증을 분리해 유지합니다.
h3. 범위 제외/후속 후보
앱 안에서 elevated/unelevated setup을 직접 시작하는 버튼, UAC 안내, setup wizard까지 포함하면 별도 UX/보안 검증이 필요합니다. 필요 시 후속 일감 “Windows sandbox setup UX 및 UAC 안내 플로우”로 분리하는 것을 권장합니다.
h3. 볼륨 판단
#529는 제품 projection과 진단 연결까지만 처리하면 일감 내 처리 가능입니다.
h3. 검증 계획
- macOS:
npm run validate:codex-app-server-schema, 관련 Vitest,npm run typecheck,npm run smoke:windows-codex-sandboxskip 확인 - Windows release host:
HIVE_PACKAGE_SMOKE_CODEX_BINARY=...,HIVE_GATEWAY_AUTH_KEY=...,npm run smoke:windows-codex-sandbox - setup 필요 host:
HIVE_CODEX_SMOKE_WINDOWS_SANDBOX_SETUP=1,HIVE_CODEX_SMOKE_WINDOWS_SANDBOX_MODE=unelevated|elevated로 setupCompleted success 확인 - artifact/bundle:
release:validate-win-artifact,release:validate-codex-bundles; 단 native readiness 증명은 Windows sandbox smoke가 담당
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. #529 진행방향
Windows sandbox readiness/setupCompleted/worldWritableWarning은 Codex app의 Windows 표시/안내 흐름을 우선 reference로 삼습니다. Codex app이 setup prompt, warning, recovery notice를 제공하면 동일한 위치와 표현 방식에 가깝게 맞추고, reference를 확인하지 못하면 Hive 임의 setup wizard를 만들지 말고 notification projection과 diagnostics/release verification까지만 처리합니다. UAC/setup UX는 Codex app reference 확인 전에는 후속으로 유지합니다.
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/ 배포 산출물 미생성 확인
- 배포 산출물 생성은 사용자 별도 지시 예정이므로 수행하지 않았습니다.