Skip to content

Conversation

@shijie-oai
Copy link
Collaborator

We should never ask a freeform question when planning and we should always include isOther as an escape hatch.

Copy link
Contributor

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

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: 8dc00a2779

ℹ️ 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 on lines 119 to 121
- Step 1
- Step 2
</proposed_plan>
</proposed_plan>
Copy link
Contributor

Choose a reason for hiding this comment

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

P2 Badge Fix example closing tag indentation

The example shows the closing </proposed_plan> tag with two leading spaces, which contradicts the immediately preceding rule that the tags must be exactly <proposed_plan> and </proposed_plan> on their own lines. Since this example is likely to be copied verbatim, it can lead the client to emit a malformed closing tag that won’t be recognized by the renderer.

Useful? React with 👍 / 👎.

@shijie-oai shijie-oai force-pushed the shijie/plan-prompt-tune branch from 8dc00a2 to 6df3651 Compare January 30, 2026 07:20
@shijie-oai shijie-oai force-pushed the shijie/plan-prompt-tune branch from 6df3651 to 0b4f5bd Compare January 30, 2026 07:22
@shijie-oai shijie-oai changed the base branch from add-plan-thread-item to main January 30, 2026 07:22
@@ -606,8 +606,7 @@ fn create_request_user_input_tool() -> ToolSpec {
"isOther".to_string(),
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should we just delete isOther from the tool? Why expose this as a tool arg if it should always be true?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Causing rendering UI and I am too lazy to update the logic there lol

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ah but maybe we could just make the model visible tool not include isOther, but hardcode it to true when we send the toolcall to the client? Generally keeping model visible things clean is good for model quality

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

ya let me do that!

@chatgpt-codex-connector
Copy link
Contributor

💡 Codex Review

match env::var(&name) {
Ok(value) => {
loaded_values.insert(name.clone(), value);
continue;

P2 Badge Treat empty env vars as missing for skill deps

The new dependency resolver treats any present environment variable as satisfied, but env::var returns Ok("") for empty values. That means a user can have an env var set but empty (common when clearing secrets), and the code will skip prompting and store an empty value in dependency_env, so skill execution will fail later without giving the user a chance to supply the required secret. Consider treating empty/whitespace values as missing, similar to other env‑var consumers in the codebase.


let log_db_layer = codex_core::state_db::get_state_db(&config, None)
.await
.map(|db| log_db::start(db).with_filter(env_filter()));

P2 Badge Log DB layer never attaches on fresh installs

The log DB layer is only created if get_state_db returns a handle, which only happens when the SQLite file already exists. On a fresh profile, the DB is created later by state_db::init_if_enabled during session startup, so this layer stays None for the entire run and no logs are persisted until the next launch. If the intent is to record the very first session, the logger needs to attach after DB creation or initialize the DB here.

ℹ️ 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".

for question in &mut args.questions {
question.is_other = true;
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We hardcode the isOther property to true passing it to downstream consumer. isOther itself is removed from the tool spec.

@shijie-oai shijie-oai force-pushed the shijie/plan-prompt-tune branch from f950327 to 54fbfd5 Compare January 30, 2026 08:05
Copy link
Collaborator

@charley-oai charley-oai left a comment

Choose a reason for hiding this comment

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

Nice looks good

@shijie-oai shijie-oai merged commit a0ccef9 into main Jan 30, 2026
51 of 53 checks passed
@shijie-oai shijie-oai deleted the shijie/plan-prompt-tune branch January 30, 2026 09:19
@github-actions github-actions bot locked and limited conversation to collaborators Jan 30, 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.

4 participants