NEW Live Mode: your TUI shows what matters right now. Read the blog post

Live Mode

Dynamic pane rotation. The TUI shows whichever agents are actively working instead of a static grid of mostly-idle panes.

What Is Live Mode

A static grid wastes screen space. With 10 agents and a 3x2 grid, 4 agents are always off-screen. The operator cycles through panes manually, checking who's working, who's idle, who just finished. Live mode automates this: the screen follows the action.

Two sub-modes:

Both modes use conviction scoring to decide which agents are worth showing, and anti-thrashing mechanisms to prevent the screen from flickering.

Quick Start

Press ` (backtick) to open the command modal, then:

# Enter Live Auto (grid auto-sizes by activity)
live auto

# Enter Live CxR with a 2x2 grid
live 2x2

# Pin super to slot 0 (always visible)
pin super 0

# Make slot 0 dynamic again
unpin 0

Or press Alt+5 to toggle Live Auto mode on and off.

Live CxR (Fixed Grid with Rotation)

You choose the grid dimensions. initech fills the slots with agents ranked by conviction score. Pinned agents stay in their assigned slots. Dynamic slots show whichever unpinned agents score highest.

live 2x2

A 2x2 grid with super pinned to slot 0 and pm pinned to slot 2:

+------------------+------------------+
| super (pinned)   | eng1 (active)    |
|                  |                  |
+------------------+------------------+
| pm (pinned)      | qa1 (active)     |
|                  |                  |
+------------------+------------------+

When eng1 finishes and eng2 starts working, the dynamic slot swaps automatically:

+------------------+------------------+
| super (pinned)   | eng2 (active)    |
|                  |                  |
+------------------+------------------+
| pm (pinned)      | qa1 (active)     |
|                  |                  |
+------------------+------------------+

All 4 slots are always occupied. Higher-scoring agents displace lower-scoring occupants in the dynamic slots. Pinned slots never change.

Live Auto (Auto-Sizing Grid)

The grid itself grows and shrinks based on how many agents are active.

live auto

Three agents working? You see a 3-pane layout. One finishes and two more start? The grid grows to four. Everyone goes idle after a deploy? The screen collapses back down.

Key behaviors:

The status bar shows Live Auto (N) where N is the current number of visible panes.

Conviction Scoring

Each agent gets a numeric score based on five signals. Higher score means more confidence that the agent is doing real work, not just a brief output blip.

SignalPointsDescription
Bead assigned+30Agent has claimed work (bead in_progress)
Recent dispatch+25Received a message via initech send within 30 seconds
Sustained activity+20Producing PTY output for more than 5 seconds continuously
Output volume+15More than 10KB of output since becoming active
Semantic event+10Recent bead completion, failure, or claim detected

An agent with a bead and sustained activity scores 65. An agent that printed three lines and went quiet scores 20.

In Live CxR, an agent needs a score of 40+ to claim a dynamic slot. Once in a slot, it only needs 10+ to keep it. In Live Auto, any agent scoring 10+ becomes visible.

Anti-Thrashing

Three mechanisms prevent the screen from flickering when agents produce brief bursts of output.

Hold time

Once an agent appears in a slot, it stays for at least 10 seconds regardless of score changes. The operator gets time to read the pane before it rotates out.

eng1 appears in slot 1 at T=0
eng2 becomes highest-scoring at T=3  -> BLOCKED (7s hold remaining)
eng2 still highest at T=11           -> ALLOWED (hold expired)

Hysteresis

The threshold to claim a slot (40) is higher than the threshold to keep one (10). An idle agent with a bead (score 30) keeps its slot once shown. A briefly active agent with no bead (score 20) can't claim a new slot.

One change per tick

In Live Auto, at most one agent is added or removed per render tick. Growing from 2 to 5 visible agents takes 3 frames. The grid animates smoothly instead of jumping sizes.

Pinning

Pin an agent to a specific slot so it never rotates out:

# Pin from command modal
pin super 0
pin pm 2

# Unpin a slot
unpin 0

You can also pin from the agents modal (Alt+a): select an agent and press a number key to assign it to that slot.

In Live Auto, the grid can't shrink below the number of pinned agents. A pinned agent stays visible even when idle.

Configuration

Live mode works out of the box with the live command. To start in live mode automatically, add a layout block to initech.yaml:

# Fixed grid with rotation
layout:
  mode: live
  grid: 2x2
  pinned:
    super: 0
    pm: 2
  hold_seconds: 15
  claim_threshold: 40
  keep_threshold: 10
# Auto-sizing grid
layout:
  mode: live
  live_auto: true
  pinned:
    super: 0
  hold_seconds: 15
FieldDefaultDescription
modegridSet to live to start in live mode
gridautoGrid dimensions for Live CxR (e.g. 2x2, 3x2)
live_autofalseUse Live Auto instead of Live CxR
pinned{}Map of agent name to slot index (0-based)
hold_seconds15Minimum seconds a pane stays visible after appearing
claim_threshold40Conviction score needed to claim a dynamic slot
keep_threshold10Conviction score needed to stay in a slot

Status Bar

Live mode shows the current mode in green in the status bar:

The number in Live Auto updates in real time as agents enter and leave the visible set.

Commands Reference

CommandDescription
live autoEnter Live Auto mode (auto-sizing grid)
live CxREnter Live CxR with explicit grid (e.g. live 2x3)
pin <agent> <slot>Pin an agent to a slot number (0-based)
unpin <slot>Make a slot dynamic again
Alt+5Toggle Live Auto mode on/off

All commands are entered via the command modal (` backtick). Alt+5 is a direct keybinding.

To exit live mode: switch to a static grid (grid 3x3), press Alt+2/Alt+3 for a preset, or press Alt+5 to toggle off.

Last updated: April 2026