Rig-gated — the OSC bindings move to /rlx/v1
Not iGPU-gated and not runnable at the desk either. It needs the lighting rig — Arena, the
TouchDesigner patch and whatever show file the set runs from. Extracted from Plan 0152 at that
plan’s close (2026-09-05) so the plan could close on its four completed dev phases without
waiting on a rig session, exactly as every item above was.
The break is silent, and this check is its only detector. ADR-0164 moved the OSC address root
from /lmv/v1 to /rlx/v1 in one clean break — no transition period, no dual-emit. OSC has no
negotiation and no error channel, so a binding left on the old root simply stops firing: the
fixture holds its last value, nothing in the app, the console or the protocol reports it, and from
front of house that is indistinguishable from a fixture that happens not to be moving. Nothing in
CI, and no synthetic run, can see the binding half.
- Re-point every OSC binding from
/lmv/v1/…to/rlx/v1/…. Fourteen addresses; the table in Configuration is the roster. Only the root changes — no payload, argument type tag, address suffix, vocabulary or send cadence moved, so/v1stays and a binding that re-points its root and changes nothing else is correct. Report each of the fourteen driving what it drove before, confirmed against a playing track withritmolux --osc <host:port>. A “looks fine” reading does not discharge this — a missed binding is invisible until the moment the show needs it. Keep the old show file until every address is confirmed: a build from before Plan 0152 and a build after it cannot drive the same bindings, and/v1deliberately does not distinguish them on the wire. (Plan 0152 Phase 5, extracted at that plan’s close 2026-09-05.)
What is already known, and what it does not cover. A synthetic acceptance run on 2026-09-05
took the app side of the break: the shipped sink aimed at a local UDP receiver, a throwaway decoder
self-tested against three known-good encoded messages first, 1450 sets over ~24 s against a live
loopback track. It establishes that all fourteen addresses publish under /rlx/v1, none on the old
root and none outside it; that every argument type tag matches ADR-0144; that every datagram is a
multiple of 4 bytes; and that n was equal across all fourteen, so no partial set was sent. The
reading is in the plan’s ## Implementation log. It reaches everything on the app side of the
socket and nothing on the binding side, which is the half this item exists for.
Built from a8ce055 at version 0.115.0. This site tracks main and is not versioned per release.