forked from molecule-ai/molecule-core
When a cron fires, the scheduler now fetches the last 10 messages from the workspace's Slack channel via conversations.history and prepends them to the cron prompt as '[Slack channel context — recent team messages]'. This gives each agent ambient awareness of what peers are doing: - Backend sees Frontend posted 'PR #840 ready for review' → can check - Security Auditor sees Backend posted 'new endpoint added' → plans review - PM sees all engineering activity → better synthesis in rollup Implementation: - slack.go: FetchChannelHistory() calls conversations.history, filters bot's own messages, returns last N as SlackHistoryMessage structs - manager.go: FetchWorkspaceChannelContext() looks up the workspace's Slack config, fetches history, formats as readable context block - scheduler.go: ChannelBroadcaster interface extended with FetchWorkspaceChannelContext; fireSchedule injects context before the cron prompt (prepended, not appended, so the agent sees team context BEFORE its task instructions) Best-effort: if Slack API fails or workspace has no channels, the prompt is unchanged. Truncated to 200 chars per message, 10 messages max to keep prompt overhead bounded. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| scheduler_test.go | ||
| scheduler.go | ||