commit c359dadcc35ab09cd72a45d0e87d4e5971efdb5b from: isaac date: Sat Jun 27 00:07:11 2026 UTC ui: drop speaker labels, left-align message bodies prefix_of returns empty for BK_USER and BK_ASSIST, so user and assistant messages render with no "you"/"fugu" prefix and their bodies start at column 0. They stay distinguishable by weight (user bold, assistant normal) and the existing blank line between blocks; tool:/error: labels are kept. regress/tui now asserts the labels are absent instead of present. commit - 7e0a0d6d31495a7e4e8f5c7c2b9d301fbe2eb16e commit + c359dadcc35ab09cd72a45d0e87d4e5971efdb5b blob - b8a45c266a5c07ecf436de66d915c8412739f9a9 blob + 1bd9ff45a0e7a53d690ca834cf295ddec77e9a05 --- regress/tui/tui_test.c +++ regress/tui/tui_test.c @@ -316,8 +316,9 @@ main(int argc, char *argv[]) } } CHECK(found, "assistant reply 'pong' rendered to the terminal"); - /* The curses chrome should be present too (status bar / prompt). */ - CHECK(strstr(out, "fugu") != NULL, "transcript shows the fugu label"); + /* Speaker labels were removed: no "you"/"fugu" prefix in the transcript. */ + CHECK(strstr(out, "fugu ") == NULL && strstr(out, "you ") == NULL, + "no speaker-label prefixes in the transcript"); /* The resumed session's prior assistant reply should be on screen too. */ CHECK(strstr(out, "Paris") != NULL, "resumed transcript rendered before the new turn"); blob - ccc6855e24cd1e4c165a3a60f9f14ea3c044e266 blob + 0d3d6804cff82fb41cd4f5db94914b584c74aa90 --- src/ui/ui_curses.c +++ src/ui/ui_curses.c @@ -355,8 +355,8 @@ static const char * prefix_of(enum bkind k) { switch (k) { - case BK_USER: return ("you "); - case BK_ASSIST: return ("fugu "); + case BK_USER: return (""); /* no speaker label; body left-aligned */ + case BK_ASSIST: return (""); case BK_TOOL: return (" tool: "); case BK_ERROR: return ("error: "); default: return ("");