openai / openai/codex

GPT-6 Astra removes spaces before numbers in model-authored automation text in long compacted task

Open
#43,634 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug model-behavior
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

26.901.51231 (build 8109)

Bundled Codex runtime recorded by the affected session: 0.153.4

What subscription do you have?

ChatGPT account authentication. Local Codex metadata reports planType: prolite.

What platform is your computer?

Darwin 25.6.0 arm64 arm (macOS 26.6.2, build 25G83)

What issue are you seeing?

During a long-running Codex Desktop task using gpt-6-astra with medium reasoning, the model repeatedly removed the space between ordinary prose and a following number in automation text that it generated inside tool-call payloads.

Observed malformed forms:

Epic238
year2024

Expected forms:

Epic 238
year 2024

The malformed strings were visible in the Codex UI, but this is not only a rendering problem. They are also present in the persisted rollout JSONL inside model-authored response_item / custom_tool_call input records.

Counting only the original model-authored custom-tool-call inputs, and excluding duplicate tool outputs and UI event records, the session contains:

  • five occurrences of Epic238;
  • two occurrences of year2024;
  • seven malformed tokens across four tool calls.

No direct user-message record in the rollout contains either joined form.

What steps can reproduce the bug?

I do not yet have a deterministic short-context reproducer. The observed sequence was:

  1. Use Codex Desktop with gpt-6-astra and medium reasoning for a long, tool-heavy task that maintains automation prompts.
  2. Continue the task across repeated context compactions.
  3. Inspect natural-language text authored by the model inside automation/tool-call payloads.
  4. Observe ordinary words or labels joined directly to following numeric identifiers.
  5. Inspect the persisted rollout JSONL and confirm that the joined strings are already present in the model-authored tool-call input.

All four malformed tool calls occurred after five context compactions. The session telemetry immediately before each call was:

Local time (CDT) Joined form Occurrences Input tokens Reported context window Usage
15:14:49 Epic238 2 184,499 258,400 71.4%
15:16:35 Epic238 3 186,055 258,400 72.0%
15:20:51 year2024 1 189,839 258,400 73.5%
15:26:53 year2024 1 197,416 258,400 76.4%

This establishes correlation with a mature, repeatedly compacted task. It does not establish that compaction or context occupancy caused the spacing error.

The session ID and complete rollout are withheld from the public report because the thread contains unrelated private work. I can provide the session ID and narrowly sanitized rollout records to an OpenAI maintainer through a private channel.

What is the expected behavior?

Model-authored natural-language text should preserve ordinary word-number separators in both visible output and tool-call payloads. Codex should emit Epic 238 and year 2024, not Epic238 and year2024.

If the model emits a malformed automation prompt, Codex could also consider warning before saving it or applying a narrowly scoped prose validation step without changing identifiers where concatenation is intentional.

Additional information

Potentially related, but not exact duplicates:

  • #40369 records model-generated tool-call argument corruption in persisted rollout data.
  • #31665 records model-generated token concatenation in tool-call routing (exec_commandexec_command), with a different mechanism.
  • #35032 records long Codex Desktop tasks returning near 80% context occupancy after compaction; one reproduction reports 197k / 258k (76%), close to this session's final malformed call.
  • #40957 records corrupted Codex App output after compaction, although its visible corrupted text was not present in persisted messages.

I found no existing issue specifically reporting Astra joining prose labels or words with following numbers.

The current OpenAI model guidance separately notes that messages between agents can contain spacing errors and recommends explicitly requiring proper spaces between words and numbers:

https://developers.openai.com/api/docs/guides/latest-model

Public screenshots and this report omit account identifiers, task IDs, repository names, local paths, credentials, project content, and unrelated prompts. Sanitized screenshot crops are available if useful.

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 the narrowly sanitized rollout records, focusing on model-authored response_item and custom_tool_call inputs rather than duplicate outputs or UI events. Compare the behavior with related issues #40369, #31665, and #40957; done means establishing a reproducible cause or mitigation that preserves spaces in visible text and persisted tool-call payloads.

Written by the indexing model from the issue text.

Assessment

Domain
ai
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.