fix(k1): simplify response-gated launch UX

This commit is contained in:
DCCONSTRUCTIONS
2026-07-18 18:17:16 +03:00
parent 7b7b5d6cad
commit d7a2c22faf
10 changed files with 306 additions and 161 deletions
@@ -138,9 +138,12 @@ connection time.
Plugin v0.5.0 installs this boundary through
`application_session.py`. One background owner is the only thread allowed to
touch the control MQTT client. REST/UI actions release exactly one checkpoint:
session open (16), workspace entry (7), project preparation (810), START, STOP
and steady-green confirmation. Preparing local reception happens before the
touch the control MQTT client. The standard UI turns one explicit launch intent
into response-gated REST actions for session open (16), workspace entry (7),
project preparation (810) and START. This is control compression, not protocol
compression: each next action waits for the exact server/device phase, and
local polling never retries or times a K1 write. STOP and steady-green
confirmation remain separate operator actions. Preparing local reception happens before the
START event is released. After STOP, local capture remains owned until live
unbound READY and explicit visual confirmation. Page close, model switching,
polling and service state reads cannot emit START/STOP; model switching is