feat: stream task progress events to Slack during long turns - #64
Merged
Conversation
Add ENABLE_PROGRESS_UPDATES config flag and detect TaskStartedMessage/ TaskProgressMessage SDK events during response iteration. When detected, post a single "Working..." message to Slack per turn so users know the agent is active. Progress messages are ephemeral (not saved to DB) and tracked in _posted_ts to avoid re-triggering. Closes #59 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
IceRhymers
force-pushed
the
issue-59-task-progress
branch
from
March 31, 2026 12:21
4edd916 to
f9dfc0f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ENABLE_PROGRESS_UPDATES: bool = Trueconfig flag to control progress posting_ResponseGeninagent.pyto detectTaskStartedMessage/TaskProgressMessageSDK events via aprogress_event_receivedflag_run_response_loopwhen task events are detected and config is enabled_posted_tsto prevent re-triggering; progress messages are ephemeral (not saved to DB)Test plan
test_config_defaults— verifiesENABLE_PROGRESS_UPDATESdefaults to Truetest_config_enable_progress_updates_override— verifies env var override to FalseTestProgressEventReceived(4 tests) — flag set on TaskStartedMessage, TaskProgressMessage, stays False without task eventsTestTaskProgressUpdates(5 tests) — progress posted on task event, not posted when disabled, only posted once per turn, ts tracked in _posted_ts, no progress when no task eventsCloses #59
🤖 Generated with Claude Code