Skip to content

[1 of 3] Support long raw TUI goal objectives#27508

Merged
etraut-openai merged 15 commits into
mainfrom
etraut/tui-goal-raw-objective-files
Jun 12, 2026
Merged

[1 of 3] Support long raw TUI goal objectives#27508
etraut-openai merged 15 commits into
mainfrom
etraut/tui-goal-raw-objective-files

Conversation

@etraut-openai

@etraut-openai etraut-openai commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Stack

  1. [1 of 3] Support long raw TUI goal objectives - this PR
  2. [2 of 3] Support long pasted text in TUI goals - [2 of 3] Support long pasted text in TUI goals #27509
  3. [3 of 3] Support images in TUI goals - [3 of 3] Support images in TUI goals #27510

Why

thread/goal/set limits persisted objective text to 4000 characters. The TUI used to reject raw /goal objectives above that limit, even though the client can make them usable by writing the long text to a file and storing a short objective that points at that file.

This also needs to work for remote app-server sessions: filesystem API calls must create files on the app-server host, and the stored path must be meaningful to the agent on that host.

What Changed

  • Adds an app-server-host path helper so TUI code can build paths that are resolved on the app-server host rather than the TUI host.
  • Adds TUI app-server session helpers for fs/createDirectory, fs/writeFile, fs/readFile, and fs/remove that work for embedded and remote app-server sessions without changing the app-server protocol.
  • Materializes oversized raw /goal objectives into $CODEX_HOME/attachments/<uuid>/goal-objective.md through the app-server filesystem APIs, then stores a short, readable objective that directs the agent to that file.
  • Reads managed objective files back for /goal edit. Other goal UI renders the readable stored objective normally, without managed-file-specific presentation logic.
  • Recognizes managed references only when they name the expected generated file under the app server's reported $CODEX_HOME, and cleans up newly materialized files when goal replacement or setting does not complete.

Verification

  • Added/updated TUI tests for raw oversized /goal submission, large inline-paste expansion, queued oversized goals, app-facing materialization before thread/goal/set, managed-path validation, editing, and cleanup.
  • Added/updated app-server-client remote coverage for initialized remote Codex home handling.

Manual Testing

  • Ran the real TUI against a Unix-socket app server with different local and server $CODEX_HOME directories. Oversized goals wrote only under the server home, and persisted references used the server-canonical path rather than the TUI path.
  • Exercised 3,999-, 4,000-, and 4,001-character raw objectives. The first two stayed inline without new files; the 4,001-character objective became a managed objective file.
  • Submitted a larger 8,275-character objective, verified its full contents on the app-server host, and observed the goal continuation open the referenced server-side file.
  • Opened /goal edit for a managed objective and verified the full text was restored through remote fs/readFile.
  • Submitted an oversized replacement while a goal was active, verified no file was written before confirmation, then canceled and confirmed that the existing goal and attachment count were unchanged.

@etraut-openai etraut-openai force-pushed the etraut/tui-goal-raw-objective-files branch from 2aba824 to d4f8529 Compare June 11, 2026 01:42
@etraut-openai etraut-openai changed the title Support long raw TUI goal objectives [1 of 3] Support long raw TUI goal objectives Jun 11, 2026
@etraut-openai etraut-openai marked this pull request as ready for review June 11, 2026 02:52

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d4f8529190

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/chatwidget/slash_dispatch.rs Outdated
Comment thread codex-rs/tui/src/app/thread_goal_actions.rs Outdated
Comment thread codex-rs/tui/src/goal_files.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bbc613c1dc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/app/thread_goal_actions.rs Outdated
Comment thread codex-rs/tui/src/goal_files.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a989259671

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/app/thread_goal_actions.rs Outdated
Comment thread codex-rs/tui/src/app/thread_goal_actions.rs Outdated
Comment thread codex-rs/app-server-client/src/path.rs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2cfb435d0e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/goal_files.rs
Comment thread codex-rs/tui/src/app/thread_goal_actions.rs
Comment thread codex-rs/tui/src/goal_files.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 71637bace3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/app/thread_goal_actions.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 45e35b1147

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/app/thread_goal_actions.rs
Comment thread codex-rs/tui/src/goal_files.rs Outdated
Comment thread codex-rs/app-server-client/src/path.rs Outdated
Comment thread codex-rs/tui/src/goal_files.rs
@canvrno-oai

Copy link
Copy Markdown
Contributor

One notable issue was raised by Codex, I don't think it's serious given most goal use cases will not be ran under such profiles:

Long goals may be unreadable by the agent if the thread is operating under a custom workspace-only permission profile, because the goals are stored under $CODEX_HOME.

@etraut-openai etraut-openai merged commit 78bab04 into main Jun 12, 2026
31 checks passed
@etraut-openai etraut-openai deleted the etraut/tui-goal-raw-objective-files branch June 12, 2026 05:26
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants