feat(tui): implement PermissionsScreen as proper Textual Screen and fix PermissionQuestionWidget v-key handler #5335

Open
opened 2026-04-09 05:53:31 +00:00 by HAL9000 · 2 comments
Owner

Metadata

  • Branch: feat/tui-v370/permissions-screen
  • Commit Message: feat(tui): implement PermissionsScreen as proper Textual Screen and fix PermissionQuestionWidget v-key handler
  • Milestone: v3.7.0
  • Parent Epic: #5310

Background

The PermissionsScreen is currently a Static widget instead of a proper Textual Screen, so it cannot be pushed onto the screen stack (UAT #4851). The PermissionQuestionWidget has a v key handler that sets open_full_screen flag but never actually opens the screen (UAT #4868).

Subtasks

  • Convert PermissionsScreen from Static to a proper Textual Screen subclass (fixes UAT #4851)
  • Implement PermissionsScreen with permission list, approve/deny actions
  • Fix PermissionQuestionWidget v key handler to push PermissionsScreen onto screen stack (fixes UAT #4868)
  • Implement permission management UI for tool use approvals
  • Write Behave unit tests for PermissionsScreen
  • Ensure all nox stages pass

Definition of Done

  • All subtasks completed
  • PermissionsScreen is a proper Textual Screen
  • v key opens PermissionsScreen from PermissionQuestionWidget
  • Permission management UI functional
  • Tests written and passing
  • All nox stages pass
  • Coverage >= 97%
  • PR merged

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Metadata - **Branch**: `feat/tui-v370/permissions-screen` - **Commit Message**: `feat(tui): implement PermissionsScreen as proper Textual Screen and fix PermissionQuestionWidget v-key handler` - **Milestone**: v3.7.0 - **Parent Epic**: #5310 ## Background The `PermissionsScreen` is currently a `Static` widget instead of a proper Textual `Screen`, so it cannot be pushed onto the screen stack (UAT #4851). The `PermissionQuestionWidget` has a `v` key handler that sets `open_full_screen` flag but never actually opens the screen (UAT #4868). ## Subtasks - [ ] Convert `PermissionsScreen` from `Static` to a proper Textual `Screen` subclass (fixes UAT #4851) - [ ] Implement `PermissionsScreen` with permission list, approve/deny actions - [ ] Fix `PermissionQuestionWidget` `v` key handler to push `PermissionsScreen` onto screen stack (fixes UAT #4868) - [ ] Implement permission management UI for tool use approvals - [ ] Write Behave unit tests for PermissionsScreen - [ ] Ensure all nox stages pass ## Definition of Done - [ ] All subtasks completed - [ ] PermissionsScreen is a proper Textual Screen - [ ] `v` key opens PermissionsScreen from PermissionQuestionWidget - [ ] Permission management UI functional - [ ] Tests written and passing - [ ] All nox stages pass - [ ] Coverage >= 97% - [ ] PR merged --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.7.0 milestone 2026-04-09 05:53:31 +00:00
Author
Owner

State update complete for issue #5335.

Actions performed:

  • Previous state label removed: State/Verified
  • New state label added: State/In Progress
  • Precondition checks: issue was not in Paused state; no blocking issues found. No Blocked label present to remove.
  • PR synchronization: No associated PRs referencing this issue with closing keywords were found at this time. If any PRs reference this issue, their State/ labels will be synchronized automatically in the next run.

Notes:

  • All state-label transitions are managed via the CleverAgents Label Manager as per policy. Blocker handling and label application are centralized there.

Automated by CleverAgents Bot
Supervisor: Implementation | Agent: issue-state-updater

State update complete for issue #5335. Actions performed: - Previous state label removed: State/Verified - New state label added: State/In Progress - Precondition checks: issue was not in Paused state; no blocking issues found. No Blocked label present to remove. - PR synchronization: No associated PRs referencing this issue with closing keywords were found at this time. If any PRs reference this issue, their State/ labels will be synchronized automatically in the next run. Notes: - All state-label transitions are managed via the CleverAgents Label Manager as per policy. Blocker handling and label application are centralized there. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: issue-state-updater
Author
Owner

Starting implementation on branch feat/tui-v370/permissions-screen. Difficulty assessment: medium → starting at codex tier.

Initial focus areas:

  1. Promote PermissionsScreen to a proper Screen subclass with functional permission list and approve/deny interactions.
  2. Fix the PermissionQuestionWidget v key handler to push the new screen onto the stack.
  3. Backfill Behave coverage and run all required nox gates.

I will keep this issue updated as milestones are reached.


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: implementation-worker

Starting implementation on branch `feat/tui-v370/permissions-screen`. Difficulty assessment: medium → starting at codex tier. Initial focus areas: 1. Promote `PermissionsScreen` to a proper `Screen` subclass with functional permission list and approve/deny interactions. 2. Fix the `PermissionQuestionWidget` `v` key handler to push the new screen onto the stack. 3. Backfill Behave coverage and run all required `nox` gates. I will keep this issue updated as milestones are reached. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: implementation-worker
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#5335
No description provided.