unsloth/studio/frontend
LeoBorcherding 00c4ef762e GPU pick index-space: stamp the kind onto the pick, not the call site
The fromPersisted-by-call-site marker kept getting misapplied because those
sites carry both storage restores and fresh live edits, and the cold-cache
park/revalidate raced the load path. Replace it with per-value provenance: each
GPU pick carries the index space it was made under, and reconcile drops it only
when that stamp no longer matches the backend.

- use-gpu-info: currentGpuIndexKind() (from /api/system gguf_devices); drop the
  session-global gpuIndexSpaceChanged marker machinery.
- PerModelConfig gains selectedGpuIdsIndexKind (persisted); the runtime store
  gains selectedGpuIdsKind, stamped wherever a pick is set (live picker = current
  kind, load echo = current kind, config apply = the config's stamp).
- reconcilePersistedGpuIds(ids, savedKind): drop when savedKind != current kind
  (both known); unstamped picks default to physical (pre-Vulkan).
- Run settings stamps the current kind when the user edits the GPU picker, so an
  edited pick is never treated as a stale cross-space restore; an unedited
  stored pick keeps its saved kind.
- No more park-null / async revalidate / fromPersisted: a same-backend refresh
  keeps the saved subset (kinds match), a cross-space pin is dropped, and the
  load snapshot carries the stamp so it can't send a wrong-space pin.

Fixes the three Codex findings (cold-cache saved-pick loss, model-generation
race, unedited run-settings treated as live). Contract tests updated; typecheck
+ build + tests/studio contracts green.
2026-07-23 23:00:31 -05:00
..
public Unsloth: appearance palettes, customization options, and control restyle (#7077) 2026-07-14 05:12:08 -07:00
src GPU pick index-space: stamp the kind onto the pick, not the call site 2026-07-23 23:00:31 -05:00
.gitignore perf(studio): upgrade to Vite 8 + auto-install bun for faster frontend builds (#4522) 2026-03-25 04:27:41 -07:00
.gitkeep add studio root folder 2026-02-02 09:14:35 +00:00
.npmrc Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
biome.json feat: add seed dataset support with configuration, preview, and builder utilities 2026-02-14 18:44:38 +01:00
components.json add studio root folder 2026-02-02 09:14:35 +00:00
data-designer.openapi (1).yaml save and import, and fixes 2026-02-04 14:32:49 +01:00
eslint.config.js Final cleanup 2026-03-12 18:28:04 +00:00
index.html Unsloth: appearance palettes, customization options, and control restyle (#7077) 2026-07-14 05:12:08 -07:00
package-lock.json Unsloth: appearance palettes, customization options, and control restyle (#7077) 2026-07-14 05:12:08 -07:00
package.json Unsloth: appearance palettes, customization options, and control restyle (#7077) 2026-07-14 05:12:08 -07:00
tsconfig.app.json chore(studio/frontend): normalize line endings to LF (#6012) 2026-06-12 03:51:59 -07:00
tsconfig.json chore(studio/frontend): normalize line endings to LF (#6012) 2026-06-12 03:51:59 -07:00
tsconfig.node.json chore(studio/frontend): normalize line endings to LF (#6012) 2026-06-12 03:51:59 -07:00
vite.config.ts Fix Install commands for Windows + 1 line installs (#4447) 2026-03-19 02:09:09 -07:00