Research
The Signal Rail: A Deterministic Motion Grammar for Communicating Conversational Agent State in Terminal Interfaces
Overview Research area: Human-Computer Interaction, specifically terminal/TUI status display design for conversational and agentic systems, with elements of accessibility engineering and cross-languag
- arXiv
- 2608.10689
- Published
- 2026-08-11
- Authors
- Matteo Grella
AI summary
Overview
Research area: Human-Computer Interaction, specifically terminal/TUI status display design for conversational and agentic systems, with elements of accessibility engineering and cross-language software conformance.
Technical level: Intermediate. The design argument is readable without specialized background, but the paper's normative specification, tick-based determinism model, and conformance harness will be most comfortable for readers with some systems or interface-engineering experience.
Scope: The paper specifies and implements a single-row terminal status instrument, the Signal Rail, in which spatial zones and distinct motion rules (rather than color or text alone) encode the states of a conversational agent.
What This Paper Is About
Terminal interfaces to conversational agents report rich internal state — listening, thinking, executing tools, awaiting input, failing — almost entirely through text and a generic spinner, so that "listening" and "thinking" look identical at a glance. The one channel peripheral vision reads without reading, motion, carries essentially a single bit: alive. The Signal Rail gives that channel a grammar, assigning each of twelve agent states a distinct motion rule and a position within a three-zone layout, specified normatively and implemented in a working local voice agent.
Key Contributions
-
A spatial-semantic layout. The rail occupies one terminal row divided into input, processing, and output zones (28%, 44%, 28%) mirroring the agent pipeline, with movement direction carrying meaning: rightward is forward processing or emission, leftward is reserved for returning control to the user or retracting an operation.
-
A motion grammar. Twelve states (nine primary, three attention) each receive a distinct spatial-kinetic rule rather than a distinct color, with an explicit 16-entry transition table and a strict priority ordering between competing states. No pair of states differs only by hue.
-
Determinism as a design principle. Frames are a pure function of explicit inputs (state, entry tick, tick, width, quantized input and output levels, optional progress, seed, motion mode), making animation golden-frame testable and reproducible across runs, terminals, and resizes.
-
A normative specification and reference implementation. A 45-section specification using RFC-2119 normative language with exact snapshot fixtures and a required test list, plus a reference implementation inside a working full-duplex local voice agent, and two further engines (JavaScript and Python) held byte-identical to it by a cross-language conformance harness.
Main Findings
-
Twelve states, one rule each. Idle holds one stable marker; listening expands in the input zone; captured collapses to a compact block; thinking has a read head crossing a seeded sparse field and never bounces; speaking emits packets rightward from the output boundary; acting advances committed cells with real progress or a bounded packet; waiting freezes behind a pulsing boundary marker; needs-input alternates two markers and hands control left; complete runs one rightward sweep then settles; warning uses a fixed lattice with a double-pulse whose geometry never moves; error saturates, blacks out, and settles into a seeded fracture; interrupted stops movement, retracts left, and leaves a hard cut marker.
-
Listening and speaking are structurally different, not mirrored. Listening is localized quantized expansion around a fixed input-zone origin, with per-cell intensity clamp(q+1−d, 1, 4) for amplitude level q ∈ {0..4} at distance d. Speaking is directional packet emission spawning at the output boundary, one cell per tick, with spawn period governed by the quantized output level (12 ticks at level 0 down to 3 at level 4), at most three packets live, and overlapping packets keeping the maximum intensity per cell.
-
Thinking is a read head, not a bounce. The processing zone is populated with a sparse field generated deterministically from hash(seed, pass, cell) targeting density ranges of 60% track, 25% low, 15% medium in expectation (individual seeds may fall outside the ranges; no peaks except the head). The head crosses left to right at one cell per two ticks with a two-cell decaying trail, and each new pass generates a new field — a rhythm the paper states is state animation, not progress.
-
Direction is reserved, and absence is drawn. Leftward movement appears only for needs-input or interruption; the rail is explicitly not a spinner, not an equalizer, not a waveform decoration, not a progress-bar skin, and not an imitation of the KITT scanner. Inactive cells render as a track glyph rather than a space, so a real space can mean deliberate blackout or broken connection.
-
Cross-language conformance was achieved. The HTML/JavaScript and dependency-free Python engines were byte-verified against the Zig engine over an 888-frame fixture matrix of full logical cells (glyph, color role, emphasis) covering 11 × 4 × 9 × 2 state/width/tick/motion combinations, plus determinate-acting and 64-bit seed-boundary blocks. The seed-boundary block targets 0, 2^31+1, 2^53−1, and 2^64−1, the values where JavaScript bitwise coercion and double precision are expected to diverge.
-
The specification survived contact with a real agent, with recorded deviations. The implementation uses truecolor and monochrome only (no 256/16-color tiers), has no reduced-motion tier (normal plus static rendering for non-TTY pipes), replaces glyph-width probing with an explicit ASCII flag, and omits the warning state entirely because the agent has no genuine warning source. The per-transition visual bridges of the specification's transition table — the three-position captured hand-off, the thinking-to-speaking head continuation — are not implemented and are described as the largest deviation.
-
Every implemented state is driven by real behavior in the reference agent. Listening amplitude is the quantized echo-cancelled residual level from the real microphone path; speaking packet spawn follows the RMS of samples actually queued to the audio device; acting shows determinate progress only for a tool with a real countdown (a timer) and an indeterminate packet otherwise; barge-in triggers the interrupted retraction at the moment playback is cut; and a fatal error deliberately leaves the settled fracture above the shell prompt on exit.
-
Pixel-level state identity was never tested with users. The paper states plainly that the central claim — that states become identifiable from pattern alone — is a design hypothesis grounded in disjoint zones and disjoint motion rules, not a measured result. No user study results are reported.
Methodology in Plain English
The author approached the problem as a design and specification exercise rather than an empirical one. First, a survey of existing agent CLIs and monitors (OpenAI's Codex CLI, Google's Gemini CLI, and the hook-driven monitors Codemux and tmux-agent-indicator) established that motion in those tools marks coarse activity and attention only, with states named by text. The paper then draws on three working-instrument traditions for discipline: FAA 1981 alerting-system guidelines and Airbus's "lights out" philosophy for the dark-when-nominal idle state, railway signalling for a closed vocabulary of aspects where each carries exactly one indication, and monochrome CRT phosphor designations for the amber and green palette presets.
From there the work turns constructive. A 45-section normative specification fixes the layout, motion rules, transition table, priority order, degraded rendering modes, and required tests in RFC-2119 language. The state machine is made deterministic by defining every frame as a pure function of explicit inputs with time as a monotonic tick counter at a base rate of 12 Hz (approximately 83.3 ms per tick) rather than the wall clock, and with variety supplied by hashing a stable seed instead of randomness. A thin controller of roughly 150 lines handles temporal behavior — captured hands off to thinking after its four ticks, an unanswered needs-input decays to idle after about 15 seconds, and roughly 2 seconds of true silence puts the rail to sleep under hysteresis.
Validation is by testing rather than by participants. The Zig implementation of roughly 630 lines in an open-source tensor framework is pinned by ten deterministic tests: an exact 25-cell golden frame for every state at pinned context tuples, plus structural properties covering zone partitioning across widths, idle stability, listening containment, thinking monotonicity and seed reproducibility, speaking containment, waiting/interrupted/error monochrome distinctness, acting progress mapping and non-bouncing, needs-input two-marker phases, and quantizer and meter-response bands. Two additional engines port the frame function and are checked byte-for-byte against the Zig engine on the 888-frame matrix.
Why This Matters
Impact on research. The paper offers a fully specified, testable alternative to the color-and-motion vocabularies that dominate commercial voice assistants, and it frames display honesty as a design value carrying a hypothesis about calibrated trust rather than an established result. It also demonstrates a transferable engineering claim: three implementations in three languages with three numeric models can produce byte-identical logical output, and boundary fixtures are what keep such a claim honest. Its most useful contribution to HCI may be the negative example it makes explicit — the smart-speaker comprehension study it cites found that only about 37% of tested light behaviors were correctly identified across 1,006 smart-speaker users, and this paper does not claim to have beaten that baseline.
Real-world applications:
- Terminal and command-line agents that need to convey tool execution, waiting, control hand-back, and interruption distinctly, not just busy-versus-idle.
- Local voice assistants running on-device, where the reference implementation already drives every state from real microphone, synthesis, and tool signals.
- Developer observability and CI tooling, where deterministic frames can be asserted as snapshots and animation becomes regression-checked like any other program output.
- Accessibility-aware CLI design, since the ASCII, monochrome, and reduced-motion renderings preserve the same state machine and differ only in the glyph map.
Industry relevance. The paper positions the rail against deployed precedents — Amazon's Echo light ring, with twelve indicators in the current official guidance, and Nissan's intention indicator encoding five vehicle states partly by sweep direction — and against research precedents including Baraka and Veloso's expressive-lights formalism for a mobile service robot and the Kineticons vocabulary of 39 kinetic behaviors. Its adherence to WCAG's color and animation guidance and the NO_COLOR convention speaks directly to teams shipping TUI components under accessibility review, and the honesty constraints target a concrete safety concern for agentic systems: an interface that fabricates progress may teach its user to distrust every other signal it emits.
Future Directions
-
Run the user study. The paper outlines a factorial design crossing display (rail vs. spinner), label (present vs. absent), and rendering (truecolor, monochrome, ASCII), measuring identification accuracy and latency at first exposure and after use, with delayed retention. A complementary field measure is whether users interrupt or repeat themselves less when the listening/captured distinction is visible.
-
Build a non-visual status channel. The authors state that the rail's degraded modes cover every visual axis but give a screen-reader user nothing usable: the repainting row is skipped or narrated as glyph names, and position, direction, and shape are all invisible to assistive technology. A companion channel that announces state changes once, as text, per transition does not yet exist in this specification or, the paper says, in any other it knows of for terminal status displays.
-
Implement the transition bridges. The per-transition visual bridges that would make state causality visible, such as the captured block traveling into the processing zone, are the largest specification-to-implementation gap, and their legibility value is untested.
-
Extend the scope and exercise the hard cases. Multi-agent orchestration, concurrent tool execution, and long-horizon background work stretch the twelve-state vocabulary, and whether the zone semantics compose vertically is open. The paper also notes that live-resize continuity is specified but not yet exercised by an implementation, and that the warning state exists in the specification and portable engines but is absent from the voice agent because the agent has no truthful warning source.
Target Audience
Terminal and TUI developers, HCI researchers working on agent and voice-assistant status display, and accessibility engineers concerned with non-color and reduced-motion rendering. Designers building agentic interfaces will find the honesty constraints and priority-ordered state machine directly applicable, and systems engineers will find the determinism and cross-language conformance methodology useful independent of the specific visual design. Readers looking for measured usability evidence should note that the paper includes none: the behavioral evaluation is explicitly left as future work.
Authors’ abstract
Terminal interfaces to conversational agents report rich internal state (listening, thinking, executing tools, awaiting input, failing) almost entirely through text, while the motion channel beside it, the one peripheral vision monitors without reading, carries a single bit: alive. We present the Signal Rail, a one-row terminal status instrument that gives that channel a grammar. Four ideas govern it: spatial semantics (input, processing, and output zones, with direction as meaning), a motion grammar (one kinetic rule per state, never color alone), determinism (frames as a pure function of explicit inputs, golden-frame testable), and honesty (no invented progress or activity). We contribute a 45-section normative specification and a reference implementation inside a working full-duplex local voice agent driven by real signals.