- Fall back to a case-insensitive override lookup. The browser normalizes ids to
lowercase before storing, so the backfill wrote "org/model:q4_k_m" while the
resolver asked for "Org/Model:Q4_K_M" and never matched, which made the whole
migration a no-op. Exact match still wins and an ambiguous fallback matches
nothing, so two POSIX paths differing only in case stay distinct.
- Record a detail revision only when a fetch actually started. requestDetail's
in-flight guard can refuse, and recording anyway meant a revision that landed
during an earlier fetch was skipped for good once updated_at stopped moving,
leaving a terminal request showing a stale running payload.
- Discard superseded settings opens. The GGUF variant lookup is async, so
opening a second row while the first was pending let whichever finished last
win, and the page could then save or load settings for the wrong model.
- Raise the model_id cap to PATH_MAX plus a quant suffix. A local model's id is
its filesystem path and LoadRequest.model_path is unbounded, so the old 512
limit 422d the server sync while the local save succeeded, leaving the UI
showing settings the API would never apply.