docs: update specification — inline PermissionQuestionWidget for single-file permission requests #2599

Merged
freemo merged 1 commit from spec/update-v3.7.0-permission-question-widget into master 2026-04-03 20:40:16 +00:00
Owner

Summary

Documents the inline PermissionQuestionWidget introduced in feat(tui): implement Permission Question Widget (PR #2181, closes #997). Approved via proposal issue #2178.

Changes

docs/specification.md

  • Added ### Inline Permission Question Widget section documenting:
    • PermissionQuestionWidget rendering inline in the conversation stream for single-file permission requests
    • InlinePermissionQuestion domain model (file_path, request_type, diff_content, actor_name)
    • PermissionRequestType enum: FILE_WRITE, FILE_DELETE, FILE_READ, SHELL_EXEC, NETWORK
    • PermissionDecision enum: ALLOW_ONCE, ALLOW_ALWAYS, REJECT_ONCE, REJECT_ALWAYS
    • Keyboard shortcuts (a/A/r/R, up/down, enter, v)
    • Routing logic: single-file → inline widget; multi-file → PermissionsScreen pushed directly
    • PermissionDecisionEvent emitted on decision

docs/adr/ADR-044-tui-architecture-and-framework.md

  • Updated Prompt Architecture section item 3 from QuestionWidget to PermissionQuestionWidget with inline rendering description
  • Added QuestionWidget as item 4 for non-file-specific permission choices

Rationale

The inline widget is a genuine UX improvement over the spec's original QuestionWidget (which replaced the prompt). Rendering inline in the conversation stream keeps context visible and is more ergonomic for single-file decisions. The 4-decision model (once/always × allow/reject) is more expressive than a simple allow/reject.

  • Closes proposal #2178
  • Triggered by merged PR #2181 (docs(tui): document PermissionQuestionWidget)
  • Implementation: feat(tui): implement Permission Question Widget (closes #997)

Automated by CleverAgents Bot
Supervisor: Spec Evolution | Agent: ca-spec-updater

## Summary Documents the inline `PermissionQuestionWidget` introduced in `feat(tui): implement Permission Question Widget` (PR #2181, closes #997). Approved via proposal issue #2178. ## Changes ### `docs/specification.md` - Added `### Inline Permission Question Widget` section documenting: - `PermissionQuestionWidget` rendering inline in the conversation stream for single-file permission requests - `InlinePermissionQuestion` domain model (`file_path`, `request_type`, `diff_content`, `actor_name`) - `PermissionRequestType` enum: `FILE_WRITE`, `FILE_DELETE`, `FILE_READ`, `SHELL_EXEC`, `NETWORK` - `PermissionDecision` enum: `ALLOW_ONCE`, `ALLOW_ALWAYS`, `REJECT_ONCE`, `REJECT_ALWAYS` - Keyboard shortcuts (`a`/`A`/`r`/`R`, `up`/`down`, `enter`, `v`) - Routing logic: single-file → inline widget; multi-file → `PermissionsScreen` pushed directly - `PermissionDecisionEvent` emitted on decision ### `docs/adr/ADR-044-tui-architecture-and-framework.md` - Updated Prompt Architecture section item 3 from `QuestionWidget` to `PermissionQuestionWidget` with inline rendering description - Added `QuestionWidget` as item 4 for non-file-specific permission choices ## Rationale The inline widget is a genuine UX improvement over the spec's original `QuestionWidget` (which replaced the prompt). Rendering inline in the conversation stream keeps context visible and is more ergonomic for single-file decisions. The 4-decision model (once/always × allow/reject) is more expressive than a simple allow/reject. ## Related - Closes proposal #2178 - Triggered by merged PR #2181 (`docs(tui): document PermissionQuestionWidget`) - Implementation: `feat(tui): implement Permission Question Widget` (closes #997) --- **Automated by CleverAgents Bot** Supervisor: Spec Evolution | Agent: ca-spec-updater
docs(spec): document inline PermissionQuestionWidget for single-file permission requests
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 19s
CI / quality (pull_request) Successful in 44s
CI / security (pull_request) Successful in 50s
CI / build (pull_request) Successful in 24s
CI / helm (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 4m1s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 6m18s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Failing after 15m42s
CI / integration_tests (pull_request) Failing after 21m39s
CI / status-check (pull_request) Failing after 1s
c678fcdcc3
Add inline permission question widget section to TUI documentation in
docs/specification.md and update ADR-044 Prompt Architecture section to
distinguish between single-file (inline widget) and multi-file
(PermissionsScreen) permission request handling.

Changes:
- docs/specification.md: Add '### Inline Permission Question Widget' section
  documenting PermissionQuestionWidget, InlinePermissionQuestion domain model,
  PermissionRequestType enum, PermissionDecision enum, keyboard shortcuts,
  and routing logic (single-file vs multi-file)
- docs/adr/ADR-044-tui-architecture-and-framework.md: Update Prompt Architecture
  item 3 from QuestionWidget to PermissionQuestionWidget with inline rendering
  description; add QuestionWidget as item 4 for non-file-specific choices

Triggered by PR #2181 (docs(tui): document PermissionQuestionWidget).
Approved via proposal issue #2178.

ISSUES CLOSED: #2178
Author
Owner

PR Review: docs: update specification — inline PermissionQuestionWidget

APPROVED

Reviewed against: Specification (docs/specification.md), ADR-044, CONTRIBUTING.md, and proposal issue #2178.

What was reviewed

  1. docs/specification.md — New "Inline Permission Question Widget" section documenting the widget, domain models (InlinePermissionQuestion, PermissionRequestType, PermissionDecision), keyboard shortcuts, routing logic, and PermissionDecisionEvent. Also a minor clarification to the Domain Models section regarding DomainBaseModel.

  2. docs/adr/ADR-044-tui-architecture-and-framework.md — Updated Prompt Architecture section to distinguish PermissionQuestionWidget (inline, single-file) from QuestionWidget (prompt-replacing, non-file-specific).

Specification Alignment

  • Content accurately documents the already-implemented feature from PR #2181
  • Matches the proposal approved in issue #2178
  • All domain models, enums, keyboard shortcuts, and routing logic are documented
  • Placement in the spec is logical (after the diff view section, before Additional UI Components)

Code Quality

  • Well-structured documentation with clear tables and formatting
  • Commit message follows Conventional Changelog format: docs(spec): document inline PermissionQuestionWidget...
  • Commit includes ISSUES CLOSED: #2178 footer

Minor Observations (non-blocking)

  1. Duplicate numbering in ADR-044: After inserting PermissionQuestionWidget as item 3 and QuestionWidget as item 4, the original PersonaBar item remains numbered "4." instead of being renumbered to "5." Markdown renderers auto-number ordered lists so this renders correctly, but the raw source has two "4." entries.

  2. Unrelated change: The Domain Models section in specification.md was updated to mention DomainBaseModel — this is tangential to the PermissionQuestionWidget documentation but is a correct clarification.

  3. Missing milestone: PR should be assigned to v3.7.0 (matching issue #2178).

CI Status

All CI failures (lint, unit_tests, integration_tests, e2e_tests) are pre-existing on master and not introduced by this documentation-only PR. The PR changes zero code files.

Decision

Approving and merging. This is a clean documentation PR that accurately reflects an already-implemented and approved feature.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR Review: docs: update specification — inline PermissionQuestionWidget ### ✅ APPROVED **Reviewed against**: Specification (`docs/specification.md`), ADR-044, CONTRIBUTING.md, and proposal issue #2178. ### What was reviewed 1. **`docs/specification.md`** — New "Inline Permission Question Widget" section documenting the widget, domain models (`InlinePermissionQuestion`, `PermissionRequestType`, `PermissionDecision`), keyboard shortcuts, routing logic, and `PermissionDecisionEvent`. Also a minor clarification to the Domain Models section regarding `DomainBaseModel`. 2. **`docs/adr/ADR-044-tui-architecture-and-framework.md`** — Updated Prompt Architecture section to distinguish `PermissionQuestionWidget` (inline, single-file) from `QuestionWidget` (prompt-replacing, non-file-specific). ### Specification Alignment - ✅ Content accurately documents the already-implemented feature from PR #2181 - ✅ Matches the proposal approved in issue #2178 - ✅ All domain models, enums, keyboard shortcuts, and routing logic are documented - ✅ Placement in the spec is logical (after the diff view section, before Additional UI Components) ### Code Quality - ✅ Well-structured documentation with clear tables and formatting - ✅ Commit message follows Conventional Changelog format: `docs(spec): document inline PermissionQuestionWidget...` - ✅ Commit includes `ISSUES CLOSED: #2178` footer ### Minor Observations (non-blocking) 1. **Duplicate numbering in ADR-044**: After inserting `PermissionQuestionWidget` as item 3 and `QuestionWidget` as item 4, the original `PersonaBar` item remains numbered "4." instead of being renumbered to "5." Markdown renderers auto-number ordered lists so this renders correctly, but the raw source has two "4." entries. 2. **Unrelated change**: The Domain Models section in `specification.md` was updated to mention `DomainBaseModel` — this is tangential to the PermissionQuestionWidget documentation but is a correct clarification. 3. **Missing milestone**: PR should be assigned to v3.7.0 (matching issue #2178). ### CI Status All CI failures (lint, unit_tests, integration_tests, e2e_tests) are pre-existing on master and not introduced by this documentation-only PR. The PR changes zero code files. ### Decision Approving and merging. This is a clean documentation PR that accurately reflects an already-implemented and approved feature. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
freemo merged commit 5601142447 into master 2026-04-03 20:40:16 +00:00
freemo deleted branch spec/update-v3.7.0-permission-question-widget 2026-04-03 20:40:17 +00:00
Sign in to join this conversation.
No reviewers
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!2599
No description provided.