Commit Graph
8463 Commits
Author SHA1 Message Date
Michael Bolin f88d0aea0c feat: implement zsh shell tool via shell-escalation 2026-02-23 10:01:21 -08:00
Michael Bolin c0ceacf9c4 merge commit for archive created by Sapling 2026-02-23 09:54:48 -08:00
Michael Bolin 627d9f195f feat: implement zsh shell tool via shell-escalation 2026-02-23 09:54:37 -08:00
Michael Bolin fb4d76e5d4 Use Arc-based ToolCtx in tool runtimes 2026-02-23 09:54:37 -08:00
Michael Bolin f69b866438 merge commit for archive created by Sapling 2026-02-23 09:53:11 -08:00
Michael Bolin 62a42c31a7 Support zsh shell tool with shell-escalation 2026-02-23 09:52:41 -08:00
Michael Bolin 86bfa68e42 Use Arc-based ToolCtx in tool runtimes 2026-02-23 09:52:41 -08:00
Michael Bolin 5221575f23 refactor: normalize unix module layout for exec-server and shell-escalation (#12556)
## Why
Shell execution refactoring in `exec-server` had become split between
duplicated code paths, which blocked a clean introduction of the new
reusable shell escalation flow. This commit creates a dedicated
foundation crate so later shell tooling changes can share one
implementation.

## What changed
- Added the `codex-shell-escalation` crate and moved the core escalation
pieces (`mcp` protocol/socket/session flow, policy glue) that were
previously in `exec-server` into it.
- Normalized `exec-server` Unix structure under a dedicated `unix`
module layout and kept non-Unix builds narrow.
- Wired crate/build metadata so `shell-escalation` is a first-class
workspace dependency for follow-on integration work.

## Verification
- Built and linted the stack at this commit point with `just clippy`.

[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/12556).
* #12584
* #12583
* __->__ #12556
2026-02-23 09:28:17 -08:00
Won Park a606e85859 tweaked /clear to support clear + new chat, also fix minor bug for macos terminal (#12520)
# /clear feature! 

Use /clear to start a new chat with Codex on a clean terminal!
2026-02-23 09:11:05 -08:00
Michael Bolin 54905f0c06 merge commit for archive created by Sapling 2026-02-23 09:09:35 -08:00
Michael Bolin 4e1b91d44b feat: implement zsh shell tool via shell-escalation 2026-02-23 09:07:35 -08:00
Ahmed IbrahimandCodex 6e60f724bc remove feature flag collaboration modes (#12028)
All code should go in the direction that steer is enabled

---------

Co-authored-by: Codex <noreply@openai.com>
2026-02-23 09:06:08 -08:00
Michael Bolin d8259b268b Use Arc-based ToolCtx in tool runtimes 2026-02-23 08:58:39 -08:00
Michael Bolin 7ea1d05d63 Merge ad1e71de19 into sapling-pr-archive-bolinfest 2026-02-23 08:33:45 -08:00
Michael Bolin ad1e71de19 feat: implement zsh shell tool via shell-escalation 2026-02-23 08:33:37 -08:00
Michael Bolin 7a6e39ff52 merge commit for archive created by Sapling 2026-02-23 08:32:48 -08:00
Michael Bolin 34186c37f6 feat: implement zsh shell tool via shell-escalation 2026-02-23 08:31:57 -08:00
Michael Bolin 0cf7134888 merge commit for archive created by Sapling 2026-02-23 08:30:25 -08:00
Michael Bolin 54dcb8ca56 feat: split core business logic from exec-server to shell-escalation 2026-02-23 08:16:11 -08:00
Michael Bolin 6b19abfecb Use Arc-based ToolCtx in tool runtimes 2026-02-23 08:16:11 -08:00
Michael Bolin 7ea0985a24 feat: implement zsh shell tool via shell-escalation 2026-02-23 08:16:11 -08:00
Michael Bolin 260247d53d Merge 67f3a7b649 into sapling-pr-archive-bolinfest 2026-02-23 08:13:46 -08:00
Michael Bolin 67f3a7b649 feat: implement zsh shell tool via shell-escalation 2026-02-23 08:13:35 -08:00
Michael Bolin b45b678915 Use Arc-based ToolCtx in tool runtimes 2026-02-23 08:13:35 -08:00
Michael Bolin 7ce4c0b1a2 feat: split core business logic from exec-server to shell-escalation 2026-02-23 08:13:35 -08:00
jif-oai 3b6c50d925 chore: better bazel test logs (#12576)
## Summary

Improve Bazel CI failure diagnostics by printing the tail of each failed
target’s test.log directly in the GitHub Actions output.

Today, when a large Bazel test target fails (for example tests of
`codex-core`), the workflow often only shows a target-level Exit 101
plus a path to Bazel’s test.log. That makes it hard to see the actual
failing Rust test and panic without digging into artifacts or
reproducing locally.

This change makes the workflow automatically surface that information
inline.

  ## What Changed

In .github/workflows/bazel.yml:

  - Capture Bazel console output via tee
  - Preserve the Bazel exit code when piping (PIPESTATUS[0])
  - On failure:
      - Parse failed Bazel test targets from FAIL: //... lines
      - Resolve Bazel test log directory via bazel info bazel-testlogs
      - Print tail -n 200 for each failed target’s test.log
      - Group each target’s output in GitHub Actions logs (::group::)

## Bonus
Disable `experimental_remote_repo_contents_cache` to prevent "Permission
Denied"
2026-02-23 08:13:29 -08:00
jif-oai eace7c6610 feat: land sqlite (#12141) 2026-02-23 16:12:23 +00:00
Michael Bolin 5a9e741696 merge commit for archive created by Sapling 2026-02-23 08:11:32 -08:00
Michael Bolin 7980a8f767 feat: implement zsh shell tool via shell-escalation 2026-02-23 08:10:38 -08:00
Michael Bolin b27bc46ee9 Use Arc-based ToolCtx in tool runtimes 2026-02-23 08:10:38 -08:00
Michael Bolin d11b22c00d feat: split core business logic from exec-server to shell-escalation 2026-02-23 08:10:38 -08:00
jif-oai 2119532a81 feat: role metrics multi-agent (#12579)
add metrics for agent role
2026-02-23 15:55:48 +00:00
Eric Traut 862a5b3eb3 Allow exec resume to parse output-last-message flag after command (#12541)
Summary
- mark `output-last-message` as a global exec flag so it can follow
subcommands like `resume`
- add regression tests in both `cli` and `exec` crates verifying the
flag order works when invoking `resume`

Fixes #12538
2026-02-23 07:55:37 -08:00
jif-oai e8709bc11a chore: rename memory feature flag (#12580)
`memory_tool` -> `memories`
2026-02-23 15:37:12 +00:00
jif-oai 764ac9449f feat: add uuid helper (#12500) 2026-02-23 14:14:36 +00:00
jif-oai cf0210bf22 feat: agent nick names to model (#12575) 2026-02-23 13:44:37 +00:00
jif-oai 829d1080f6 feat: keep dead agents in the agent picker (#12570) 2026-02-23 12:58:55 +00:00
jif-oai 9d826a20c6 fix: TUI constraint (#12571) 2026-02-23 12:49:54 +00:00
jif-oai 6fbf19ef5f chore: phase 2 name (#12568) 2026-02-23 11:04:55 +00:00
jif-oai 2b9d0c385f chore: add doc to memories (#12565)
]
2026-02-23 10:52:58 +00:00
jif-oai cfcbff4c48 chore: awaiter (#12562) 2026-02-23 10:28:24 +00:00
jif-oai 8e9312958d chore: nit name (#12559) 2026-02-23 08:49:41 +00:00
Michael Bolin 956f2f439e refactor: decouple MCP policy construction from escalate server (#12555)
## Why
The current escalate path in `codex-rs/exec-server` still had policy
creation coupled to MCP details, which makes it hard to reuse the shell
execution flow outside the MCP server. This change is part of a broader
goal to split MCP-specific behavior from shared escalation execution so
other handlers (for example a future `ShellCommandHandler`) can reuse it
without depending on MCP request context types.

## What changed
- Added a new `EscalationPolicyFactory` abstraction in `mcp.rs`:
  - `crate`-relative path: `codex-rs/exec-server/src/posix/mcp.rs`
-
https://github.com/openai/codex/blob/main/codex-rs/exec-server/src/posix/mcp.rs#L87-L107
- Made `run_escalate_server` in `mcp.rs` accept a policy factory instead
of constructing `McpEscalationPolicy` directly.
-
https://github.com/openai/codex/blob/main/codex-rs/exec-server/src/posix/mcp.rs#L178-L201
- Introduced `McpEscalationPolicyFactory` that stores MCP-only state
(`RequestContext`, `preserve_program_paths`) and implements the new
trait.
-
https://github.com/openai/codex/blob/main/codex-rs/exec-server/src/posix/mcp.rs#L100-L117
- Updated `shell()` to pass a `McpEscalationPolicyFactory` instance into
`run_escalate_server`, so the server remains the MCP-specific wiring
layer.
-
https://github.com/openai/codex/blob/main/codex-rs/exec-server/src/posix/mcp.rs#L163-L170

## Verification
- Build and test execution was not re-run in this pass; changes are
limited to `mcp.rs` and preserve the existing escalation flow semantics
by only extracting policy construction behind a factory.




---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/12555).
* #12556
* __->__ #12555
2026-02-23 00:31:29 -08:00
Michael Bolin 6c651f33f6 merge commit for archive created by Sapling 2026-02-23 00:26:00 -08:00
Michael Bolin c3df4f8b48 feat: split core business logic from exec-server to shell-escalation 2026-02-23 00:25:53 -08:00
Michael Bolin de87bc8a42 merge commit for archive created by Sapling 2026-02-23 00:25:44 -08:00
Michael Bolin 056ddb789b feat: split core business logic from exec-server to shell-escalation 2026-02-23 00:06:00 -08:00
Michael Bolin 2b9d728e90 merge commit for archive created by Sapling 2026-02-22 23:48:41 -08:00
Michael Bolin 7cbc2e024a feat: split core business logic from exec-server to shell-escalation 2026-02-22 23:48:36 -08:00
Michael Bolin ab26c80df3 merge commit for archive created by Sapling 2026-02-22 23:40:02 -08:00