feat(tui): markdown transcripts + state refresh (CLAUDE.md, milestone changelog)#167
Merged
Conversation
Assistant text used to appear as raw markdown (literal **bold**, ## headers, backtick fences). Committed assistant blocks now render as rich Markdown — headers, bold/italic, lists, and syntax-highlighted code fences — in both the single-agent TUI and every multiplexer pane. Scope is deliberately narrow (§5.2 content safety): ONLY assistant prose is markdown-rendered. Tool output, user echo, and reasoning stay literal — file contents and command output must never be reinterpreted. Persisted transcripts keep the plain source text (Lane.record uses the non-markdown path), and render.plain() recovers a Markdown renderable's source via .markup. - render.assistant_renderable(text, markdown=) with a plain-text fallback. - format_event() gains a markdown keyword (default off → persistence unchanged); LaneTranscript defaults it on (display sink). - app.py commits assistant blocks via the same helper. Tests: 3 new (markdown in display sink, tool output stays literal, persisted transcript keeps source); tui suite 73 passed; ruff + mypy clean. Verified live on GLM-5.2 through the real TUI: bullets render as glyphs, headers styled, no raw markdown leaks ($0.0016). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- CLAUDE.md: verified test count (8534 passing + 97 skipped locally, excl. live-infra; one env-sensitive local quirk, green in CI), and module-map entries for chimera/assembly/ and chimera/tui/ (both were missing entirely). - CHANGELOG: an Unreleased section covering the full TUI multiplexer track (PRs #161–#166 + markdown transcripts) — prepped so cutting the milestone release is a header flip + version bump. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Markdown transcripts
Assistant prose in the TUI panes rendered as raw markdown (
**bold**,##,backtick fences — see the multiplexer screenshots). Committed assistant blocks
now render as rich Markdown: styled headers, bold/italic, bullet glyphs, and
syntax-highlighted code fences — in the single-agent TUI and every multiplexer
pane.
Content safety (§5.2): only assistant prose is markdown-rendered. Tool
output, user echo, and reasoning stay literal (file contents / command output
must never be reinterpreted), and persisted transcripts keep the plain source
text.
Verified live on GLM-5.2 through the real TUI: bullets render as
•glyphs,headers styled, no raw
##leaks.State refresh (milestone prep)
live-infra; one env-sensitive local quirk, green in CI) and module-map entries
for
chimera/assembly/andchimera/tui/— both were missing entirely.Unreleasedsection covering the whole TUI multiplexertrack (PRs feat(tui): Phase 2 multiplexer — N lanes racing one task in isolated workspaces #161–feat(tui): Phase 3 polish set — reasoning display, multi-line prompt, autocomplete, sidebar, richer diffs #166 + this), staged so a milestone release is a header flip
Tests: tui suite 73 passed (3 new); ruff clean;
mypy chimera/green(CI-parity).
🤖 Generated with Claude Code