DIGITAL gain in dB → the channel's /gain row. The counterpart to gain: that one
is the ANALOG head-amp's SENS, this is the desk's own coarse stage, and the two are
genuinely different facts on genuinely different rows (the 2026-07-30 ownership decision).
A surface calls this exactly where gain answered unowned.
LCR divergence 0..1 → the SAME pan row's divergence field (2026-09-08-lcr-mains.md §8.1:
one strip-scoped row carries both). Meaningful only where the strip's tap lands on an lcr
bus; the row accepts the write regardless (an unused value on a stereo tap is the row's own
declared "inert, not refused" semantics) — the SURFACE is what gates the gesture (§8.4).
Fader travel 0..1 → the fader row's stored position; its dB derives via the scale.
Head-amp GAIN in dB → the head-amp entity's gainDb, in the same unit and with no
conversion at all since #165. Answers unowned where the channel declares no writable SENS — that is the DIGITAL stage's fact, and the caller hands it to
digitalGain instead of this door inventing a second one. Ownership is decided
before the write, so the unowned answer never waits on a landing.
The channel's own mute latch → the mute entity's individual (holds stay untouched).
Pan −1..1 → the pan row's pan.
+48 V → the head-amp entity's phantom. Where the channel sources no physical preamp
(or the input cannot supply 48 V) the entity refuses — there is no pretend fallback,
because powering a preamp that does not exist can only ever be a lie on the wire.
The console-global SELECT (one selected strip per mixer) → the /surface/selection
singleton row. A refusal (unknown channel) moves nothing; a success broadcasts
selection.state to every client, including the writer, so all SELECT LEDs converge on
the same strip from that one frame — never from local hope.
The cue/solo latch → the solo row's solo. The row's sink re-drives the engine's ONE
solo door, so the cue mirror's console-wide anySolo and the solo-safe bit travel
exactly as they do for the verb path — SIP semantics unchanged.
The physical fader-TOUCH flag → /surface/touch/{kind}/{index}. Surface state, not console
state: ephemeral, outside sessions and scenes, and with no audio consequence — which is why
it is a row of its own rather than a field of the strip.
One corrected row → the
/telemetry/convergence/correctionslog's own create door — the report a surface's ConvergenceClient makes when a re-read found a row it had wrong. The same door a browser POSTs to, so an in-process surface's discovery lands as an entry every client reads, never as a log line.