Commit Graph
18131 Commits
Author SHA1 Message Date
Michael Bolin 2fd8feb389 Merge 4123e516f3 into sapling-pr-archive-bolinfest 2026-07-01 17:33:18 -07:00
Michael Bolin 4123e516f3 Log multi-agent communication lifecycle 2026-07-01 17:33:11 -07:00
Michael Bolin 4cc5b85972 merge commit for archive created by Sapling 2026-07-01 17:19:14 -07:00
Michael Bolin 5a2bbd4b2e Log multi-agent communication lifecycle 2026-07-01 17:19:03 -07:00
Michael Bolin 83044192b8 Merge 64280aa283 into sapling-pr-archive-bolinfest 2026-07-01 17:08:45 -07:00
Michael Bolin 64280aa283 Log multi-agent communication lifecycle 2026-07-01 17:08:27 -07:00
Michael Bolin a98a21798c Consolidate multi-agent v2 communication sends (#30867)
## Why

Multi-agent v2 communications currently use separate outbound paths:
direct messages, follow-up tasks, and completion results go through
`send_inter_agent_communication`, while a spawn's initial message goes
through the generic input submission path. That split makes it difficult
to add complete communication lifecycle logging in one place.

This refactor makes `submit_inter_agent_communication` the common sink
for those paths, preparing the follow-up observability work discussed in
[#30516](https://github.com/openai/codex/pull/30516).

## What changed

- Routed all current outbound `InterAgentCommunication` paths in
`AgentControl`—direct messages, follow-up tasks, completion results, and
multi-agent v2 spawn initial messages—through
`submit_inter_agent_communication`.
- Centralized the actual submission and last-task-message bookkeeping
there, providing one place for the follow-up PR to instrument
communication creation and successful enqueue.
- Left non-communication input handling and the multi-agent v1 spawn
flow unchanged.

## Testing

- `just test -p codex-core 'agent::control::tests::'` (51 passed)
- `just test -p codex-core
'suite::subagent_notifications::encrypted_multi_agent_v2_spawn_sends_agent_message_to_child'`
(passed)








---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/30867).
* #30872
* __->__ #30867
2026-07-01 17:08:11 -07:00
Michael Bolin 9b09317904 merge commit for archive created by Sapling 2026-07-01 16:36:30 -07:00
Michael Bolin 82ed1d2426 Log multi-agent communication lifecycle 2026-07-01 16:36:21 -07:00
Michael Bolin 9268f6b90e merge commit for archive created by Sapling 2026-07-01 16:11:24 -07:00
Michael Bolin 7f74f9a2e2 Log multi-agent communication lifecycle 2026-07-01 16:11:16 -07:00
Michael Bolin b2eae13726 merge commit for archive created by Sapling 2026-07-01 16:02:45 -07:00
Michael Bolin 2952ea8610 Log multi-agent communication lifecycle 2026-07-01 16:02:37 -07:00
Michael Bolin 6327da10ce merge commit for archive created by Sapling 2026-07-01 15:56:24 -07:00
Michael Bolin 15fafe38fe Log multi-agent communication lifecycle 2026-07-01 15:56:15 -07:00
Michael Bolin 9fca82fb6e Merge 81c79f11b8 into sapling-pr-archive-bolinfest 2026-07-01 15:52:46 -07:00
Michael Bolin 81c79f11b8 Log multi-agent communication lifecycle 2026-07-01 15:52:28 -07:00
Michael Bolin fa926ef695 merge commit for archive created by Sapling 2026-07-01 15:51:41 -07:00
Michael Bolin eab365453d Log multi-agent communication lifecycle 2026-07-01 15:51:22 -07:00
Michael Bolin 6eed12cd67 merge commit for archive created by Sapling 2026-07-01 15:31:48 -07:00
Michael Bolin 425acfd752 Log multi-agent communication lifecycle 2026-07-01 15:31:35 -07:00
Michael Bolin 8fdb295c87 Merge a02b5c5627 into sapling-pr-archive-bolinfest 2026-07-01 15:09:12 -07:00
Michael Bolin a02b5c5627 Log multi-agent communication lifecycle 2026-07-01 15:08:50 -07:00
Michael Bolin c27ad497d3 merge commit for archive created by Sapling 2026-07-01 14:27:05 -07:00
Michael Bolin f6dcc0e68b Consolidate multi-agent v2 communication sends 2026-07-01 14:26:56 -07:00
Michael Bolin c75d0fd58e merge commit for archive created by Sapling 2026-07-01 14:17:59 -07:00
Michael Bolin 88aee5b579 Consolidate multi-agent v2 communication sends 2026-07-01 14:17:46 -07:00
richardopenai 042e61726d [codex] bound Rendezvous WebSocket liveness (#30643)
## Summary

- require a Pong within 60 seconds for established Noise Rendezvous
WebSockets on both the harness and executor
- bound steady-state WebSocket writes and harness event delivery so
backpressure cannot mask the deadline
- classify executor disconnects with bounded reasons and feed them into
the existing reconnect metric and structured log
- cover silent peers, responsive peers, continuous non-Pong traffic, and
local application backpressure

## Why

The existing periodic Pings did not track Pongs, so a half-open or
blackholed connection could remain stuck until the operating system's
TCP timeout. This adds the smallest explicit liveness contract without
new spans, RTT histograms, feature flags, or TCP diagnostics.

## Testing

- `just test -p codex-exec-server` on devbox `richard-6` — 300 passed, 2
skipped
- `just fix -p codex-exec-server`
- `just fmt`
- independent correctness, performance/security, and YAGNI reviews — no
findings
2026-07-01 14:15:34 -07:00
Michael Bolin 164a107bb7 merge commit for archive created by Sapling 2026-07-01 14:09:14 -07:00
Michael Bolin 4862e6254f Consolidate multi-agent v2 communication sends 2026-07-01 14:09:02 -07:00
Michael Bolin 749dfd6a93 merge commit for archive created by Sapling 2026-07-01 14:03:32 -07:00
Michael Bolin bc305225e9 Consolidate multi-agent v2 communication sends 2026-07-01 14:03:21 -07:00
Michael Bolin 96646dc647 Merge b1d06b8c05 into sapling-pr-archive-bolinfest 2026-07-01 13:53:46 -07:00
Michael Bolin b1d06b8c05 Consolidate multi-agent v2 communication sends 2026-07-01 13:53:22 -07:00
Michael Bolin d059658ad1 docs: add tag to fenced code block (#30851)
Now consistent with the other examples and the syntax highlighting is
improved.
2026-07-01 10:59:02 -07:00
Michael Bolin a37c19268d Merge 20b5c92efe into sapling-pr-archive-bolinfest 2026-07-01 10:58:15 -07:00
Michael Bolin 20b5c92efe docs: add tag to fenced code block 2026-07-01 10:58:06 -07:00
Michael Bolin c9a9a79aff Merge 6d40797232 into sapling-pr-archive-bolinfest 2026-07-01 10:54:43 -07:00
Michael Bolin 6d40797232 feat: support permissions-scoped exec rules 2026-07-01 10:54:33 -07:00
Dylan Hurd db887d03e1 fix(core) Remove full text websocket trace (#30757)
## Summary
This is a follow-up to https://github.com/openai/codex/pull/29432 to
remove one additional trace statement that is not being filtered by
https://github.com/openai/codex/pull/29457.


## Testing
- [x] Unit tests pass
2026-06-30 21:18:22 +00:00
Eric Traut 020828170f [codex] Update safety notice wording (#30645)
## Summary

The TUI biosafety block still included obsolete copy telling approved
researchers they may be able to apply for Trusted Access.

Remove that sentence and update the UI snapshot to match the approved
wording.
2026-06-30 09:31:06 -07:00
richardopenai cfead68e5d [codex] disable Nagle on Rendezvous WebSockets (#30269)
## Summary

Disable Nagle unconditionally for both exec-server Rendezvous WebSocket
connections.

- pass `disable_nagle=true` at the executor and harness connection call
sites
- keep the existing signed URL, protocol, and connection flow unchanged
- add no feature flag, rollout schema, path variant, or
experiment-specific telemetry

The companion internal PR enables `TCP_NODELAY` on accepted Rendezvous
sockets: https://github.com/openai/openai/pull/1082463

## Why

Rendezvous carries small, latency-sensitive relay and JSON-RPC frames.
Three staging runs of 30 steady-state `process/read` calls per
configuration measured p50 improving from 139.1 ms to 81.5 ms and p95
from 162.0 ms to 95.8 ms with Nagle disabled.

The expected packet overhead is small at the current connection scale.
We will use existing latency, error, packet, and CPU monitoring and
revert normally if production regresses.

## Rollout and rollback

The client and accepted-socket changes can deploy independently. New
connections receive the setting as each side deploys. Rollback is a
normal code revert; there is no persisted assignment or gate state to
unwind.

## Validation

- `just test -p codex-exec-server --lib`: 164 passed
- `just fix -p codex-exec-server`: passed
- `just fmt`: passed
- independent final review found no actionable issue
2026-06-29 19:14:47 -05:00
Michael Bolin ce5a5b95b0 Merge 07a498e102 into sapling-pr-archive-bolinfest 2026-06-29 11:37:35 -07:00
Michael Bolin 07a498e102 app-server: bound client requests by their total deadline 2026-06-29 11:37:17 -07:00
Eric Traut 4808c162ee [codex] auto-label AWS Bedrock issues (#30607)
## Summary

AWS Bedrock issues currently fall under broader labels, which makes
provider-specific reports harder to find. The issue tracker now has an
`aws-bedrock` label, but the automated labeler does not know to apply
it.

Teach the issue labeler to select `aws-bedrock` for Amazon Bedrock
provider or Bedrock Mantle issues while excluding generic AWS
references.
2026-06-29 11:10:38 -07:00
Eric Traut 9d13291955 Update safety check links (#30491)
## Summary

Bio/Cyber safety surfaces in the TUI could send users to stale Trusted
Access pages, and safety buffering did not always expose the Help
Center.

This follow-up to #30317 adds the missing Learn more action, refreshes
the Bio access URL and block copy, and updates the affected snapshots
while preserving the existing retry and wait behavior.
2026-06-29 11:10:11 -07:00
Shijie Rao 80f54d1266 [codex] Treat max as a first-class reasoning effort (#30467)
## Why

The Bedrock GPT-5.6 catalog advertises `max`, but Codex treated it as an
opaque custom effort. That made the reasoning picker render it as
lowercase `max` while known efforts use productized labels.

Making `max` a known effort aligns catalog data, parsing, and UI
presentation without changing the `max` wire value or persisted
representation.

## What changed

- Add first-class `ReasoningEffort::Max` parsing and serialization.
- Use the typed effort in the Bedrock catalog and render it as `Max` in
the TUI.
- Preserve forward-compatible custom-effort coverage with a genuinely
unknown `future` value.

### Before
<img width="559" height="124" alt="Screenshot 2026-06-28 at 12 08 47 PM"
src="https://github.com/user-attachments/assets/7c43cf4f-020b-4605-9239-0a9c97eb7364"
/>

### After
<img width="558" height="107" alt="Screenshot 2026-06-28 at 12 09 10 PM"
src="https://github.com/user-attachments/assets/b9cc5ded-c940-43b4-b024-bba25abe0a17"
/>
2026-06-29 09:38:49 -07:00
Dylan Hurd ccdfb4f342 Revert "Make auto-review on-request prompt more proactive" (#30508)
Reverts openai/codex#26496
2026-06-28 20:40:55 -07:00
Ahmed Ibrahim 8dac605901 [codex] Restore v1 delegation guidance (#30511)
## Summary

- restore the v1 clarification that requests for depth, research, or
investigation do not authorize subagent spawning
- restore guidance for keeping critical-path, urgent, tightly coupled,
or difficult work local
- update the focused v1 tool-search and spawn-description coverage

## Why

PR #27919 simplified the v1 `spawn_agent` prompt by removing its
delegation decision guidance. That left the authorization rule intact,
but removed the instructions that constrained what should be delegated
after spawning was authorized.

Restore those guardrails while preserving later support for explicit
delegation authorization from applicable AGENTS.md and skill
instructions. Multi-agent v2 prompts are unchanged.

## User impact

Models using the v1 multi-agent tool surface receive clearer guidance to
delegate independent side work while keeping blocking work on the main
rollout.

## Validation

- `just fmt`
- `git diff --check`
- tests not run locally per repository guidance; CI will validate the
focused coverage
2026-06-28 20:34:47 -07:00
ani-oai 6b5f5743b3 [codex] Use model metadata for skills usage instructions (#29740)
## Summary

- add a false-by-default `include_skills_usage_instructions` model
metadata field
- enable the field for the bundled `gpt-5.5` model metadata
- consume the metadata in both core and extension skill rendering
- remove hardcoded legacy-model matching and its marker plumbing
2026-06-29 09:44:36 +09:00