GPT-6 Astra removes spaces before numbers in model-authored automation text in long compacted task
Nobody has claimed this yet.
- 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:
- Use Codex Desktop with
gpt-6-astraand medium reasoning for a long, tool-heavy task that maintains automation prompts. - Continue the task across repeated context compactions.
- Inspect natural-language text authored by the model inside automation/tool-call payloads.
- Observe ordinary words or labels joined directly to following numeric identifiers.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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