Skip to content

feat(seal-embark): add model suggestion + text wrapping (SEA-601)#367

Open
fluxdiv wants to merge 6 commits into
mainfrom
05-27-sea-601
Open

feat(seal-embark): add model suggestion + text wrapping (SEA-601)#367
fluxdiv wants to merge 6 commits into
mainfrom
05-27-sea-601

Conversation

@fluxdiv
Copy link
Copy Markdown

@fluxdiv fluxdiv commented May 27, 2026

Pull request

Summary

Adds provider-aware model name examples beneath the model input field during the init wizard's Model step, so users know what format to type for their chosen provider.

Changes

  • Displays a dimmed "Example: ..." hint line under the model input when the user is on the Model step
  • Example values are tailored to the selected provider: Anthropic-based providers show Claude model slugs, OpenRouter shows multi-provider prefixed slugs
  • Enables text wrapping on the body paragraph so longer hint lines render correctly

Test plan

  • Manually verify the hint appears under the model field for each provider choice (ClaudeSubscription, AnthropicApiKey, OpenRouter)
  • Confirm the hint does not appear on steps other than the Model step
  • Run just ci

Screenshots

Notes for reviewers

The Wrap { trim: false } change is necessary to prevent the example text from being clipped when the terminal is narrow; trim: false preserves leading spaces used for indentation of the hint line.


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 27, 2026

SEA-601 Docsite Review

Review https://seal.sealedsecurity.com/ as a new user, and give feedbacn how readable the docs are, how much is understandable, what the gaps are, etc.

Review in Linear

Copy link
Copy Markdown
Author

fluxdiv commented May 27, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • Merge Queue - adds this PR to the back of the merge queue
  • Merge Queue Fast Track - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@fluxdiv
Copy link
Copy Markdown
Author

fluxdiv commented May 27, 2026

@codesmith Review this PR

@blacksmith-sh
Copy link
Copy Markdown

blacksmith-sh Bot commented May 27, 2026

I'm on it! Give me a moment to analyze the code and I'll respond shortly.

View with Codesmith Link Account

For changes to be attributed to you in commits, consider linking your GitHub account to Blacksmith.

@blacksmith-sh
Copy link
Copy Markdown

blacksmith-sh Bot commented May 27, 2026

@fluxdiv

@codesmith Review this PR

Here's the review of PR #367.

What the PR does

Adds an Example: … hint line beneath the Model input prompt in the seal embark wizard, listing a couple of valid model strings per provider (Anthropic vs OpenRouter). It's a small, scoped UX nudge in crates/seal-cli/src/tui/init/rendering.rs:122-139.

Looks good

The styling matches the surrounding code: same " " indent, colors::DIM, and Style::default() formatting used by the other hint lines (see the "Will be saved as…" hint in draw_apikey_step at crates/seal-cli/src/tui/init/rendering.rs:309-315). The example format matches the wire format each provider actually expects (dashed claude-…-4-7 for Anthropic, dotted anthropic/claude-opus-4.7 for OpenRouter), which is consistent with ProviderChoice::default_model() in crates/seal-cli/src/tui/init/state.rs:172-177.

Things worth flagging

  1. seal init is missing the same hint. Both wizard modes route through the Model step, but the change only landed in draw_body_embark (rendering.rs:93). The draw_body_init path (rendering.rs:72-87) has the identical push_step_line(lines, "Model", &state.model, …) call and no example line. If the goal is "help users discover valid model names," seal init users get nothing. Either both should have it, or the hint should live on the push_step_line call site that's shared. I'd add the same block to draw_body_init for parity.

  2. Consider colocating the examples with the provider. The match on state.provider() is inline in the renderer. A ProviderChoice::model_examples() -> &'static str method on state.rs (next to default_model, signup_url, etc.) would keep all the provider metadata in one place and avoid the renderer drifting if a fourth provider is added later. Small refactor; not a blocker.

  3. PR hygiene. The title is just SEA-601 and the body is the unfilled template. The repo's PR template asks for Conventional Commits (feat(seal-cli/tui): … would fit) and a short summary. Also the linked Linear ticket SEA-601 is titled "Docsite Review" (about reviewing seal.sealedsecurity.com), which doesn't match this TUI change. Worth confirming the ticket linkage is right or updating the PR to point at the correct ticket.

  4. google/gemini-3-pro and openai/gpt-5 are forward-looking. They're consistent with the codebase's current model line, so I'd leave them as-is, just calling out that if either slug ends up not being a real OpenRouter id at release, the example becomes misleading. Cheap to revisit later.

  5. No tests added. tui/init/tests.rs already exercises the wizard state machine but not the rendered line list, so this is in line with current conventions. Not a blocker; just noting it.

Net: small, well-styled change. The one concrete request I'd make before merging is to mirror the hint into draw_body_init so seal init users see it too. Everything else is polish.

View with Codesmith

@fluxdiv fluxdiv changed the title SEA-601 feat(seal-embark): add model suggestion + text wrapping (SEA-601) May 29, 2026
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 29, 2026

CLA assistant check
All committers have signed the CLA.

@fluxdiv fluxdiv force-pushed the 05-27-sea-601 branch 2 times, most recently from 9452f1b to 7bbd1a0 Compare May 29, 2026 22:07
@fluxdiv fluxdiv requested a review from mattwilkinsonn May 29, 2026 22:17
@fluxdiv fluxdiv marked this pull request as ready for review May 29, 2026 22:19
Comment thread crates/seal-cli/src/tui/init/rendering.rs Outdated
Comment thread crates/seal-cli/src/tui/init/rendering.rs Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@fluxdiv
Copy link
Copy Markdown
Author

fluxdiv commented May 30, 2026

I have read the CLA Document and I hereby sign the CLA

@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented May 30, 2026

Merge activity

  • May 30, 9:20 PM UTC: fluxdiv added this pull request to the Graphite merge queue.
  • May 30, 9:26 PM UTC: CI is running for this pull request on a draft pull request (#410) due to your merge queue CI optimization settings.

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.

3 participants