Skip to content

feat(tui): markdown transcripts + state refresh (CLAUDE.md, milestone changelog)#167

Merged
0bserver07 merged 2 commits into
masterfrom
feat/tui-markdown-and-state
Jul 2, 2026
Merged

feat(tui): markdown transcripts + state refresh (CLAUDE.md, milestone changelog)#167
0bserver07 merged 2 commits into
masterfrom
feat/tui-markdown-and-state

Conversation

@0bserver07

Copy link
Copy Markdown
Owner

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)

Tests: tui suite 73 passed (3 new); ruff clean; mypy chimera/ green
(CI-parity).

🤖 Generated with Claude Code

0bserver07 and others added 2 commits July 1, 2026 20:28
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>
@0bserver07 0bserver07 merged commit 4b05d96 into master Jul 2, 2026
12 checks passed
@0bserver07 0bserver07 deleted the feat/tui-markdown-and-state branch July 2, 2026 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant