Skip to content

Make provider selection explicit; stop implicit external CLI credential reuse #5772

Description

@Hmbown

Problem

Current picker source can metadata-probe a disabled external CLI credential location while presenting a "no probing" posture, and some unkeyed external rows can parse/adopt credentials on Enter without an explicit confirmation surface. Normal picker UI can leak HOME/temp credential paths, raw probe order, or state-inaccurate shortcut commands. Default UX can imply a provider is configured without usable Codewhale-owned auth.

This is TUI-UX-03/04. It is not covered by route-authority Phase 1 (#5766 / parent #5755) and must not be entangled with TUI composition (#5768/#5770/#5771).

Historical related work: #4507 (closed) required explicit consent before reading/rewriting other CLIs' credentials. Re-verify the current main/PR lineage; do not assume that closure still holds.

Required invariants

  • Ordinary provider selection performs no external path check, read, refresh, network request, or consent persistence while reuse is off.
  • External CLI credential reuse requires: intentional "Use external CLI credentials" choice, exact-path confirmation, then validate/read/persist only after consent.
  • Revocation also needs confirmation and must clear only Codewhale-owned state.
  • Default UX never claims a provider is configured without usable auth.
  • Surface route readiness, model/provider, credential/billing owner, and catalog freshness only when known. Exact filesystem locations and technical diagnostics stay behind deliberate inspection.
  • Antigravity/AGY may be an external helper; it must not become a Codewhale runtime provider. Legacy configuration is a clear-only, non-runnable tombstone (PRD; related fix(providers): retire Antigravity to a non-runnable tombstone with a Codewhale-owned clear path (PROD-002) #5739).

Safety while investigating

Do not read, copy, print, or persist credentials. Cite source paths and function names only.

Acceptance

  • Source tests prove the ordinary picker does not inspect/adopt external CLI credentials.
  • The explicit reuse flow discloses the exact path, requires confirmation, and only then validates.
  • Normal UI copy has no HOME/temp credential paths or probe-order leaks.
  • AGY/Antigravity is not a grantable runtime route on the current line.
  • Hosted CI, runtime provider lifecycle, and billing remain separate proof lanes.
  • No merge, tag, deploy, or real credential adoption without founder approval.

Out of scope

TUI composer chrome, website auth 404s, CWC account lifecycle, and 0.9.12 tagging.

Metadata

Metadata

Assignees

No one assigned

    Labels

    tuiTerminal UI behavior, rendering, or interaction

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions