Wrong-path correction: previous DECISIONS.md and handoff said
toolbar.js deploys to /opt/sethmux/ 'on this host'. Caddy's
'root * /opt/sethmux' resolves against Caddy's filesystem, which is
on the caddy CT (192.168.0.185), not steel141. Deployed copy on
steel141 was harmless but unused; the served file came from caddy CT.
Symptom: 'mux.sethpc.xyz looks the same' after a successful steel141
'cp'. Resolution: scp static/toolbar.js caddy:/opt/sethmux/.
DECISIONS.md now documents the two-host split (Caddy serves static
assets from its own disk; ttyd on steel141 serves --index).
Captures: what shipped (Workspace dark refresh + compose bar in
static/toolbar.js, deployed to /opt/sethmux/), the manual-deploy gotcha
that left 3 prior fixes undeployed for a month, the Caddy-not-ttyd
serving path for static assets, and the mobile acceptance checklist
that's the only remaining gate.
Validator score: 88/100 (READY).