Skip to content

Validate Codex-base Every Code in copied Codex Desktop app #387

@shiny-code-bot

Description

@shiny-code-bot

Finish Line

The Codex Desktop copied-app flow runs against a Codex-base Every Code binary far enough to submit a real low-risk chat/action, and any remaining protocol gaps are captured as concrete follow-up work.

Current Status

State: Current Codex-base copied-app validation reached Desktop/app-server startup, but full UI/chat/session validation is blocked by concrete compatibility gaps.

Validation run on current Codex-base main:

  • Worktree/branch: /Users/cbusillo/.code/worktrees/code/codex-desktop-current on test/codex-desktop-current at 80f34436bf (PR docs: inventory Every Code feature ports #392 merged).
  • Built binary: /Users/cbusillo/.code/worktrees/code/codex-desktop-current/.code/working/_target-cache/codex-desktop-current/test-codex-desktop-current-b22f1e392c79-63e11c7fcb22/code-rs/debug/code.
  • ./build-fast.sh passed cleanly and produced a 538M code binary with hash fb1a634d1c54363fa076ab6ecc7f375327a37f02a485a2e8c344945b0543cc41.
  • Copied app under test: /Users/cbusillo/Applications/Codex Every Code Current Test.app.
  • Real installed app /Applications/Codex.app was not modified.
  • The copied app bundle was given bundle id com.openai.codex.every-code-current-test, had only its copied Contents/Resources/codex replaced, and was ad-hoc re-signed/verified successfully.
  • The copied app spawned /Users/cbusillo/Applications/Codex Every Code Current Test.app/Contents/Resources/codex app-server --analytics-default-enabled; lsof confirmed the process image is the swapped copied-bundle binary.
  • With normal CODE_HOME=/Users/cbusillo/.code, Desktop reached the app-server but repeatedly failed config/read because current Every Code config contains shapes the Codex-base parser rejects, notably tui.alternate_screen = true and a config parse error near line 210.
  • With a temporary clean CODE_HOME=/tmp/code-desktop-home.RU08rY, app-server initialize succeeded, Desktop reported current app-server version 0.0.0, the window reached ready-to-show, and config/read, thread/list, model/list, skills/list, account/read, and mcpServerStatus/list succeeded.
  • CoreGraphics saw an on-screen copied-app window (owner=Codex Every Code Current Test, name=Codex, bounds roughly 2294x1045). Screenshot/window capture was not reliable in this environment; System Events reported zero accessibility windows even though CoreGraphics saw the window.

Current compatibility blockers from the clean-home run:

  • remoteControl/status/read is requested by Desktop but unknown to the current Codex-base app-server.
  • remoteControl/enable is requested by Desktop but unknown to the current Codex-base app-server.
  • experimentalFeature/enablement/set rejects remote_plugin; Desktop still tries to sync that feature enablement.
  • plugin/list rejects a Desktop request variant vertical; current app-server expects only local, workspace-directory, or shared-with-me.
  • fs/readFile returned No such file or directory once during startup, but this appeared non-fatal in the clean-home run.
  • code --version for the embedded binary still reports codex-cli 0.0.0, which belongs to the remaining Port Every Code identity and config boundary onto Codex base #385 identity sweep.

Decision/update:

  • The copied Desktop app definitely uses the embedded CLI app-server and can initialize against the current Codex-base Every Code binary.
  • Full "real chat/action" validation remains blocked until the Desktop startup compatibility gaps above are handled, or explicitly no-op shimmed where harmless.
  • Externally-created session continuity remains unvalidated and should stay gated by Decide remote inbox and Discord UI for Codex-base session continuity #388.

Next action:

  • Implement a narrow app-server compatibility slice for the missing Desktop startup calls (remoteControl/status/read, remoteControl/enable, remote_plugin feature enablement, and plugin/list vertical handling) before rerunning the copied-app chat/session probe.

Acceptance Criteria

  • Build the Codex-base code binary from the selected migration branch.
  • Replace only the copied app bundle's embedded binary; never modify /Applications/Codex.app.
  • Re-sign and verify the copied app bundle.
  • Launch the copied app and confirm the child app-server process is the Codex-base Every Code binary.
  • Submit one real, low-risk chat/action manually or with reliable protocol tracing.
  • Create or simulate a GitHub/LaunchPlane-origin session and validate discovery/resume/continue behavior in the chosen UI.
  • Validate remote approval/reply/user-input flow or document the missing replacement that keeps Decide remote inbox and Discord UI for Codex-base session continuity #388 open.
  • Capture app-server logs/traffic for any missing method, shape, event ordering, auth/config, or state behavior.
  • Record screenshots/log excerpts and update Combine Every Code with the Codex Desktop app #377 with the result.

Relationships

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:waitingPlan is waiting on non-issue evidence or decision

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions