Repository navigation
A usability round: model suggestions, efforts that fit each tier, clearer texts, and lists that scale to dozens - #73
Merged
Merged
Conversation
…fort and say plainly what a project's options do
- The Model field of every tier on the Accounts page, and the model fields of the form that adds an API key, point
to a datalist, so the owner picks a name or types any other. Claude Code and Codex suggest the new "models" of
data/tiers.json (the aliases haiku, sonnet and opus; the Codex models that its own catalog lists for choosing).
An account on an API key suggests what models.dev lists for its provider, read by the web UI through the same
fetch as its other lookups: at most once a day, waiting 5 seconds, asking for gzip with a User-Agent of its own
(models.dev answers 403 without one), a failure kept 10 minutes, at most 1000 models for each provider, and only
the models that call tools, have a price and are not deprecated. A local model server gets none.
- The default efforts are medium for fast, high for balanced and xhigh for deep, for Claude Code and for Codex.
README and DESIGN say why they differ and where the suggestions come from.
- A project's language says what it is ("Language of its pull requests and issues", default "Same as the account",
with a hint), as the account's own field does. The hints and the help of Tests too, Dependencies too, Merge after
my approval and Watch after the merge say what each adds, and that the watch looks only at the checks of the merged
commit and at the health address: logs, Loki and the error tracker feed the audits.
- The two selects of a project's settings get a row each, so that a closed select does not cut its text short.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… of entries Settings > Container logs and Logs in Loki now come in three parts. Read now lists what lastcall reads: a container with the label lastcall.project (its label decides) or one the owner chose, with a Stop reading button. Suggested has the Projects page's add-many tiles: a checkbox with the container and its project, a button that reads all of them, and a bar that reads or skips the ticked ones. The rest go in a fold that says how many there are, with a filter by name (logs_q, loki_q, from the seventh on) and one text field for each, with a single datalist of the projects, checked on the server against the projects whatever the case. lastcall's own containers (its Compose project, or lastcall-...) never show, in either list. The forms post name-N, project-N and pick. shown-N is gone: a save changes only what it names, so no choice, such as one kept for a removed project, can be erased by it. Both lists share logs.parts, logs.apply_form and templates/_lists.html. The containers' form now refuses lastcall-step-... as the sources' form already did. The Projects page gets a search by name and the filter links All, Active, Inactive and Waiting for you (pull requests, decisions or ideas that wait for the owner), each with its count for the current search, from the seventh project on. With more than 6 projects each card's Run now starts folded, like its Settings. README and DESIGN describe the new layout. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ontainers and sources Skip the ticked joins Read the N suggested above the list, as on the Projects page, so that the bar stays one button high on a phone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
A usability round from the owner's test with dozens of projects and containers.
Models and effort
Model suggestions. Each Model field has a list to pick from, and any other name can still be typed, because catalogs change every month.
data/tiers.json: the aliaseshaiku,sonnetandopusfor Claude Code, and the models of the Codex CLI that the runner pins.fableis left out:claude -pcan bill it to usage credits without asking, and lastcall never spends paid usage.lastcall/catalog.py): those that call tools, have a price and are not deprecated.Default efforts that fit the task, for both engines:
Codex used to say "Default (high)" for every tier.
Clearer texts on a project's settings
Lists that scale
Settings › Container logs and Logs in Loki come in three parts:
<input list>with type-ahead instead of a select of every project in every row.lastcall's own containers and sources are hidden. The server checks every typed project against the projects, in any case, and a form is applied whole or not at all. A choice for a removed project still survives every save.
Projects.
Docs
modelsandProvider.catalog.How it was verified
The checks.
uv run ruff check && uv run ruff format --check && uv run mypy && uv run pytestpasses: 832 tests pass and 33 are skipped. 114 tests are new. They cover:Seven existing assertions changed on purpose: they pinned the old efforts, or the old rows of the logs lists.
Screenshots at 390 and 1280 px, in English and Spanish, light and dark, of:
Every page answers 200, and nothing is wider than the screen. The real
lastcall webwas checked with 30 projects too.🤖 Generated with Claude Code