How an AI built its own terminal vision
amplifier-tui is a Textual terminal client for Amplifier. When its UI breaks, a human has to run it, reproduce the glitch, and relay every bug back by hand.
The client is real — and so is the cost of being blind to it.
Built with Textual, developed 2026-02-05 to 2026-04-23. A keyword heuristic finds ~21 fix commits touching render, layout, and completion.
The buggy UI and its debugging cost are real, not hypothetical.
With no way to see or drive a terminal, debugging stalls on a slow human loop: run the app, reproduce the bug, describe it, relay it back.
This is the manual relay worth solving — so what did Amplifier do about it?
The amplifier-bundle-tui-tester bundle, authored by Diego Colombo with Amplifier as co-author — both key commits marked "Generated with Amplifier."
Here's the named artifact the rest of the deck leans on.
It forks a PTY (pty.fork) and runs the app under /bin/sh — no X11 display server required — then drives it through six operations.
Now there's a live app to look at. Next: making it visible.
62 named special keys · resize sends SIGWINCH + TIOCSWINSZ · pyte + Pillow
Plain text, ANSI-escaped text, and a rendered PNG screenshot with full xterm-256, true-color, and bold fidelity — turning terminal state into an image an AI can read.
A picture an agent can actually see. Now who looks at it?
The bundle ships one AI-vision analysis agent, tui-test-analyst — and its own examples point it straight at the very client that motivated it.
Amplifier now sees and fixes its own UI.
Initial commit 2026-01-30; major hardening 2026-02-23 added xterm-256 rendering, real resize, and the test suite. When an agent lacks a sense, it can build one.
Agentic self-tooling closes its own capability gaps.
Data as of: 2026-02-23 (repo pushedAt 2026-02-23T07:44:00Z)
Feature status: Working, published, tested — bundle v0.1.0, Development Status :: 3 - Alpha, public on GitHub main.
Primary sources: colombod/amplifier-bundle-tui-tester (cloned to /tmp/tui-tester-src); ramparte/amplifier-tui (the Textual TUI client).
Research performed:
cd /tmp/tui-tester-src/modules/tool-tui-tester && uv run --with pyte --with Pillow --with pytest --with pytest-asyncio python -m pytest -q → 167 passed in 42.86sgrep -n '"enum"' amplifier_module_tool_tui_tester/__init__.py → spawn, send_keys, capture, resize, close, listkeys.py SPECIAL_KEYS via importlib → len 62grep -nE 'execvpe|/bin/sh|pty.fork' session_manager.pygrep -nE 'SIGWINCH|TIOCSWINSZ|ioctl' session_manager.pygit show -s --format='%B' bc903d3 4853402 (Generated with Amplifier; Co-Authored-By trailers)git log --pretty=format:'%h|%ad|%s' --date=short; gh repo view colombod/amplifier-bundle-tui-testercd /home/ramparte/dev/ANext/amplifier-tui && git log --oneline | wc -l (284); heuristic grep of fix subjects → 21git ls-files | wc -l (17); wc -l amplifier_module_tool_tui_tester/*.py (1,146)Gaps: The "~21 UI fix" count is a keyword heuristic, not an authoritative bug count. No commit attributes an amplifier-tui fix to the tui-tester tool; the connection is via the bundle's own README/example targeting amplifier-tui. The "manual relay" pain is inferred, not stated in any single commit.
Primary contributors: Diego Colombo (bundle, 6/6 commits) with Amplifier co-author; Sam Schillace (amplifier-tui client, 282/284 commits).