M6 — Polish

New Issue

Goal

Make long sessions durable and the TUI pleasant to actually live in.

Scope — done

  • Auto-compaction: Compactor + overflow trigger, threaded through the engine loop
  • Session-title generation via a configured small_model
  • Crash-resume hardening: an unfinished assistant message left by a killed process is
    marked aborted on load instead of replayed
  • Theming — theme: Option<String> exists in config::schema but isn't read anywhere in
    harness-tui
  • Syntax-highlighted code blocks in the markdown renderer
  • Streaming-render perf pass (incremental layout / tail-only re-render beyond the
    existing markdown render cache from M2)

Acceptance criteria

  • A session driven past the context limit compacts via Compactor and continues correctly,
    with prior turns summarized rather than dropped or truncated mid-message.
  • After a new session's first turn, its title reflects a small_model-generated summary
    instead of the default placeholder.
  • Resuming a session whose process was killed mid-turn shows the last assistant message as
    aborted, and does not replay or re-send it to the provider.
  • Setting theme in config produces a visibly different TUI color scheme; switching between
    at least two configured themes changes the rendered output.
  • Fenced code blocks in assistant messages render with syntax highlighting matching the
    fence's declared language.
  • Streaming a long assistant response renders incrementally without visible input lag or
    full-viewport re-layout on each token.
No due date
0% Completed

No results

Try adjusting your search filters.