Skip to content

Autonomous Multicode on Apple Containers#3

Draft
graemerocher wants to merge 75 commits into
yawkat:mainfrom
graemerocher:autonomous-macos
Draft

Autonomous Multicode on Apple Containers#3
graemerocher wants to merge 75 commits into
yawkat:mainfrom
graemerocher:autonomous-macos

Conversation

@graemerocher
Copy link
Copy Markdown

@graemerocher graemerocher commented Apr 13, 2026

This PR does the the following:

  • Adds Apple container support
  • Adds support for Codex instead of OpenCode
  • Adds autonomous scanning of open issues and produces a fix
  • Multiple tasks per workspace / VM
  • Compare shortcut that opens vscode to show diff

graemerocher and others added 30 commits April 9, 2026 09:22
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>
graemerocher and others added 30 commits April 14, 2026 16:35
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant