Repository navigation
[UI]: The Model step says what a model is for and finds one without a port range #112
Description
Problem to solve
The Model step asks "Connect to a model?" without saying what a model does here. Choosing Yes shows a port range (800 to 11434) and a Scan button, so a person who isn't technical has to understand ports before the resume can be read. The scan only runs when clicked. The warning about cloud providers sits under the card, away from the Cloud choice it describes.
The step should say in plain words that a model reads the resume, find a model on this computer without being asked, and keep ports and custom addresses out of the way.
Variant 1: Found first
Heading: Should Proforna read your resume?
Lead: "A model reads your resume and lists your jobs and schools for you to check. You can also skip this and add them yourself."
The local scan starts when the step opens.
- Scanning: a row reading "Looking for a model on this computer…" with a small spinner.
- Found: a card reading "Found a model on this computer" with a model picker (first model selected) and the button Use this model. Under it is a quiet link, "Use a different one".
- Not found: "No model found on this computer." Two buttons: Use a cloud model and Set one up myself.
- Advanced (collapsed): the port range, the Scan button, and the base URL plus model fields.
Cloud opens a key field and a model field. The warning sits inside the Cloud card: "A cloud provider may read, keep, report, and train on what you send."
Footer: Back and Skip, I'll add jobs myself. Continue is the main button once a model is chosen.
Variant 2: Two cards side by side
Heading: How should your resume be read?
There are two cards of equal weight, plus a text link.
- On this computer (marked Recommended): "Private. Nothing leaves this machine." A status line reads Looking…, Found 3 models, or Not found. Choosing the card shows the model picker. When nothing is found, it shows "Advanced: ports and address".
- In the cloud: "Faster to set up. The provider sees your resume." Choosing it shows the key and model fields.
- Don't read it, as a text link under the cards: "Add jobs and schools by hand later."
There is no Yes/No question. Picking a card is the answer. Back returns to Profile.
Variant 3: One question at a time
Screen A, heading Should Proforna read your resume?: Yes / No, with one line of explanation. The scan starts in the background as soon as the screen shows.
Screen B (Yes), heading Where should it be read?: two choices, This computer with the found count ("2 models found") and A cloud service with the privacy line. If nothing is found, This computer shows "Not found. Set up an address" and opens the base URL fields.
Screen C: the picker or key fields only, then Continue.
Back moves one screen at a time. Each screen has a single decision.
Additional context
- The local scan already runs through
/api/models/probe, and the port defaults live incore/model-onboarding.ts. A scan on open needs a short timeout so the step doesn't feel stuck. - Decision record 0004 prefers a local model and requires the cloud disclosure. Every variant keeps both.
- Back on this step was fixed separately and now returns to the question.
Checks
- I searched existing issues and pull requests.
- This request is scoped to a single screen or workflow.
- Each variant is a detailed mock, and there are at least three.
Activity
SoryAK commentedon Oct 18, 2026
Chosen: variant 1 (found first). Built: the local scan starts when the step opens, a found model is offered with "Use this model", ports and a custom address sit under Advanced, the cloud card carries its own warning, and "Skip, I'll add jobs myself" replaces the Yes/No question.
SoryAK commentedon Oct 18, 2026
Built in #117.