Files
Michael Neale df9d0a47fc feat(desktop): shared (split) models in Share compute
Add a shared-model path to Settings → Compute → Share compute alongside the
existing solo flow, and restructure the card into Recommended (the common
path) + Advanced (free-text solo serve, installed picklist, Max VRAM, and a
new 'Join a shared model' section).

Shared models are curated meshllm/…-layers layer packages too big for one
machine. Selecting one serves it via the existing mesh_start_node path; the
mesh runtime implicitly splits it (model doesn't fit locally) and waits for a
quorum of members before serving. Status is cohort-aware but coarse by design
(built on today's SDK state): 'waiting for more members' vs 'running with the
group' — a precise 'X of N members' progress is a future enhancement gated on
an upstream mesh-llm status field.

No mesh-llm SDK changes; works against pinned v0.73.1.

- catalog.rs: SharedModel list, estimate_members, shared/estimated_members
  fields + shared list on the catalog (+ tests, 7/7 pass)
- tauriMesh.ts: MeshCatalogEntry.shared/.estimatedMembers, catalog.shared
- MeshComputeSettingsCard.tsx: Recommended + Advanced restructure,
  SharedModelPicker, cohort-aware StatusLine, honest slower-than-solo warning
- sharedModel.ts (+ 9 tests): isSharedModelRef, sharedModelShortName
- e2eBridge.ts: mock mesh_model_catalog incl. shared[]; shared models hold in
  'starting' to simulate waiting-for-quorum
- mesh-compute e2e specs updated + shared-model test added (2 pass)
- docs/mesh-share-compute-shared-models.md

Signed-off-by: Michael Neale <michael.neale@gmail.com>
2026-07-16 15:38:14 +10:00
..