Commit Graph
14636 Commits
Author SHA1 Message Date
Michael Bolin 3fde0159db merge commit for archive created by Sapling 2026-05-01 01:37:18 -07:00
Michael Bolin 6e1ebc7855 ci: add Windows cargo-xwin release PoC 2026-05-01 01:37:06 -07:00
Michael Bolin 9b8d607ac5 merge commit for archive created by Sapling 2026-05-01 01:22:14 -07:00
Michael Bolin 71f3181861 ci: add Windows cargo-xwin release PoC 2026-05-01 01:22:01 -07:00
Michael Bolin 2b43ce427a merge commit for archive created by Sapling 2026-05-01 01:05:56 -07:00
Michael Bolin 04ebd01415 ci: add Windows cargo-xwin release PoC 2026-05-01 01:05:43 -07:00
Michael Bolin 3557814b40 merge commit for archive created by Sapling 2026-05-01 00:47:22 -07:00
Michael Bolin 0be290558d ci: add Windows cargo-xwin release PoC 2026-05-01 00:47:10 -07:00
Michael Bolin 73c03912a7 merge commit for archive created by Sapling 2026-05-01 00:32:18 -07:00
Michael Bolin 33ef0d2380 ci: add Windows cargo-xwin release PoC 2026-05-01 00:32:06 -07:00
Michael Bolin 768db4b726 merge commit for archive created by Sapling 2026-05-01 00:27:26 -07:00
Michael Bolin 35fc67e3ce ci: add Windows cargo-xwin release PoC 2026-05-01 00:27:13 -07:00
Michael Bolin 3490ed249e merge commit for archive created by Sapling 2026-05-01 00:23:54 -07:00
Michael Bolin caddc985d8 ci: add Windows cargo-xwin release PoC 2026-05-01 00:23:44 -07:00
Michael Bolin cafd87c046 merge commit for archive created by Sapling 2026-05-01 00:20:16 -07:00
Michael Bolin db324ac751 ci: add Windows cargo-xwin release PoC 2026-05-01 00:20:03 -07:00
Michael Bolin 3d48a5d53f merge commit for archive created by Sapling 2026-05-01 00:17:33 -07:00
Michael Bolin 57451d6bd7 ci: add Windows cargo-xwin release PoC 2026-05-01 00:17:20 -07:00
Michael Bolin 15a5952ff4 merge commit for archive created by Sapling 2026-04-30 23:59:41 -07:00
Michael Bolin bdf0406f7f ci: add Windows cargo-xwin release PoC 2026-04-30 23:59:28 -07:00
Michael Bolin e412be3c01 merge commit for archive created by Sapling 2026-04-30 23:39:30 -07:00
Michael Bolin 9f59fbe0f1 ci: add Windows cargo-xwin release PoC 2026-04-30 23:39:01 -07:00
Michael Bolin 2e5af083dd merge commit for archive created by Sapling 2026-04-30 23:29:52 -07:00
Michael Bolin 64b6cafeff ci: add Windows cargo-xwin release PoC 2026-04-30 23:29:35 -07:00
Michael Bolin 9a42e8e8b0 merge commit for archive created by Sapling 2026-04-30 23:19:06 -07:00
Michael Bolin c88d717151 ci: add Windows cargo-xwin release PoC 2026-04-30 23:18:52 -07:00
Michael Bolin e79657fa5b merge commit for archive created by Sapling 2026-04-30 22:59:29 -07:00
Michael Bolin 933f3a875a ci: add Windows cargo-xwin release PoC 2026-04-30 22:59:18 -07:00
Michael Bolin 2fa49115e2 merge commit for archive created by Sapling 2026-04-30 22:40:20 -07:00
Michael Bolin 01a9cfc991 ci: add Windows cargo-xwin release PoC 2026-04-30 22:40:09 -07:00
Michael Bolin a29a8103d2 merge commit for archive created by Sapling 2026-04-30 22:27:47 -07:00
Michael Bolin 0490f7fdc6 ci: add Windows cargo-xwin release PoC 2026-04-30 22:27:25 -07:00
Michael Bolin aa44e75e4b Merge 9c3731f955 into sapling-pr-archive-bolinfest 2026-04-30 22:18:58 -07:00
Michael Bolin 9c3731f955 ci: add Windows cargo-xwin release PoC 2026-04-30 22:18:48 -07:00
Michael Bolin 1c67c26a24 merge commit for archive created by Sapling 2026-04-30 22:04:28 -07:00
Michael Bolin d70dd9ee57 ci: add Windows cargo-xwin release PoC 2026-04-30 22:04:18 -07:00
Michael Bolin 533efb1343 merge commit for archive created by Sapling 2026-04-30 21:54:16 -07:00
Michael Bolin 39110a52e1 ci: add Windows cargo-xwin release PoC 2026-04-30 21:53:56 -07:00
Michael Bolin 6ac49c783a Merge a89ac00f54 into sapling-pr-archive-bolinfest 2026-04-30 21:28:29 -07:00
Michael Bolin a89ac00f54 config: add strict config parsing 2026-04-30 21:28:07 -07:00
Michael Bolin 4116ccbf80 merge commit for archive created by Sapling 2026-04-30 21:10:26 -07:00
Michael Bolin 4d1cec036a ci: add Windows cargo-xwin release PoC 2026-04-30 21:09:32 -07:00
Michael Bolin b9e82fa927 Merge 9fe33148e1 into sapling-pr-archive-bolinfest 2026-04-30 20:57:03 -07:00
Michael Bolin 9fe33148e1 ci: add Windows cargo-xwin release PoC 2026-04-30 20:56:45 -07:00
pakrym-oai f50c02d7bc [codex] Remove unused event messages (#20511)
## Why

Several legacy `EventMsg` variants were still emitted or mapped even
though clients either ignored them or had moved to item/lifecycle
events. `Op::Undo` had also degraded to an unavailable shim, so this
removes that dead task path instead of preserving a command that cannot
do useful work.

`McpStartupComplete`, `WebSearchBegin`, and `ImageGenerationBegin` are
intentionally kept because useful consumers still depend on them: MCP
startup completion drives readiness behavior, and the begin events let
app-server/core consumers surface in-progress web-search and
image-generation items before the final payload arrives.

## What Changed

- Removed weak legacy event variants and payloads from `codex-protocol`,
including legacy agent deltas, background events, and undo lifecycle
events.
- Kept/restored `EventMsg::McpStartupComplete`,
`EventMsg::WebSearchBegin`, and `EventMsg::ImageGenerationBegin` with
serializer and emission coverage.
- Updated core, rollout, MCP server, app-server thread history,
review/delegate filtering, and tests to rely on the useful replacement
events that remain.
- Removed `Op::Undo`, `UndoTask`, the undo test module, and stale TUI
slash-command comments.
- Stopped agent job/background progress and compaction retry notices
from emitting `BackgroundEvent` payloads.

## Verification

- `cargo check -p codex-protocol -p codex-app-server-protocol -p
codex-core -p codex-rollout -p codex-rollout-trace -p codex-mcp-server`
- `cargo test -p codex-protocol -p codex-app-server-protocol -p
codex-rollout -p codex-rollout-trace -p codex-mcp-server`
- `cargo test -p codex-core --test all suite::items`
- `just fix -p codex-protocol -p codex-app-server-protocol -p codex-core
-p codex-rollout -p codex-rollout-trace -p codex-mcp-server`
- Earlier coverage on this PR also included `codex-mcp`, `codex-tui`,
core library tests, MCP/plugin/delegate/review/agent job tests, and MCP
startup TUI tests.
2026-04-30 20:03:26 -07:00
xli-oai bb60b78c46 Surface admin-disabled remote plugin status (#20298)
## Summary

Remote plugin-service returns plugin availability separately from a
user's installed/enabled state. This adds `PluginAvailabilityStatus` to
the app-server protocol, propagates remote catalog `status` into
`PluginSummary`, and rejects install attempts for remote plugins marked
`DISABLED_BY_ADMIN` before downloading or caching the bundle.

This is the `openai/codex` half of the change. The companion
`openai/openai` webview PR is
https://github.com/openai/openai/pull/873269.

## Validation

- `cargo run -p codex-app-server-protocol --bin write_schema_fixtures`
- `cargo test -p codex-app-server --test all
plugin_list_marks_remote_plugin_disabled_by_admin`
- `cargo test -p codex-app-server --test all
plugin_list_includes_remote_marketplaces_when_remote_plugin_enabled`
- `cargo test -p codex-app-server --test all
plugin_install_rejects_remote_plugin_disabled_by_admin_before_download`
- `cargo test -p codex-app-server-protocol schema_fixtures`
2026-04-30 20:00:07 -07:00
Tom c39824c2fd [codex] Improve PR babysitter CI diagnostics and guardrails (#20484)
## Summary

- Surface failed GitHub Actions jobs in the PR babysitter watcher so
Codex can fetch job logs as soon as a job fails, instead of waiting for
the overall workflow run to complete.
- Update babysit-pr skill instructions, GitHub API notes, and heuristics
to prefer direct job log archives before falling back to `gh run view
--log-failed`.
- Add guardrails requiring explicit user confirmation before posting
replies to human-authored review comments.
- Add guardrails preventing Codex from patching unrelated flaky tests,
CI infrastructure, runner issues, dependency outages, or other failures
not caused by the PR branch.

## Validation

- `python3 -m pytest
.codex/skills/babysit-pr/scripts/test_gh_pr_watch.py`
2026-04-30 19:58:19 -07:00
rhan-oai 6b1b227804 [codex-analytics] centralize thread analytics state (#20300)
## Why

Several analytics event families need the same per-thread attribution
state: the app-server client/runtime associated with a thread and, for
lifecycle-oriented events, the thread metadata captured during
initialization. Keeping connection ids and lifecycle metadata in
separate maps made each consumer rebuild the same thread context and
made subagent attribution harder to resolve consistently.

## What changed

- Replaces the separate thread connection and metadata maps with one
reducer-owned `threads` map.
- Routes guardian, compaction, turn-steer, and turn analytics through
shared thread-state lookups while preserving turn-origin attribution for
turn events and request-origin attribution for steer events.
- Lets newly observed spawned subagent threads inherit their parent
thread connection so later thread-scoped analytics can resolve through
the same state model.
- Adds regression coverage for standalone `SubAgentThreadStarted`
publication plus the `SubAgentSource::ThreadSpawn` parent fallback
through a thread-scoped consumer that depends on inherited connection
state.

## Verification

- `cargo test -p codex-analytics`

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/20300).
* #18748
* #18747
* #17090
* #17089
* #20239
* #20515
* #20514
* __->__ #20300
2026-04-30 18:58:50 -07:00
Ruslan Nigmatullin 972b819213 app-server: switch remote control to protocol v3 segmentation (#20341)
## Why

Remote-control protocol v3 makes segmentation an explicit wire-level
feature. The app-server transport needs to support that protocol
directly so large messages can be chunked, acknowledged, replayed, and
reassembled consistently.

## What changed

- Bump the remote-control websocket protocol version from `2` to `3`.
- Add explicit client/server chunk envelope variants plus chunk-aware
acknowledgements.
- Split oversized outbound server messages into bounded transport
chunks.
- Reassemble ordered inbound client chunks with bounded memory usage and
stream/client invalidation handling.
- Track inbound chunk cursors and outbound ack cursors as `(seq_id,
segment_id)` so duplicate chunks and partial replays behave correctly.
- Add focused coverage for chunk splitting, reassembly, duplicate
suppression, and stream replacement behavior.

## Validation

- Added targeted unit coverage for segmented message handling in
`remote_control`.
- Local validation is currently blocked before compilation because
`packageproxy` does not serve the locked `rustls-webpki 0.103.13`
dependency required by the workspace.
2026-04-30 18:27:16 -07:00
Dylan HurdandCodex af089fb21d fix(exec_policy) heredoc parsing file_redirect (#20113)
## Summary
Fixes a regression introduced in #10941 so that heredocs do not permit
file redirects to be approved by rules, and adds scenario tests to cover
this behavior.


Previously, heredoc command parsing would allow redirects and
environment variables:
```bash
# commands_for_exec_policy() would parse this via parse_shell_lc_single_command_prefix
PATH=/tmp/bad:$PATH cat <<'EOF' > /tmp/bad/hello.txt
hello
EOF
```
This conflicts with the Codex Rules documentation; heredoc parsing logic
should abide by the same strictness of parsing.


## Tests
- [x] Updated unit tests accordingly
- [x] Added scenario tests for these cases

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-01 01:05:02 +00:00