UAT: TUI conversation content pruning not implemented — no automatic pruning when conversation exceeds 2500 lines #5060

Open
opened 2026-04-09 00:52:55 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: TUI — Conversation Content Pruning

Severity: Medium (performance degradation in long sessions)

What Was Tested

Conversation content pruning as defined in the specification (§ Conversation Content Pruning).

Expected Behavior (from spec)

The TUI implements automatic content pruning to maintain responsiveness:

Parameter Setting Default
Target line count ui.prune_low_mark 1500
Trigger threshold ui.prune_excess 1000

Pruning behavior:

  1. When conversation stream exceeds 2500 lines (1500 + 1000), pruning activates
  2. Oldest message blocks removed from DOM until line count drops to ~1500
  3. A Note block inserted at top: (Earlier messages pruned — see session history for full conversation)
  4. Pruning never removes the most recent 500 lines regardless of settings
  5. Pruned messages remain in session history (SQLite) and viewable via /session:export
  6. Welcome blocks, system notes, and current actor response are never pruned

Actual Behavior (from code analysis)

The conversation area is a single Static widget that replaces its content on each message (not an accumulating stream). There is no line count tracking, no pruning logic, and no Note block insertion.

Even if the conversation were properly implemented as an accumulating stream, no pruning mechanism exists anywhere in the TUI codebase.

Steps to Reproduce

  1. Run agents tui
  2. Have a very long conversation (2500+ lines of content)
  3. Observe: no pruning occurs, no "Earlier messages pruned" note appears

Code Location

  • src/cleveragents/tui/app.py line 209 (conversation.update(preview) — replaces content, no accumulation)
  • No pruning module exists in src/cleveragents/tui/

Impact

In long sessions, the TUI conversation stream will accumulate all messages without pruning, potentially causing memory pressure and rendering slowdowns. The spec's pruning mechanism to maintain responsiveness is not implemented.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report **Feature Area:** TUI — Conversation Content Pruning **Severity:** Medium (performance degradation in long sessions) ### What Was Tested Conversation content pruning as defined in the specification (§ Conversation Content Pruning). ### Expected Behavior (from spec) The TUI implements automatic content pruning to maintain responsiveness: | Parameter | Setting | Default | |-----------|---------|---------| | Target line count | `ui.prune_low_mark` | 1500 | | Trigger threshold | `ui.prune_excess` | 1000 | Pruning behavior: 1. When conversation stream exceeds 2500 lines (1500 + 1000), pruning activates 2. Oldest message blocks removed from DOM until line count drops to ~1500 3. A `Note` block inserted at top: `(Earlier messages pruned — see session history for full conversation)` 4. Pruning never removes the most recent 500 lines regardless of settings 5. Pruned messages remain in session history (SQLite) and viewable via `/session:export` 6. Welcome blocks, system notes, and current actor response are never pruned ### Actual Behavior (from code analysis) The conversation area is a single `Static` widget that replaces its content on each message (not an accumulating stream). There is no line count tracking, no pruning logic, and no `Note` block insertion. Even if the conversation were properly implemented as an accumulating stream, no pruning mechanism exists anywhere in the TUI codebase. ### Steps to Reproduce 1. Run `agents tui` 2. Have a very long conversation (2500+ lines of content) 3. Observe: no pruning occurs, no "Earlier messages pruned" note appears ### Code Location - `src/cleveragents/tui/app.py` line 209 (`conversation.update(preview)` — replaces content, no accumulation) - No pruning module exists in `src/cleveragents/tui/` ### Impact In long sessions, the TUI conversation stream will accumulate all messages without pruning, potentially causing memory pressure and rendering slowdowns. The spec's pruning mechanism to maintain responsiveness is not implemented. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.7.0 milestone 2026-04-09 01:02:21 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — TUI spec compliance bug; deviates from documented TUI behavior
  • Milestone: v3.7.0 (TUI milestone)
  • Story Points: 3 — M
  • MoSCoW: Must Have — TUI spec compliance is required for the TUI Legendary
  • Parent Epic: #4963 or #4966 (TUI Epics)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — TUI spec compliance bug; deviates from documented TUI behavior - **Milestone**: v3.7.0 (TUI milestone) - **Story Points**: 3 — M - **MoSCoW**: Must Have — TUI spec compliance is required for the TUI Legendary - **Parent Epic**: #4963 or #4966 (TUI Epics) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#5060
No description provided.