Add only independent missing capabilities. Existing or partially overlapping implementations stay unchanged. A different feature flag, tool name or implementation does not establish a missing function. This audit uses a pinned official source snapshot and does not claim parity with all current Codex products.
Coverage: 147 feature flags, 30 CLI subcommands and 38 tool-handler modules, all classified. Experimental, removed and internal entries are included; counts are not counts of independent product capabilities. Overlap classifications do not assert identical behavior.
Retain a read-only permission-rule explanation/self-test CLI using the original matcher without changing enforcement. Retain optional macOS command-domain restrictions using an authenticated local proxy and Seatbelt; default networking stays unchanged, private destinations are rejected, and unsupported Linux/WSL domain mode refuses execution. Add optional idle-system-sleep prevention during agent execution, disabled by default and macOS only. An IOKit assertion belongs to each active execution and is released on completion, error or cancellation; display sleep and explicit user sleep are unaffected. Configuration is read at the next execution. Acquisition failure logs a warning without failing the task.
Earlier additions to context, patching, environment filtering, project instruction hierarchy and context-remaining tools are removed from this candidate, preserving existing implementations. Sleep prevention adds only a default-inactive resource lifecycle around dispatcher execution and does not replace execution algorithms.
Final verification enters through public CLI rule explanations/assertions, sandbox command restrictions, configuration and the real dispatcher lifecycle. Cover disabled defaults, cleanup on failure, independent concurrent assertions and unsupported platforms, then affected tests, the full gate, documentation links and installed-App acceptance. No new passing results are claimed.
| ID | Decision and rationale | Existing source |
|---|---|---|
| execution | overlap Existing one-shot commands, owned cancellation, managed processes, stdin and terminal resources overlap. Do not replace them with unified_exec, zsh forks or shell snapshots. | openprogram/backend/local.pyopenprogram/backend/process.pyopenprogram/processes/store.pyopenprogram/terminal_resources.py |
| context | overlap Context projection, summaries, budgets and occupancy already exist. Different algorithms or provider endpoints are overlapping implementations; leave them unchanged. | openprogram/context/request_compaction.pyopenprogram/context/engine.pyopenprogram/context/session_stats.pyopenprogram/context/bounded_summary.py |
| patch | overlap Patch editing, file-change receipts and worktrees already exist. Move syntax, fuzzy matching, line-ending preservation and streaming patch progress are extensions of existing behavior; excluded. | openprogram/programs/tools/files/apply_patch.pyopenprogram/store/snapshot/checkpointopenprogram/worktree |
| runtime | overlap Durable execution, programmatic calls and cancellation already exist. A JavaScript/V8 runtime or different execution transport would overlap, not fill a missing product function. | openprogram/agentic_programming/runtimeopenprogram/programs/tools/code/execute_code.pyopenprogram/execution |
| history | overlap Persistence, branches, resumable effects and transcript UI already exist. Codex rollout migration and compression concern a different storage format; no storage rewrite. | openprogram/store/sessionopenprogram/executionapps/web/components/chat |
| memory | overlap Persistent memory, archived sources and consolidation exist. Foreign memory formats and passive screen memory expand that existing system and are excluded under the no-overlap rule. | openprogram/memory/core.pyopenprogram/memory/management/source_archive.pyopenprogram/memory/sleep |
| permissions | overlap Existing rule enforcement, approval and model review remain unchanged. Only a separate read-only rule explanation/self-test CLI is retained. | openprogram/agent/permissions/policy.pyopenprogram/agent/permissions/approval.pyopenprogram/agent/permissions/auto_review.pyopenprogram/programs/workflow/security_review |
| sandbox | overlap Existing Seatbelt and bubblewrap/WSL enforcement overlaps these mechanisms. Native Windows and Landlock are alternate implementations, not adopted. | openprogram/sandbox/__init__.pyopenprogram/_platform/environment.py |
| network | missing-retained Baseline shell sandbox has a network boolean; safe_http protects managed HTTP clients, not arbitrary command sockets. Per-command OS-enforced destination domains are missing. Retain optional macOS managed proxy; default network modes remain unchanged. | openprogram/sandbox/__init__.pyopenprogram/security/safe_http.pyopenprogram/security/url_policy.py |
| providers | overlap Model discovery, credential sources, proxy-aware HTTP, failover and transport already exist. OpenAI-specific payload compression and infinite retry policies are overlapping/provider-specific behavior; no replacement. | openprogram/providersopenprogram/authopenprogram/security/safe_http.py |
| multiagent | overlap Child agents, message delivery, durable jobs and goals already exist. Do not add a second collaboration or goal subsystem. | openprogram/programs/tools/agentsopenprogram/agent/jobopenprogram/programs/workflow/goal |
| mcp | overlap MCP tools/resources/auth and resource interfaces exist. Protocol revisions, MCP Apps and endpoint overrides extend overlapping integrations; not automatically migrated. | openprogram/mcp/client.pyopenprogram/mcp/oauth_flow.pyopenprogram/resource_interface.pyopenprogram/resources |
| discovery | overlap Tool discovery, marketplace installs, plugin hooks and skills already exist. Recommendations, sharing and dependency convenience features overlap these systems; leave them unchanged. | openprogram/programs/__init__.pyopenprogram/plugins/marketplace.pyopenprogram/plugins/installer.pyopenprogram/plugins/hooks.pyopenprogram/skills/discovery.pyopenprogram/skills/loader.py |
| interaction | overlap Questions, owner responses, queued follow-ups and messaging exist. Async variants and mention UI are overlapping interaction behavior. | openprogram/programs/tools/interaction/clarify.pyopenprogram/programs/workflow/ask_useropenprogram/agent/agent_loop.pyopenprogram/channels |
| web | overlap Web search, image viewing, browser tools and GUI control exist. Provider-specific external/full-CDP variants are not new standalone gaps. | openprogram/programs/tools/webopenprogram/backend/gui.pyopenprogram/browser_resources.pyapps/desktop |
| media | overlap Images, attachments, speech output, dictation and canvas/artifacts exist. Full realtime duplex voice and image-budget algorithms overlap media subsystems; no rewrite or parity claim. | openprogram/programs/tools/web/image_generateopenprogram/programs/tools/web/image_analyzeopenprogram/tts.pyopenprogram/attachments.pyopenprogram/programs/tools/interaction/canvas.pyapps/web |
| desktop | overlap Worker supervision, chat, scheduled work and updates already exist. Transport/daemon variants remain unchanged. | openprogram/workeropenprogram/scheduleropenprogram/proactiveopenprogram/self_updateapps/desktopapps/cli |
| diagnostics | overlap Usage accounting, execution observation and health diagnostics exist. Plan-allowance history and internal Responses metadata are provider-specific or overlapping. | openprogram/usageopenprogram/eventsopenprogram/executionapps/cli/python/openprogram_cli/_impl/commands/doctor.py |
| hooks | overlap Existing hook/gate system remains unchanged; no new compaction gate in this scoped migration. | openprogram/events/bus.pyopenprogram/events/shell_hooks.pyopenprogram/plugins/hooks.py |
| guidance | overlap Agent workspace instructions, time/environment context, rendering guidance and bundled document dependencies exist. Project-rule hierarchy and a context-capacity tool overlap these existing abilities and are removed from the candidate. | openprogram/context/components.pyopenprogram/agent/management/workspace.pyopenprogram/office_assets.py |
| wait | overlap Waiting/polling/scheduling already exists; no duplicate sleep tool. | openprogram/agentic_programming/runtimeopenprogram/scheduleropenprogram/processes |
| power | missing No baseline power assertion or sleep inhibitor found in runtime, desktop or scripts. Separate opt-in runtime power assertion is an independent missing capability; no display wake or permanent power-setting changes. | openprogram/_platformopenprogram/agent/dispatcher/loop_runner.py |
analytics_plan_history | diagnostics | Experimental |
daemon_auto_start | desktop | Experimental |
transcript_v2 | history | UnderDevelopment |
undo | patch | Removed |
shell_tool | execution | Stable |
view_image | web | Stable |
sleep_tool | wait | Stable |
secret_auth_storage | providers | Stable |
unified_exec | execution | Stable |
unified_exec_tty | execution | Stable |
shell_zsh_fork | execution | UnderDevelopment |
unified_exec_zsh_fork | execution | Removed |
shell_snapshot | execution | Stable |
powershell_shell_version | execution | UnderDevelopment |
shell_snapshot_v2 | execution | UnderDevelopment |
deferred_executor | execution | UnderDevelopment |
cwd_relative_turn_diffs | patch | UnderDevelopment |
js_repl | runtime | Removed |
content_item_kinds | diagnostics | Stable |
executed_tool_call_metadata | diagnostics | UnderDevelopment |
code_mode | runtime | UnderDevelopment |
code_mode_buffered_exec | runtime | Removed |
code_mode_host | runtime | Stable |
code_mode_prewarm | runtime | UnderDevelopment |
code_mode_interrupt | runtime | UnderDevelopment |
code_mode_only | runtime | UnderDevelopment |
js_repl_tools_only | runtime | Removed |
terminal_resize_reflow | guidance | Removed |
web_search_request | web | Deprecated |
web_search_cached | web | Deprecated |
standalone_web_search | web | UnderDevelopment |
search_tool | web | Removed |
codex_git_commit | patch | Removed |
runtime_metrics | diagnostics | UnderDevelopment |
sqlite | history | Removed |
memories | memory | Stable |
external_agent_memory_import | memory | UnderDevelopment |
local_thread_store_compression | history | UnderDevelopment |
local_thread_store_shared_compression | history | Removed |
background_paginated_rollout_migration | history | UnderDevelopment |
chronicle | memory | UnderDevelopment |
apply_patch_freeform | patch | Removed |
apply_patch_streaming_events | patch | UnderDevelopment |
apply_patch_preserve_line_endings | patch | UnderDevelopment |
exec_permission_approvals | permissions | UnderDevelopment |
write_stdin_approval | permissions | UnderDevelopment |
hooks | hooks | Stable |
request_permissions_tool | permissions | UnderDevelopment |
use_linux_sandbox_bwrap | sandbox | Removed |
use_legacy_landlock | sandbox | Deprecated |
request_rule | permissions | Removed |
experimental_windows_sandbox | sandbox | Removed |
elevated_windows_sandbox | sandbox | Removed |
windows_sandbox_service | sandbox | UnderDevelopment |
remote_models | providers | Removed |
api_key_model_discovery | providers | UnderDevelopment |
enable_request_compression | providers | Stable |
unbounded_connection_retries | providers | Stable |
network_proxy | network | Experimental |
worktrees | patch | Stable |
respect_system_proxy | providers | UnderDevelopment |
multi_agent | multiagent | Stable |
multi_agent_v2 | multiagent | Stable |
multi_agent_mode | multiagent | Removed |
enable_fanout | multiagent | Removed |
apps | mcp | Stable |
psp | mcp | UnderDevelopment |
enable_mcp_apps | mcp | UnderDevelopment |
mcp_2026_07_28 | mcp | UnderDevelopment |
codex_apps_mcp_2026_07_28 | mcp | UnderDevelopment |
mcp_oauth_refresh_coordination | mcp | UnderDevelopment |
use_xaa | providers | UnderDevelopment |
apps_mcp_path_override | mcp | Removed |
tool_search | discovery | Removed |
tool_search_always_defer_mcp_tools | discovery | Removed |
deferred_tool_world_state | discovery | UnderDevelopment |
non_prefixed_mcp_tool_names | mcp | UnderDevelopment |
unavailable_dummy_tools | discovery | Removed |
tool_suggest | discovery | Stable |
recommended_plugins | discovery | Stable |
plugins | discovery | Stable |
executor_capability_discovery | execution | UnderDevelopment |
skip_host_skill_discovery | discovery | UnderDevelopment |
plugin_hooks | discovery | Removed |
in_app_browser | web | Stable |
in_app_chat | desktop | Stable |
in_app_dictation | media | Stable |
in_app_local_automation | desktop | Stable |
in_app_updates | desktop | Stable |
browser_use | web | Stable |
browser_use_full_cdp_access | web | Stable |
browser_use_external | web | Stable |
computer_use | web | Stable |
remote_plugin | discovery | Stable |
plugin_sharing | discovery | Stable |
external_migration | discovery | Removed |
image_generation | media | Stable |
omit_app_server_notification_media | media | UnderDevelopment |
image_resize_notice | media | UnderDevelopment |
unified_image_budget | media | UnderDevelopment |
resize_all_images | media | Removed |
item_ids | history | Removed |
concurrent_reasoning_summaries | diagnostics | UnderDevelopment |
skill_mcp_dependency_install | discovery | Stable |
skill_search | discovery | Stable |
skill_env_var_dependency_prompt | discovery | Removed |
mentions_v2 | interaction | Stable |
steer | interaction | Removed |
default_mode_request_user_input | interaction | UnderDevelopment |
send_async_message | multiagent | Removed |
send_message_to_user_async | interaction | UnderDevelopment |
terminal_visualization_instructions | guidance | UnderDevelopment |
guardian_approval | permissions | Stable |
guardianv2.thread_context | permissions | UnderDevelopment |
guardian_reuse_parent_compaction | permissions | UnderDevelopment |
guardian_enhanced_node_repl_transcripts | permissions | UnderDevelopment |
guardian_node_repl_transcript_images | permissions | UnderDevelopment |
guardianv2 | permissions | UnderDevelopment |
guardian_ext | permissions | Removed |
goals | multiagent | Stable |
token_budget | context | UnderDevelopment |
context_management | context | UnderDevelopment |
rollout_budget | context | UnderDevelopment |
reasoning_effort_override | providers | UnderDevelopment |
current_time_reminder | guidance | UnderDevelopment |
nonfatal_clock_read_errors | guidance | UnderDevelopment |
collaboration_modes | multiagent | Removed |
tool_call_mcp_elicitation | mcp | Stable |
auth_elicitation | mcp | Stable |
bedrock_setup_wizard | providers | UnderDevelopment |
personality | guidance | Removed |
artifact | media | UnderDevelopment |
fast_mode | providers | Stable |
step_model_switching | providers | UnderDevelopment |
realtime_conversation | media | Stable |
remote_control | desktop | Removed |
image_detail_original | media | Removed |
tui_app_server | desktop | Removed |
prevent_idle_sleep | power | Experimental |
workspace_owner_usage_nudge | diagnostics | Removed |
responses_websockets | providers | Removed |
responses_websockets_v2 | providers | Removed |
remote_compaction_v2 | context | Removed |
compaction_image_budget | context | Stable |
retain_client_developer_messages | context | UnderDevelopment |
use_agent_identity | providers | UnderDevelopment |
workspace_dependencies | guidance | Stable |
Agents | history | |
TcpTunnel | internal | |
Exec | execution | |
Review | execution | |
Login | providers | |
Logout | providers | |
Mcp | mcp | |
Plugin | discovery | |
AppServer | desktop | |
RemoteControl | desktop | |
App | desktop | |
Completion | desktop | |
Update | desktop | |
Doctor | diagnostics | |
Sandbox | sandbox | |
Debug | diagnostics | |
Execpolicy | permissions | |
Apply | patch | |
Resume | history | |
Queue | history | |
Archive | history | |
Delete | history | |
MigrateRollouts | history | |
Unarchive | history | |
Fork | history | |
Cloud | external | |
ResponsesApiProxy | internal | |
StdioToUds | internal | |
ExecServer | execution | |
Features | diagnostics |
apply_patch | patch | |
apply_patch_spec | patch | |
current_time | guidance | |
dynamic | discovery | |
extension_tools | discovery | |
get_context_remaining | guidance | |
get_context_remaining_spec | guidance | |
list_available_plugins_to_install | discovery | |
list_available_plugins_to_install_spec | discovery | |
mcp | mcp | |
mcp_resource | mcp | |
mcp_resource_spec | mcp | |
multi_agents | multiagent | |
multi_agents_common | multiagent | |
multi_agents_spec | multiagent | |
multi_agents_v2 | multiagent | |
new_context_window | context | |
new_context_window_spec | context | |
plan | multiagent | |
plan_spec | multiagent | |
request_permissions | permissions | |
request_plugin_install | discovery | |
request_plugin_install_spec | discovery | |
request_user_input | interaction | |
request_user_input_async | interaction | |
request_user_input_spec | interaction | |
send_message_to_user_async | interaction | |
shell_spec | execution | |
sleep | wait | |
test_sync | internal | |
test_sync_spec | internal | |
tool_search | discovery | |
tool_search_spec | discovery | |
unified_exec | execution | |
view_image | web | |
view_image_spec | web | |
wait_for_environment | wait | |
permission_preapproval_tests | internal |
external denotes dependence on an OpenAI-hosted service; internal denotes transport or test infrastructure, not an independently portable product gap.
Official Codex source: codex-rs/features/src/lib.rs, codex-rs/cli/src/main.rs, codex-rs/core/src/tools/handlers/mod.rs, codex-rs/utils/sleep-inhibitor. Exact reference revision and local change evidence are recorded in the local ledger. This covers public capability entry points, not a line-by-line review of every Rust crate or closed service.
Verification status: full-gate-failed. The full Python run reports 9,722 passed, 5 failed, 133 skipped, 1 expected failure and 26 setup errors. The one new failure (navigation title length) is repaired; all 28 affected documentation and power checks pass. The other four failures and the same 26 Goal setup errors reproduce before this migration. Goal tests pass in isolation (27 on the candidate), but shared test-state contamination still blocks the full gate. New-capability tests pass (28), Web tests pass (843), Web production build and 734-page documentation build pass, and Ruff, landing, language and link checks pass. Native macOS power assertion acquisition/release and isolated CLI configuration set/get are verified. No installed App refresh or remote push is claimed.