Files
buzz/desktop/tests
Michael Neale 21ed443e04 fix(desktop): Share toggle reflects serve mode, not slot occupancy
Consuming a peer's compute (selecting Buzz compute as an agent's
provider) spins up a client-mode node in the single mesh runtime slot,
which reports state:"running". The Share toggle keyed off state alone,
so it lit up during a consume session — and toggling it off ran the
generic mesh_stop_node, tearing down that session.

Toggle now reads mode: serve = sharing (on), client = consuming (off).
A serve node that also routes a peer's model stays on. mesh_stop_node
refuses to tear down a client node.

A failed serve node still occupies the single slot, so it reads as
sharing (switch stays on and turn-off-able to clear/retry) and blocks a
fresh start; slotOccupied gates the model inputs. Consume copy states
the fact rather than promising a stop action that doesn't exist.

- deriveMeshShareToggle predicate (+ slotOccupied) + unit table
- backend share_stop_should_teardown guard + serde contract test
- e2e regression: consuming does not light the Share toggle
2026-07-23 10:12:25 +10:00
..