{{ message }}
Repository navigation
Commit ea63c8b
committed
Stop a lower-priority override key holding newer data than the one a load reads
Four defects, all one shape: a write leaves a key the loader reads before, or
instead of, the key holding the values the user actually meant.
Standalone GGUF saves now consult the filename-derived legacy key. The loader
reads the bare path ahead of "<path>:LABEL", and the settings page never sends
llama_extra_args, so the backend carry-over was the only thing preserving those
flags; for a colon-free path neither _bare_model_id nor cached_repo_alias_keys
fires, so the new bare entry won and the flags became unreachable. The removal
branch already called _legacy_standalone_gguf_key; the save branch now does too.
The one-time fill no longer creates a snapshot-path key over a repo-id entry.
resolve_model_override_key cannot fold a path onto a repo id, so a backfill from
a pre-upgrade browser wrote a brand-new higher-priority key and skipped alias
retirement, shadowing newer server values on every API load. The redirect is
direction-aware: only the path spelling outranks, so a repo-id fill over an
existing path entry still creates its own key, and two snapshot paths never
redirect since neither is knowably the load path.
Carried pass-through flags no longer shadow first-class controls. A save keeps
stored llama_extra_args while writing the field just edited, and the auto-switch
mapper sent both, so a stale "--ctx-size 8192" landed after Unsloth's own flags
and won llama.cpp's last-wins parse against a freshly saved 32768. The /load
route already strips exactly these groups off inherited extras; that stripper is
imported rather than mirrored, gated per group on the field the override
supplies, so a flag with no first-class field behind it still passes through.
A same-model reload now advances the chat template. hydratingExistingModel is
computed from checkpoint and quant alone, so a reload from another client left
the Hub presenting the old template as live, and the next Apply persisted and
reloaded it over the new one. The baseline always advances; the control advances
only while it still equals the old baseline, so a mid-edit value survives. Blank
and null compare equal, matching cleanTemplate and the backend normalisation.
The resolver is a separate module because the applier imports the model-picker
barrel, which is unimportable under node --experimental-strip-types.
Each fix was checked against its own test on the unfixed source first: 2 fail
for the settings-key pair, 2 for the shadowing flags, 5 for the template seed.
326 backend, 316 llama-server/chat-load, 103 contract and 127 node tests pass,
with typecheck, build and ruff clean.1 parent a25af76 commit ea63c8b
6 files changed
Lines changed: 403 additions & 10 deletions
File tree
- studio
- backend
- routes
- tests
- utils
- frontend
- src/features/chat/lib
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4272 | 4272 | | |
4273 | 4273 | | |
4274 | 4274 | | |
| 4275 | + | |
| 4276 | + | |
| 4277 | + | |
| 4278 | + | |
| 4279 | + | |
| 4280 | + | |
| 4281 | + | |
| 4282 | + | |
| 4283 | + | |
| 4284 | + | |
| 4285 | + | |
| 4286 | + | |
| 4287 | + | |
| 4288 | + | |
| 4289 | + | |
| 4290 | + | |
| 4291 | + | |
| 4292 | + | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
| 4296 | + | |
| 4297 | + | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + | |
| 4301 | + | |
| 4302 | + | |
| 4303 | + | |
| 4304 | + | |
| 4305 | + | |
| 4306 | + | |
| 4307 | + | |
| 4308 | + | |
| 4309 | + | |
| 4310 | + | |
| 4311 | + | |
| 4312 | + | |
| 4313 | + | |
| 4314 | + | |
| 4315 | + | |
| 4316 | + | |
| 4317 | + | |
| 4318 | + | |
| 4319 | + | |
| 4320 | + | |
| 4321 | + | |
| 4322 | + | |
| 4323 | + | |
| 4324 | + | |
| 4325 | + | |
| 4326 | + | |
| 4327 | + | |
| 4328 | + | |
| 4329 | + | |
| 4330 | + | |
| 4331 | + | |
| 4332 | + | |
| 4333 | + | |
| 4334 | + | |
| 4335 | + | |
| 4336 | + | |
| 4337 | + | |
| 4338 | + | |
| 4339 | + | |
| 4340 | + | |
| 4341 | + | |
| 4342 | + | |
| 4343 | + | |
4275 | 4344 | | |
4276 | 4345 | | |
4277 | 4346 | | |
| |||
4495 | 4564 | | |
4496 | 4565 | | |
4497 | 4566 | | |
| 4567 | + | |
| 4568 | + | |
| 4569 | + | |
| 4570 | + | |
| 4571 | + | |
| 4572 | + | |
| 4573 | + | |
| 4574 | + | |
| 4575 | + | |
| 4576 | + | |
| 4577 | + | |
| 4578 | + | |
| 4579 | + | |
| 4580 | + | |
| 4581 | + | |
| 4582 | + | |
| 4583 | + | |
| 4584 | + | |
| 4585 | + | |
4498 | 4586 | | |
4499 | 4587 | | |
4500 | 4588 | | |
| |||
4537 | 4625 | | |
4538 | 4626 | | |
4539 | 4627 | | |
| 4628 | + | |
| 4629 | + | |
| 4630 | + | |
| 4631 | + | |
| 4632 | + | |
| 4633 | + | |
| 4634 | + | |
| 4635 | + | |
| 4636 | + | |
| 4637 | + | |
| 4638 | + | |
| 4639 | + | |
| 4640 | + | |
| 4641 | + | |
| 4642 | + | |
| 4643 | + | |
| 4644 | + | |
| 4645 | + | |
| 4646 | + | |
| 4647 | + | |
4540 | 4648 | | |
4541 | 4649 | | |
4542 | 4650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
459 | 486 | | |
460 | 487 | | |
461 | 488 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
402 | 403 | | |
403 | 404 | | |
404 | 405 | | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
415 | 418 | | |
416 | 419 | | |
417 | 420 | | |
| |||

0 commit comments