Terminal User Interface (TUI)

Orchestrator's Terminal User Interface provides rich, interactive components for monitoring screenplay analysis, GPU cluster status, and workflow orchestration. Built with Bubble Tea and Lip Gloss, the TUI delivers a modern, visually appealing command-line experience with real-time updates and keyboard-driven navigation.

Overview

The TUI system provides interactive terminal interfaces for all major Conduct operations. Rather than simple text output, users receive real-time dashboards, progress bars, tables, and visualizations that update dynamically as operations proceed.

All TUI components share a consistent design language with unified color schemes, keyboard shortcuts, and layout patterns, ensuring a cohesive user experience across different commands and contexts.

Architecture

The TUI architecture follows the Bubble Tea framework's Model-View-Update pattern:

Core Components

Component Package Purpose
Dashboard tui/dashboard Main status overview with system health and recent activity
Progress tui/progress Real-time coverage analysis progress tracking
Beat Sheet tui/beatsheet Visual screenplay structure analysis display
GPU Monitor tui/gpu Lambda Labs cluster monitoring and metrics
Table tui/table Sortable, filterable data tables

State Management

Each TUI component maintains its own state through the Bubble Tea Model interface, handling user input, timer ticks, and external data updates. Components communicate with the main application through message passing, allowing for clean separation of concerns and composable interfaces.

Dashboard Component

The main dashboard provides a unified overview of Conduct system status, active jobs, and recent coverage reports. It serves as the central hub for monitoring all operations.

Dashboard Example
╔══════════════════════════════════════════════════════════════════════════════╗
║  🎭 CONDUCT DASHBOARD                                   v1.0.0  ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  System Status:  ● Online                    Uptime: 12h 34m         ║
║  Active Jobs:   3 running                   Queue: 12 pending       ║
║  GPU Cluster:   8/8 instances online       Util: 87%             ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ 📋 Recent Coverage Reports                                         │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  The Gates          RECOMMEND   Score: 87/100   2m ago      │  ║
║  │    Genre: Sci-Fi Thriller              Budget: $45M-$65M           │  ║
║  │    High-concept premise with strong commercial appeal              │  ║
║  │                                                                        │  ║
║  │  Midnight Run       CONSIDER    Score: 74/100   15m ago     │  ║
║  │    Genre: Action Comedy                Budget: $30M-$50M           │  ║
║  │    Solid execution, marketability concerns in current climate      │  ║
║  │                                                                        │  ║
║  │  Dark Waters        PASS        Score: 58/100   1h ago      │  ║
║  │    Genre: Drama                        Budget: $15M-$25M           │  ║
║  │    Character work strong, structure issues throughout             │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ ⚡ Active Processing                                              │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  Project Phoenix     [████████████████░░░░░░░░]  67%  ETA: 3m    │  ║
║  │    Current: Originality evaluation                                 │  ║
║  │                                                                        │  ║
║  │  Silent Echo        [████████░░░░░░░░░░░░░░░░]  33%  ETA: 7m    │  ║
║  │    Current: Character analysis                                     │  ║
║  │                                                                        │  ║
║  │  The Last Stand     [██████████████████████░░]  89%  ETA: 1m    │  ║
║  │    Current: Budget analysis                                        │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  ║
║  [q] Quit  [r] Refresh  [c] Coverage  [g] GPU  [h] Help         ║
╚══════════════════════════════════════════════════════════════════════════════╝

Dashboard Features

Coverage Progress View

The coverage progress view provides detailed tracking of screenplay analysis as it proceeds through the 16-point rubric. Each evaluation item updates in real-time, showing current status and estimated completion.

Coverage Progress Example
╔══════════════════════════════════════════════════════════════════════════════╗
║  📋 COVERAGE ANALYSIS                                                    ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  Screenplay: The Gates (2024)                                           ║
║  Writer: Sarah Chen                                                     ║
║  Genre: Sci-Fi Thriller                    Pages: 112                      ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Overall Progress                                                    │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  [████████████████████████░░░░░░░░░░░░]  65% Complete              │  ║
║  │                                                                        │  ║
║  │  Elapsed: 8m 23s                      Remaining: ~4m 30s         │  ║
║  │  Score (current): 83/100             Recommendation: TBD       │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Rubric Item Status                                                 │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │   Logline Generation                                Complete      │  ║
║  │    Score: 9/10  Duration: 0m 45s                                  │  ║
║  │                                                                        │  ║
║  │   Story Summary                                     Complete      │  ║
║  │    Score: 8/10  Duration: 1m 12s                                  │  ║
║  │                                                                        │  ║
║  │   Structure Analysis                                Complete      │  ║
║  │    Score: 9/10  Duration: 1m 34s                                  │  ║
║  │                                                                        │  ║
║  │   Character Development                             Complete      │  ║
║  │    Score: 8/10  Duration: 1m 28s                                  │  ║
║  │                                                                        │  ║
║  │   Dialogue Quality                                  Complete      │  ║
║  │    Score: 7/10  Duration: 0m 56s                                  │  ║
║  │                                                                        │  ║
║  │   Theme and Tone                                    Complete      │  ║
║  │    Score: 9/10  Duration: 0m 48s                                  │  ║
║  │                                                                        │  ║
║  │   Originality Evaluation                 In Progress... 78%     │  ║
║  │    [████████████████████░░░░]  Analyzing comparable works         │  ║
║  │                                                                        │  ║
║  │   Marketability Assessment                          Pending       │  ║
║  │   Craft Evaluation                                  Pending       │  ║
║  │   Pacing Analysis                                   Pending       │  ║
║  │   Commercial Viability                              Pending       │  ║
║  │   Risk Assessment                                   Pending       │  ║
║  │   Budget Analysis                                   Pending       │  ║
║  │   Casting Considerations                            Pending       │  ║
║  │   Production Requirements                           Pending       │  ║
║  │   Final Recommendation                              Pending       │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  ║
║  [q] Quit  [p] Pause  [d] Dashboard  [h] Help                       ║
╚══════════════════════════════════════════════════════════════════════════════╝

Progress View Features

Beat Sheet Visualization

The beat sheet visualization provides a graphical representation of screenplay structure analysis, showing how the script aligns with established story structure frameworks like Save the Cat.

Beat Sheet Example
╔══════════════════════════════════════════════════════════════════════════════╗
║  📝 SAVE THE CAT BEAT SHEET ANALYSIS                                    ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  Screenplay: The Gates                    Total Pages: 112                 ║
║  Structure Score: 93/100                Timing Accuracy: Excellent      ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ ACT ONE - SETUP                        Pages 1-25 (22%)          │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │   Opening Image                  Page 1     Score: 9/10        │  ║
║  │    Strong visual establishing protagonist's ordinary world          │  ║
║  │    → Dr. Maya Chen in quantum research lab, late night             │  ║
║  │                                                                        │  ║
║  │   Theme Stated                   Page 5     Score: 8/10        │  ║
║  │    Mentor figure articulates core thematic question                 │  ║
║  │    → "What we call reality is just consensus"                     │  ║
║  │                                                                        │  ║
║  │   Setup                       Pages 1-10    Score: 9/10        │  ║
║  │    Efficient world-building and character introduction              │  ║
║  │    → Establishes stakes, relationships, Maya's expertise           │  ║
║  │                                                                        │  ║
║  │   Catalyst                       Page 12    Score: 10/10       │  ║
║  │    Inciting incident perfectly timed and impactful                  │  ║
║  │    → Quantum gate opens to parallel dimension                      │  ║
║  │                                                                        │  ║
║  │   Debate                      Pages 12-25   Score: 9/10        │  ║
║  │    Protagonist resistance and stakes escalation well-developed      │  ║
║  │    → Maya debates shutting down vs investigating                   │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ ACT TWO - CONFRONTATION                 Pages 26-85 (54%)         │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │   Break Into Two                 Page 25    Score: 9/10        │  ║
║  │    Clear act break with protagonist commitment                      │  ║
║  │    → Maya decides to enter the gate, leaving safety                 │  ║
║  │                                                                        │  ║
║  │   B Story                        Page 30    Score: 6/10        │  ║
║  │    Romance subplot introduced but underdeveloped                    │  ║
║  │    → Relationship with research partner feels rushed                │  ║
║  │                                                                        │  ║
║  │   Fun and Games               Pages 30-55   Score: 9/10        │  ║
║  │    Promise of the premise fully delivered                           │  ║
║  │    → Exploring parallel world, quantum phenomena                    │  ║
║  │                                                                        │  ║
║  │   Midpoint                       Page 55    Score: 10/10       │  ║
║  │    False victory with stakes raise and time clock activation        │  ║
║  │    → Gateway stabilized but countdown to collapse begins            │  ║
║  │                                                                        │  ║
║  │   Bad Guys Close In           Pages 55-75   Score: 9/10        │  ║
║  │    External and internal pressure escalate effectively             │  ║
║  │    → Reality fractures, team doubts, government threat              │  ║
║  │                                                                        │  ║
║  │   All Is Lost                    Page 75    Score: 9/10        │  ║
║  │    Devastating setback, whiff of death present                      │  ║
║  │    → Partner trapped in collapsing dimension                        │  ║
║  │                                                                        │  ║
║  │   Dark Night of the Soul     Pages 75-85   Score: 8/10        │  ║
║  │    Emotional low point with character introspection                 │  ║
║  │    → Maya questions everything, considers giving up                 │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ ACT THREE - RESOLUTION              Pages 86-112 (24%)         │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │   Break Into Three               Page 85    Score: 9/10        │  ║
║  │    Solution found, thematic lesson learned                          │  ║
║  │    → Accepts reality is malleable, finds new approach               │  ║
║  │                                                                        │  ║
║  │   Finale                      Pages 85-110  Score: 9/10        │  ║
║  │    Climactic sequence with protagonist driving action              │  ║
║  │    → Race to stabilize gates, rescue partner, save both worlds      │  ║
║  │                                                                        │  ║
║  │   Final Image                   Page 110    Score: 10/10       │  ║
║  │    Perfect mirror to opening, shows character transformation        │  ║
║  │    → Maya in lab, now understanding reality's true nature            │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Structure Insights                                                 │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │   Act proportions near-perfect (22/54/24)                        │  ║
║  │   All major beats present and well-executed                      │  ║
║  │   B-story could use more development in Act 2                    │  ║
║  │   Theme consistently woven throughout                            │  ║
║  │   Strong visual bookends (opening/closing images)                │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  ║
║  [q] Quit  [↑/↓] Navigate  [d] Dashboard  [h] Help                ║
╚══════════════════════════════════════════════════════════════════════════════╝

Beat Sheet Features

GPU Monitoring Display

The GPU monitoring interface provides real-time visualization of Lambda Labs cluster status, resource utilization, and performance metrics across all instances.

GPU Monitor Example
╔══════════════════════════════════════════════════════════════════════════════╗
║  ⚡ LAMBDA LABS GPU CLUSTER MONITOR                                     ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  Cluster Status: 8/8 Online           Total Cost: $24.80/hr              ║
║  Avg Utilization: 87%                 Daily Spend: $595.20              ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Instance: gpu-1x-h100-pcie                     ● ONLINE            │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  Type: 1x H100 PCIe              Region: us-west-2               │  ║
║  │  Cost: $3.10/hr                  Uptime: 12h 34m                 │  ║
║  │                                                                        │  ║
║  │  GPU Utilization:  [████████████████████████] 94%                  │  ║
║  │  Memory Usage:     [████████████████████░░░░] 78% (62.4/80GB)       │  ║
║  │  Power Draw:       [████████████████████████] 92% (322/350W)        │  ║
║  │  Temperature:      [████████████░░░░░░░░░░░░] 53°C                 │  ║
║  │                                                                        │  ║
║  │  Current Job: Jamba-1.7 Inference (3 requests queued)             │  ║
║  │  Throughput: 142 tok/sec          Latency: 24ms p99              │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Instance: gpu-8x-a100-sxm                       ● ONLINE            │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  Type: 8x A100 80GB SXM          Region: us-east-1               │  ║
║  │  Cost: $12.00/hr                 Uptime: 3h 12m                  │  ║
║  │                                                                        │  ║
║  │  GPU 0: [████████████████████░░░░] 82%  GPU 1: [████████████████████░░░░] 81%  │  ║
║  │  GPU 2: [████████████████████░░░░] 80%  GPU 3: [████████████████████░░░░] 83%  │  ║
║  │  GPU 4: [████████████████████░░░░] 81%  GPU 5: [████████████████████░░░░] 82%  │  ║
║  │  GPU 6: [████████████████████░░░░] 80%  GPU 7: [████████████████████░░░░] 81%  │  ║
║  │                                                                        │  ║
║  │  Current Job: Mixtral-8x22B Training (LoRA fine-tune)             │  ║
║  │  Progress: [████████████░░░░░░░░░░░░] Step 1247/2500 (50%)        │  ║
║  │  Loss: 0.342                      ETA: 1h 28m                    │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Instance: gpu-2x-rtx6000ada                     ⚠ IDLE               │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  Type: 2x RTX 6000 Ada           Region: us-west-1               │  ║
║  │  Cost: $1.80/hr                  Uptime: 45m                     │  ║
║  │                                                                        │  ║
║  │  GPU Utilization:  [░░░░░░░░░░░░░░░░░░░░░░░░] 2%                   │  ║
║  │  Memory Usage:     [░░░░░░░░░░░░░░░░░░░░░░░░] 1% (0.5/48GB)        │  ║
║  │                                                                        │  ║
║  │  ⚠ Warning: Instance idle for 42 minutes                          │  ║
║  │    Consider terminating to reduce costs                           │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ┌────────────────────────────────────────────────────────────────────────┐  ║
║  │ Cost Analysis (Last 24h)                                           │  ║
║  ├────────────────────────────────────────────────────────────────────────┤  ║
║  │                                                                        │  ║
║  │  Total Spend: $595.20                                              │  ║
║  │  Avg Hourly:  $24.80                                               │  ║
║  │  Projected Monthly: $17,856                                        │  ║
║  │                                                                        │  ║
║  │  By Instance Type:                                               │  ║
║  │    8x A100:  $288/day  (48%)  [████████████]                      │  ║
║  │    1x H100:  $223/day  (37%)  [█████████]                        │  ║
║  │    2x RTX:   $43/day   (7%)   [██]                               │  ║
║  │    Other:    $41/day   (8%)   [██]                               │  ║
║  │                                                                        │  ║
║  └────────────────────────────────────────────────────────────────────────┘  ║
║                                                                              ║
║  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  ║
║  [q] Quit  [r] Refresh  [t] Terminate Idle  [↑/↓] Navigate  [h] Help  ║
╚══════════════════════════════════════════════════════════════════════════════╝

GPU Monitor Features

Keyboard Shortcuts

All TUI components support consistent keyboard navigation and commands for efficient operation without mouse interaction.

Global Shortcuts

Key Action Description
q Quit Exit current view or application
h or ? Help Show context-sensitive help overlay
r Refresh Force immediate data refresh
d Dashboard Return to main dashboard view
Esc Back Return to previous view or cancel action

Navigation Shortcuts

Key Action Description
/ k Up Move selection up in lists and menus
/ j Down Move selection down in lists and menus
/ h Left Navigate to previous panel or collapse section
/ l Right Navigate to next panel or expand section
PgUp Page Up Scroll up one page in long lists
PgDn Page Down Scroll down one page in long lists
Home Top Jump to first item in list
End Bottom Jump to last item in list
Tab Next Field Move to next input field or section
Shift+Tab Previous Field Move to previous input field or section

Action Shortcuts

Key Action Context
Enter Select / Confirm Activate selected item or confirm dialog
Space Toggle / Pause Toggle selection or pause/resume operation
p Pause Pause current analysis or job
c Coverage Open coverage analysis view
g GPU Monitor Open GPU cluster monitoring view
s Sort Cycle through sort options in tables
f Filter Open filter input for tables and lists
/ Search Open search dialog
t Terminate Terminate selected instance (GPU monitor)
Ctrl+C Cancel Cancel current operation and exit

Color Themes

The TUI uses a carefully designed color palette optimized for terminal readability and semantic meaning across different terminal emulators and color schemes.

Primary Palette

Cyan (#00d4ff)
Primary accent, headings, highlights
Gold (#ffd700)
Secondary accent, warnings, scores
Green (#00ff88)
Success states, online status
Red (#e94560)
Error states, critical alerts
White (#eaeaea)
Primary text, content
Gray (#a0a0a0)
Secondary text, labels

Background Palette

Dark (#0d1117)
Terminal backgrounds, code blocks
Dark Blue (#1a1a2e)
Primary backgrounds
Navy (#16213e)
Secondary backgrounds
Deep Blue (#0f3460)
Card backgrounds, panels
Gray (#30363d)
Borders, separators
Mid Gray (#666)
Disabled states, placeholders

Semantic Colors

State Color Usage
Online / Active Green (#00ff88) System online, jobs running, healthy status
Warning / Caution Gold (#ffd700) Idle instances, moderate scores, attention needed
Error / Critical Red (#e94560) Errors, failures, critical alerts, low scores
Offline / Inactive Gray (#666) Disabled items, pending states, unavailable
In Progress Gold (#ffd700) Running operations, partial progress
Highlight / Focus Cyan (#00d4ff) Selected items, focused elements, primary actions

Accessibility

The color palette is designed to meet WCAG 2.1 contrast requirements for terminal displays and provides clear visual differentiation even in monochrome mode. All critical information uses both color and symbols (✓, ⚠, ○, ●) for accessibility.