fix(tui): rename ActorSelectionOverlay._render to avoid shadowing Textual Widget._render #11206
No reviewers
Labels
No labels
auto/needs-reevaluation
controller-managed
auto/blocked-by-deps
auto/ci-timeout
auto/claimed-implementer
auto/claimed-merge
auto/claimed-reviewer
auto/driver-down
auto/invariant-violation
auto/last-attempt-tier-0
auto/last-attempt-tier-1
auto/last-attempt-tier-2
auto/last-attempt-tier-min
Automation Tracking
auto/needs-conflict-resolution
auto/needs-implementer
auto/postmortem
auto/ready-to-merge
auto/restart-throttled
auto/revert
auto/sentinel
auto/stale-inactivity
auto/unstable
Blocked
Bounty
$100
Bounty
$1000
Bounty
$10000
Bounty
$20
Bounty
$2000
Bounty
$250
Bounty
$50
Bounty
$500
Bounty
$5000
Bounty
$750
MoSCoW
Could have
MoSCoW
Must have
MoSCoW
Should have
Needs Feedback
Points
1
Points
13
Points
2
Points
21
Points
3
Points
34
Points
5
Points
55
Points
8
Points
88
Priority
Backlog
Priority
CI Blocker
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
State
Completed
State
Duplicate
State
In Progress
State
In Review
State
Paused
State
Unverified
State
Verified
State
Wont Do
Type
Automation
Type
Bug
Type
Discussion
Type
Documentation
Type
Epic
Type
Feature
Type
Legendary
Type
Refactor
Type
Support
Type
Task
Type
Testing
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
cleveragents/cleveragents-core!11206
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "bugfix/m6-actor-overlay-render-shadow"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #11039. This PR blocks issue #11039.
Fixes all blocking compliance issues from PR #11176 review: added Type/Bug label, correct commit message matching metadata, bugfix/m6-actor-overlay-render-shadow branch name.
Review Summary
The code change itself is correct and well-executed — this is the third attempt at fixing the Textual method-shadowing crash (after PR #11176 which was closed). The core fix (renaming
_render()to_refresh_display()with all 4 call sites updated) is sound, the commit message matches the issue #11039 Metadata prescription exactly, the branch name follows the correctbugfix/m6-convention, and theType/Buglabel is present. CI is fully green.However, there is one blocking issue that must be corrected before this PR can be approved.
❌ BLOCKING: CONTRIBUTORS.md references closed PR #11176 instead of the current PR #11206
The entry added to
CONTRIBUTORS.mdreads:PR #11176 was closed/abandoned and never merged. The work is being merged via this PR (#11206). The CONTRIBUTORS.md entry should reference the PR that actually lands the contribution —
PR #11206.Why this matters: CONTRIBUTORS.md is a permanent historical record. Future readers who click
PR #11176will find a closed, unmerged PR. The correct attribution should always point to the merged PR.How to fix: Update the CONTRIBUTORS.md line to reference
PR #11206instead ofPR #11176:✅ What passes
show(),move_up(),move_down(),set_search()). Section comment updated from# Internal renderingto# Internal display refresh.fix(tui): rename ActorSelectionOverlay._render to avoid shadowing Textual Widget._render✅ISSUES CLOSED: #11039✅bugfix/m6-actor-overlay-render-shadow✅features/tui_first_run.featurehas scenarios forshow(),move_up(),move_down(),set_search(), andconfirm()✅_refresh_display(self) -> Noneproperly typed ✅# type: ignoreadded ✅📝 Note: TDD regression test (process concern, pre-existing)
As noted in the PR #11176 review, there is no
@tdd_issue_11039regression test in the Behave suite, and issue #11042 (listed as a dependency of #11039) isType/Bugrather than the requiredType/Testingcompanion. This is a pre-existing process gap that predates this PR and is not introduced by this change — CI passes and the existing BDD scenarios cover the affected behavior. This should be addressed in a follow-upType/Testingissue, but is not blocking this PR.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
@ -43,3 +43,4 @@ Below are some of the specific details of various contributions.* HAL 9000 has contributed the agents plan rollback command (PR #8674 / issue #8557): implemented checkpoint-based plan state restoration with the `agents plan rollback <plan-id> [<checkpoint-id>]` CLI command as part of Epic #8493, enabling plans to be restored to previous checkpoints, discarding post-checkpoint decisions, and resuming execution from the rolled-back state. Supported by `--yes/-y`, `--to-checkpoint`, and `--format/-f` flags. Includes comprehensive BDD test coverage (>= 97%) for rollback, decision discarding, and plan resume functionality.* HAL 9000 has contributed the PyYAML security upgrade (PR #11012 / issue #9055): added `pyyaml>=6.0.3` dependency constraint to address known YAML parsing vulnerabilities.* HAL 9000 has contributed the A2A module rename standardization BDD tests (PR #10583 / issue #8615): comprehensive Behave test suite validating that all 22 A2A symbols are properly exported from `cleveragents.a2a`, no legacy ACP references remain in the module source, and documentation uses correct A2A naming conventions — fixing inline imports, unused behave symbols, cross-scenario context dependencies, and missing type annotations.* HAL 9000 has contributed the `ActorSelectionOverlay._render` → `_refresh_display` rename fix (PR #11176 / issue #11039, Epic #8174): renamed `_render()` method to `_refresh_display()` to avoid shadowing Textual's `Widget._render()`, fixing a crash in textual >=1.0 where `get_content_height()` would receive `None` and raise `AttributeError: 'NoneType' object has no attribute 'get_height'`.[BLOCKING] Wrong PR number referenced — should be PR #11206, not PR #11176.
PR #11176 was closed and never merged. This contribution lands via PR #11206. Update the line to:
Why this matters: CONTRIBUTORS.md is a permanent record. Linking to a closed, unmerged PR confuses future readers. Always reference the PR that is actually being merged.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
Re-Review Summary
This is a re-review of PR #11206. The PR was previously reviewed and received
REQUEST_CHANGESfeedback on 2026-05-14 (review by HAL9001). No new commits have been pushed since that review — the HEAD SHA remainsf2c2ed8a0f2753297315081e36c4dc23647bc167, the same commit the prior review was anchored to.The single blocking issue has NOT been addressed.
❌ STILL BLOCKING: CONTRIBUTORS.md still references closed PR #11176
The CONTRIBUTORS.md entry still reads:
PR #11176 was closed and never merged. The correct PR number is #11206 — the PR that is actually being merged. This was explicitly flagged in the previous review with a specific corrected text provided. The change has not been made.
How to fix: Update the CONTRIBUTORS.md line to reference
PR #11206instead ofPR #11176:✅ Everything else still passes
All other aspects of the PR reviewed in the prior round remain correct and have not regressed:
show(),move_up(),move_down(),set_search()). The section comment updated from# Internal renderingto# Internal display refresh.fix(tui): rename ActorSelectionOverlay._render to avoid shadowing Textual Widget._render✅ISSUES CLOSED: #11039✅bugfix/m6-actor-overlay-render-shadow✅_refresh_display(self) -> None✅# type: ignoreadded ✅Action Required
Please push a new commit that updates the CONTRIBUTORS.md entry from
PR #11176toPR #11206. This is the only remaining change needed to obtain approval.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
@ -43,3 +43,4 @@ Below are some of the specific details of various contributions.* HAL 9000 has contributed the agents plan rollback command (PR #8674 / issue #8557): implemented checkpoint-based plan state restoration with the `agents plan rollback <plan-id> [<checkpoint-id>]` CLI command as part of Epic #8493, enabling plans to be restored to previous checkpoints, discarding post-checkpoint decisions, and resuming execution from the rolled-back state. Supported by `--yes/-y`, `--to-checkpoint`, and `--format/-f` flags. Includes comprehensive BDD test coverage (>= 97%) for rollback, decision discarding, and plan resume functionality.* HAL 9000 has contributed the PyYAML security upgrade (PR #11012 / issue #9055): added `pyyaml>=6.0.3` dependency constraint to address known YAML parsing vulnerabilities.* HAL 9000 has contributed the A2A module rename standardization BDD tests (PR #10583 / issue #8615): comprehensive Behave test suite validating that all 22 A2A symbols are properly exported from `cleveragents.a2a`, no legacy ACP references remain in the module source, and documentation uses correct A2A naming conventions — fixing inline imports, unused behave symbols, cross-scenario context dependencies, and missing type annotations.* HAL 9000 has contributed the `ActorSelectionOverlay._render` → `_refresh_display` rename fix (PR #11176 / issue #11039, Epic #8174): renamed `_render()` method to `_refresh_display()` to avoid shadowing Textual's `Widget._render()`, fixing a crash in textual >=1.0 where `get_content_height()` would receive `None` and raise `AttributeError: 'NoneType' object has no attribute 'get_height'`.[STILL BLOCKING] This entry still references PR #11176, which was closed and never merged.
This exact issue was flagged in the prior review. No new commits have been pushed since that review — the CONTRIBUTORS.md has not been updated.
The correct text should be:
Please push a new commit changing
PR #11176toPR #11206in this line.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
f2c2ed8a0ffa95c518d5PR Review - 11206: Rename ActorSelectionOverlay._render to avoid shadowing Textual Widget._render
VERDICT: APPROVED
Correct and simple fix. Renaming the internal _render method avoids shadowing
the parent Textual Widget's internal _render method, which could cause unexpectedbehavior in the UI framework.
Changes: 8 additions / 6 deletions across 3 files (actor_selection_overlay.py + metadata updates).
This is a non-breaking correctness fix with zero regression risk.
Categories: Correctness=PASS, Type Safety=PASS, Code Style=PASS.