Epic: Settings Screen, Content Pruning & Safety Behaviors (v3.7.0) #8606

Open
opened 2026-04-13 21:14:35 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit message: feat(tui): implement settings screen, content pruning, and safety behaviors
  • Branch name: feat/v3.7.0-settings-content-safety

Background and Context

As part of the v3.7.0 milestone (M8: TUI Implementation) and Legendary #8135 (TUI Implementation & User Experience), the Settings Screen provides a UI for configuring TUI preferences. Content pruning manages the conversation history to prevent context window overflow. Safety behaviors define what content is allowed in the TUI.

This Epic blocks the parent Legendary issue #8135.

Expected Behavior

When this Epic is complete:

  • Settings screen is accessible via keyboard shortcut (e.g., Ctrl+,)
  • Settings include: theme, font size, notification timeout, default persona, safety level
  • Content pruning automatically removes old messages when context window is near capacity
  • Safety behaviors prevent display of harmful content
  • Loading states are shown during async operations

Acceptance Criteria

  • Settings screen is accessible via keyboard shortcut
  • Settings include: theme, font size, notification timeout, default persona, safety level
  • Settings are persisted to SQLite
  • Content pruning removes old messages when context window is near capacity
  • Safety behaviors prevent display of harmful content
  • Loading states are shown during async operations (spinner/progress indicator)
  • Widget tests verify settings screen and content pruning
  • Unit tests achieve >= 97% coverage

Subtasks

  • Implement SettingsScreen class with all settings fields
  • Implement settings persistence to SQLite
  • Implement content pruning logic (LRU eviction of old messages)
  • Implement safety behavior filters
  • Implement loading state indicators (spinner/progress)
  • Write widget tests for settings screen
  • Write unit tests for content pruning and safety behaviors

Child Issues / Child Epics

Child implementation issues will be linked here as they are created.

  • Implement settings screen with persistence — TBD
  • Implement content pruning logic — TBD
  • Implement safety behaviors and loading states — TBD
  • #8887 — TUI: Incomplete dangerous command detection in shell_exec.py
  • #8882 — TUI: Unhandled exceptions in subprocess.run in shell_exec.py
  • #8881 — Security: Arbitrary shell execution via CLEVERAGENTS_ALLOW_DANGEROUS_SHELL — add session-level first-use confirmation dialog

Definition of Done

This Epic should be closed when:

  1. All acceptance criteria above are verified and checked off
  2. All child implementation issues are closed
  3. Test coverage >= 97% is confirmed by CI for all new code
  4. Code has passed peer review and been merged to the main branch
  5. The parent Legendary issue #8135 has been updated to reflect this Epic's completion

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planning-pool-supervisor

## Metadata - **Commit message**: `feat(tui): implement settings screen, content pruning, and safety behaviors` - **Branch name**: `feat/v3.7.0-settings-content-safety` ## Background and Context As part of the v3.7.0 milestone (M8: TUI Implementation) and Legendary #8135 (TUI Implementation & User Experience), the Settings Screen provides a UI for configuring TUI preferences. Content pruning manages the conversation history to prevent context window overflow. Safety behaviors define what content is allowed in the TUI. This Epic blocks the parent Legendary issue #8135. ## Expected Behavior When this Epic is complete: - Settings screen is accessible via keyboard shortcut (e.g., Ctrl+,) - Settings include: theme, font size, notification timeout, default persona, safety level - Content pruning automatically removes old messages when context window is near capacity - Safety behaviors prevent display of harmful content - Loading states are shown during async operations ## Acceptance Criteria - [ ] Settings screen is accessible via keyboard shortcut - [ ] Settings include: theme, font size, notification timeout, default persona, safety level - [ ] Settings are persisted to SQLite - [ ] Content pruning removes old messages when context window is near capacity - [ ] Safety behaviors prevent display of harmful content - [ ] Loading states are shown during async operations (spinner/progress indicator) - [ ] Widget tests verify settings screen and content pruning - [ ] Unit tests achieve >= 97% coverage ## Subtasks - [ ] Implement `SettingsScreen` class with all settings fields - [ ] Implement settings persistence to SQLite - [ ] Implement content pruning logic (LRU eviction of old messages) - [ ] Implement safety behavior filters - [ ] Implement loading state indicators (spinner/progress) - [ ] Write widget tests for settings screen - [ ] Write unit tests for content pruning and safety behaviors ## Child Issues / Child Epics > Child implementation issues will be linked here as they are created. - [ ] Implement settings screen with persistence — _TBD_ - [ ] Implement content pruning logic — _TBD_ - [ ] Implement safety behaviors and loading states — _TBD_ - #8887 — TUI: Incomplete dangerous command detection in shell_exec.py - #8882 — TUI: Unhandled exceptions in subprocess.run in shell_exec.py - #8881 — Security: Arbitrary shell execution via CLEVERAGENTS_ALLOW_DANGEROUS_SHELL — add session-level first-use confirmation dialog ## Definition of Done This Epic should be closed when: 1. All acceptance criteria above are verified and checked off 2. All child implementation issues are closed 3. Test coverage >= 97% is confirmed by CI for all new code 4. Code has passed peer review and been merged to the main branch 5. The parent Legendary issue #8135 has been updated to reflect this Epic's completion --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planning-pool-supervisor
HAL9000 added this to the v3.7.0 milestone 2026-04-13 21:20:50 +00:00
Author
Owner

🤖 Child Issues Created

The following child implementation issues have been created for this Epic and are now blocking it:

# Issue Branch Prefix
#8645 feat(tui): implement settings screen with SQLite persistence feat/v3.7.0-settings-screen
#8646 feat(tui): implement content pruning to manage conversation history size feat/v3.7.0-content-pruning
#8647 feat(tui): implement safety behaviors and loading state indicators feat/v3.7.0-safety-behaviors-loading-states

All child issues are:

  • Assigned to milestone v3.7.0 (ID: 130)
  • Labeled: Type/Feature, Priority/High, MoSCoW/Must have, State/Verified
  • Each child issue BLOCKS this Epic (#8606)

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planning-pool-supervisor

## 🤖 Child Issues Created The following child implementation issues have been created for this Epic and are now blocking it: | # | Issue | Branch Prefix | |---|---|---| | #8645 | [feat(tui): implement settings screen with SQLite persistence](https://git.cleverthis.com/cleveragents/cleveragents-core/issues/8645) | `feat/v3.7.0-settings-screen` | | #8646 | [feat(tui): implement content pruning to manage conversation history size](https://git.cleverthis.com/cleveragents/cleveragents-core/issues/8646) | `feat/v3.7.0-content-pruning` | | #8647 | [feat(tui): implement safety behaviors and loading state indicators](https://git.cleverthis.com/cleveragents/cleveragents-core/issues/8647) | `feat/v3.7.0-safety-behaviors-loading-states` | All child issues are: - ✅ Assigned to milestone **v3.7.0** (ID: 130) - ✅ Labeled: `Type/Feature`, `Priority/High`, `MoSCoW/Must have`, `State/Verified` - ✅ Each child issue BLOCKS this Epic (#8606) --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planning-pool-supervisor
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.

Dependencies

No dependencies set.

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