openai / openai/codex

Document serving-runtime contracts for exec_command, write_stdin and apply_patch

Open
#45,606 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation tool-calls
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Type of issue

Documentation / contract clarification.

Scope and relationship to #45309

This separates the tool/process-level follow-up from #45309, which asks how to observe turn completion and the final assistant result. The earlier follow-up is at https://github.com/openai/codex/issues/45309#issuecomment-5674897112.

Here the question is narrower: what supported, version-bound contracts describe exec_command, write_stdin and apply_patch, and the processes and output they manage? A turn-completion event is not being assumed to establish tool-result completeness or descendant-process closure.

I also sent this contract question to OpenAI by email. I am requesting documented guarantees or explicit limitations, not private implementation details or permission to rely on undocumented behaviour.

Questions
  1. Serving implementation identity
    Which supported read-only metadata identifies the implementation revision and backend serving these tools in a given Codex environment? A client application version/build does not, by itself, establish that mapping. If these names belong to a hosted or desktop integration rather than the upstream CLI, please identify the supported interface or owning component.

  2. Native results, errors, asynchronous sequences and output retention
    At that revision, where is the specification for the complete tool-result and error shapes, asynchronous continuation ordering, record/session identity, and retention semantics? How should a consumer distinguish the entire value delivered by a tool from complete underlying stdout/stderr? Please identify any truncation, omission, encoding conversion, buffering or retention limitations, and the supported consumer interface.

  3. Parent, descendant and stream-writer ownership
    What supported producer, if any, supplies verifiable parent-dispatch, descendant and stream-writer ownership records, and how are those records joined to the actual invocation and consumed? A session handle alone is not being assumed to be an OS process identity or containment proof.

  4. Cancellation, reaping and terminal evidence
    Which observable terminal, if any, establishes cancellation/reaping and output closure for all owned descendants and writers? Please distinguish the directly launched process exiting, its output closing, and all-descendant containment/closure. What is documented about cancellation acknowledgement, bounded completion and terminal evidence when a request fails or is interrupted?

Public sources consulted

These mutable main links are investigation pointers, not proof that the same code serves my connected runtime. Likewise, documented app-server commands are not being assumed interchangeable with the three tool names above.

Useful resolution

Versioned documentation/schema/source references, together with their applicability to the serving runtime, would answer this request. If any requested guarantee is unsupported or unavailable through a supported interface, saying so explicitly is equally useful. If this belongs outside openai/codex, please identify the appropriate component or support channel.

No credentials, private history or an evidence-policy exception are requested.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with codex-rs/core/src/tools/context.rs, codex-rs/core/src/unified_exec/process_manager.rs, codex-rs/core/src/unified_exec/process.rs, and codex-rs/exec-server/README.md. Compare their documented schemas and lifecycle behavior, then determine whether they apply to the serving runtime described here. Done means adding versioned documentation or source references for the requested contracts, or explicitly recording unsupported guarantees and the appropriate owning component.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.