mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
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>