Skip to content

[codex] add external agent import picker UX#27070

Merged
stefanstokic-oai merged 3 commits into
mainfrom
codex/import-picker-ux
Jun 10, 2026
Merged

[codex] add external agent import picker UX#27070
stefanstokic-oai merged 3 commits into
mainfrom
codex/import-picker-ux

Conversation

@stefanstokic-oai

@stefanstokic-oai stefanstokic-oai commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Why

Users need to understand what external-agent data Codex detected, what is selected, and how to proceed before an import begins. The updated picker makes focus, selection state, and the submission path explicit while preserving the existing import backend.

What changed

  • replace the old migration prompt with a two-step external-agent import picker
  • add a customize view with explicit item focus, selection state, counts, and a review action
  • separate detected import data into a view model
  • add Unix and Windows snapshots for prompt, item-focus, and action-focus states

Validation

  • just test -p codex-tui external_agent_config_migration (10 passed)
  • manually exercised an isolated TUI fixture covering customization, selection toggles, review, import, repeated invocation, and session resume
  • the broader just test -p codex-tui run passed 2,805 tests, with 2 unrelated guardian feature-flag failures and 4 skipped tests

Review note

This is the largest layer in the stack because the interaction state, rendering changes, and required snapshots move together. It remains a draft in case reviewers prefer a further presentation/state split.

Stack

  1. #27064: remove the startup migration flow
  2. #27065: extract the picker renderer
  3. #27070: add the external-agent import picker UX
  4. #27071: expose the flow through /import

This PR is stack item 3. Draft while the lower stack dependencies are reviewed.

@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: 81d31e7b6a

ℹ️ 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/external_agent_config_migration.rs
@stefanstokic-oai stefanstokic-oai force-pushed the codex/import-picker-foundation branch from e5d611b to 5b178b5 Compare June 9, 2026 15:44
@stefanstokic-oai stefanstokic-oai force-pushed the codex/import-picker-ux branch from 81d31e7 to ff65430 Compare June 9, 2026 15:44
stefanstokic-oai added a commit that referenced this pull request Jun 10, 2026
## Why

External-agent import should be initiated deliberately instead of
interrupting eligible TUI startups. This cleanup removes the blocking
startup flow before the replacement import experience is introduced
later in the stack.

## What changed

- remove the startup-blocking external-agent migration prompt
- remove the now-unused external migration feature gate
- remove the obsolete TUI app-server migration wrappers
- retain the dormant picker behind a module-scoped dead-code allowance
until the next stack item wires it back in
- keep normal TUI startup focused on entering Codex immediately

## Validation

- `bazel build --config=clippy //codex-rs/tui:tui
//codex-rs/tui:tui-unit-tests-bin`
- `just test -p codex-tui external_agent_config_migration` (8 passed)
- `just test -p codex-tui` (2,786 passed, 12 unrelated local
environment-sensitive failures, 4 skipped)
- `just fix -p codex-tui`
- `just fmt`

## Stack

1. [#27064](#27064): remove the
startup migration flow
2. [#27065](#27065): extract the
picker renderer
3. [#27070](#27070): add the
external-agent import picker UX
4. [#27071](#27071): expose the flow
through `/import`

**This PR is stack item 1.**
@stefanstokic-oai stefanstokic-oai force-pushed the codex/import-picker-foundation branch from 5b178b5 to 78a9d82 Compare June 10, 2026 18:38
stefanstokic-oai added a commit that referenced this pull request Jun 10, 2026
## Why

The external-agent import picker is easier to review when its rendering
refactor lands separately from new state and interaction behavior. This
layer is intended to be behavior-neutral.

## What changed

- extract external-agent migration rendering into a dedicated `render`
module
- preserve existing behavior while separating presentation from
interaction logic
- establish a smaller foundation for the import picker UX in the next PR

## Validation

- `just test -p codex-tui external_agent_config_migration` (10 passed)

## Stack

1. [#27064](#27064): remove the
startup migration flow
2. [#27065](#27065): extract the
picker renderer
3. [#27070](#27070): add the
external-agent import picker UX
4. [#27071](#27071): expose the flow
through `/import`

**This PR is stack item 2.** Draft while the lower stack dependency is
reviewed.
Base automatically changed from codex/import-picker-foundation to main June 10, 2026 18:48
@stefanstokic-oai stefanstokic-oai force-pushed the codex/import-picker-ux branch from ff65430 to 72c495a Compare June 10, 2026 19:05
@stefanstokic-oai stefanstokic-oai merged commit e352843 into main Jun 10, 2026
31 checks passed
@stefanstokic-oai stefanstokic-oai deleted the codex/import-picker-ux branch June 10, 2026 19:19
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 10, 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