Skip to content

feat(shell): show provider/model in the status bar - #1019

Open
alexandregz wants to merge 1 commit into
Gentleman-Programming:mainfrom
alexandregz:feat/show-provider-model-status
Open

alexandregz wants to merge 1 commit into
Gentleman-Programming:mainfrom
alexandregz:feat/show-provider-model-status

Conversation

@alexandregz

@alexandregz alexandregz commented Sep 14, 2026

Copy link
Copy Markdown

Summary

The shell status bar showed only the bare model id (e.g. gpt-5.5), which is ambiguous once more than one provider can serve a model with the same name. It now always shows the fully qualified provider/model (e.g. openai-codex/gpt-5.5).

This is a display-only change to the status bar model label. No routing, cost, context, or effort behavior changes.

The change

  1. buildShellBarModel now composes provider/model. In extensions/gentle-shell.ts, modelId was model?.id ?? "no-model" and is now:

    modelId: model ? `${model.provider}/${model.id}` : "no-model",

    The "no-model" fallback is preserved for the no-model case, and the existing model?. optionals for effort, contextWindow and subscription are untouched.

  2. Two test assertions updated in tests/gentle-shell.test.ts to encode the new contract instead of the old one:

    • buildShellBarModel reads session, model, and footer databuilt.modelId is now "openai-codex/gpt-5.5".
    • gentleShell installs the footer on session_start when a UI exists — the rendered bar regex is now /main ⟡ openai-codex\/gpt-5\.5 · medium/.

Rendering code in lib/shell-bar.ts consumes modelId as an opaque string (bar label and fullscreen Status rail), so no rendering change was required.

Test plan

  • node --experimental-strip-types --check extensions/gentle-shell.ts — parses clean.
  • node --experimental-strip-types --test tests/gentle-shell.test.ts29/29 pass.
  • Full suite pnpm test: gentle-shell is green; the 10 remaining failures are in unrelated files (gentle-agents, rdd-status-line, sdd-managed-runtime-settlement, sdd-research-capabilities). Verified identical on a clean base checkout (git stash → same 130 pass / 10 fail), so they are pre-existing and not caused by this diff.

Notes

  • The same change already ships as a standalone npm package, pi-show-provider-gentle-pi, where it is confined to this single line.
  • No issue reference: this is a self-contained display improvement.

Summary by CodeRabbit

  • Bug Fixes
    • Model identifiers shown in the shell bar and footer now include both the provider and model name, improving clarity when models share similar names.

Co-authored-by: deepseek-v4-flash <deepseek-v4-flash@pi.dev>
Generated-By: Pi 0.85.1
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 4bd8eb3c-c7b4-40c4-8539-72b594c74223

📥 Commits

Reviewing files that changed from the base of the PR and between 593ee59 and 4034046.

📒 Files selected for processing (2)
  • extensions/gentle-shell.ts
  • tests/gentle-shell.test.ts

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The shell bar now constructs selected model identifiers from both provider and model ID. Tests update the model data assertion and rendered footer assertion to use the provider-qualified value.

Changes

Shell model identity

Layer / File(s) Summary
Provider-qualified model identifier and validation
extensions/gentle-shell.ts, tests/gentle-shell.test.ts
buildShellBarModel now returns ${model.provider}/${model.id} for selected models. Tests expect the qualified identifier in model data and the rendered footer. The "no-model" fallback remains unchanged.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Feature

Suggested reviewers: alan-thegentleman

Merge Risk: ⚪ Minimal · up to 40340

The shell bar now displays the intended provider/model identifier, with no unresolved merge-blocking risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: displaying the provider/model identifier in the shell status bar.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant