Autonomous Multicode on Apple Containers#3
Draft
graemerocher wants to merge 75 commits into
Draft
Conversation
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Add Codex as a configurable multicode agent alongside the existing OpenCode flow, including runtime wiring, app-server integration, Apple container support, and documentation for Codex-specific configuration. Extend Apple container isolation so Codex can run inside macOS-backed workspaces with a synthetic CODEX_HOME, mounted skills, host configuration passthrough, and agent-specific images/tooling for Java 25 and related Micronaut workflows. Implement autonomous issue-handling support for Codex-backed workspaces, including repository assignment, issue claiming, explicit automation state tracking, and state-file based status propagation so the TUI can distinguish working, question, review, and idle states more reliably. Harden the live Apple-container path by fixing assigned-issue resume behavior across restarts, making gh issue inspection compatible with the installed gh version, and avoiding false idle transitions caused by expiring automation state during long-running Codex work. Update the TUI flow and integration coverage to reflect the new agent option and autonomous workflow behavior, and document the new Codex configuration and runtime expectations in the README and example config. Co-Authored-By: Codex <codex@openai.com>
Only auto-resume autonomous Codex work after detaching from an attach session when the workspace was still actively working. Do not send a synthetic resume prompt when the autonomous state is review, question, idle, or stale, so a workspace that is waiting for human review or publish approval is not kicked back into execution on reattach. Add focused TUI coverage for the attach auto-resume decision. Co-Authored-By: Codex <codex@openai.com>
Force Apple-container PTY sessions to use a portable terminal definition so interactive bash sessions opened from the TUI do not inherit unsupported host terminal types inside the container. Set TERM to xterm-256color and provide COLORTERM=truecolor for the generated exec env used by both one-shot PTY runs and container exec reuse. Add focused runtime tests covering both Apple PTY code paths. Co-Authored-By: Codex <codex@openai.com>
Implement Apple-container runtime usage sampling through the local container stats command so multicode can populate the CPU and RAM columns for macOS-backed workspaces. Parse one-shot JSON stats output, map memory usage directly, and convert cumulative CPU usage from microseconds into the nanosecond counter format already used by the shared resource usage service. Add focused parser tests covering normal stats output, empty results, and invalid JSON. Co-Authored-By: Codex <codex@openai.com>
Add a VS Code compare action for workspace rows and only surface the hotkey when a usable repository root can be resolved. Compare now prefers validated review metadata and falls back to the assigned repository checkout or autonomous issue worktree inside the workspace, so live workspaces without explicit review links still open on the correct repo root. Add tests covering review-path precedence, workspace fallback resolution, and the compare hotkey visibility path. Co-authored-by: Codex <codex@openai.com>
Apply the remaining formatting-only change in the autonomous workspace service so the worktree is clean. Co-authored-by: Codex <codex@openai.com>
Pin the Apple-container Codex image to Codex CLI 0.120 instead of taking the latest npm release at build time. Allow build-local.sh to override the pinned version through CODEX_VERSION so testing an intentional upgrade does not require editing the Containerfile. Document the pinned build and the override flow in the README. Co-Authored-By: Codex <codex@openai.com>
Add multi-task autonomous scheduling so a workspace acts as a VM/repository summary while issue work moves into child task rows backed by dedicated worktrees and per-task runtime state. Improve Codex task orchestration by recovering task sessions from Codex state, reconciling runtime state per task, tracking machine-readable issue/PR metadata on task threads, and fixing Waiting on VM versus Busy transitions for non-active tasks. Update the TUI to support task rows as first-class entries with task-specific attach, compare, delete, and issue/PR link handling, while keeping workspace-level refresh and autonomous scan behavior aligned with available task capacity. Co-authored-by: OpenAI Codex <codex@openai.com>
Refine multicode's Codex task lifecycle handling across autonomous task sessions. - recover newer Codex task sessions from persisted session history when stale interrupted threads are still referenced - keep per-task session ownership aligned with resumed task threads so attach and metadata resolution use the current session - update task descriptions after optimistic background resume so reviewable tasks show PR-created state instead of leaving a stale resuming banner - harden autonomous state tracking and related TUI behavior around resumed review/working transitions Co-Authored-By: multicode <multicode@yawk.at>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: OpenAI Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR does the the following: