Skip to content

Hotfix: missed .running consumers + stale test attributes - #4599

Merged
trissim merged 1 commit into
mainfrom
hotfix/running-consumers
Nov 11, 2026
Merged

trissim merged 1 commit into
mainfrom
hotfix/running-consumers

Conversation

@trissim

@trissim trissim commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add is_running() method override on ThreadStatus (base False, RunningThreadStatus True)
  • Migrate 5 product consumers that still read deleted .running ClassVar
  • Fix 3 test roaches: .running, .working, .ready — all deleted ClassVars with stale test consumers

Toad crashes on open because TeamHeartbeat reads .running on ArchivedThreadStatus.

Same grep-miss pattern as .recorded (#4596): the PR that deletes a ClassVar greps for consumers but the attribute name matches too many unrelated things.

Files changed

  • thread_status.py: add is_running() base + override
  • turn_input_source.py, input_drain.py, runtime_server.py, agent_activity.py, goal_actions.py: .running -> .is_running()
  • test_session_close.py, test_thread_status.py, test_goal_input_review.py: stale attribute fixes

Test plan

  • All concrete ThreadStatus members verified: RunningThreadStatus.is_running() True, all others False
  • test_thread_status.py, test_session_close.py pass (47 passed)
  • test_goal_input_review.py roach fixed (.ready -> .has_ready_grant(True))

Generated with Claude Code

https://claude.ai/code/session_01RnH6dRFPZCCoQqYN2vmHCG

PR #4594 deleted ThreadStatus.running ClassVar but missed 5 product
consumers and 3 test consumers. The install's TeamHeartbeat crashed
with AttributeError on ArchivedThreadStatus, and Toad crashed on open.

Add is_running() method override: base returns False,
RunningThreadStatus returns True. Migrate all 5 product consumers
and 3 test consumers.

Same grep lesson as .recorded (#4596): grep -n catches 400
unrelated .running hits and the eye scans past the real ones.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RnH6dRFPZCCoQqYN2vmHCG
Copilot AI balanced review requested due to automatic review settings November 11, 2026 19:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim merged commit 0cb5b0c into main Nov 11, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants