aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(adapters): Slack Block Kit rendering for agent_milestone events
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 146
- Forks
- 46
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 24
Description
Context: ROADMAP.md → Channels → Slack notification polish (milestone portion) + What's ready notification plane follow-up
Related: #112 (approval_requested buttons—separate), smart-progress-updates draft
Component
API or orchestration
Describe the feature
Replace generic fallback text in Slack fanout for unmapped event types—especially agent_milestone—with rich Block Kit sections (phase, milestone name, cost/turn, link). When smart progress updates ship, render structured done / next / blockers fields in-thread.
Use case
Roadmap notes shipped Slack dispatcher uses generic fallback for many milestones. Operators in Slack cannot scan progress meaningfully compared to GitHub edit-in-place comments.
Proposed solution
- Extend
slack-notify.tswith milestone-specific Block Kit templates per allowlisted milestone (pr_created,nudge_acknowledged, etc.). - Map
progress_reportevents when smart progress lands. - Respect
--verbose/ per-workspace filters fromINTERACTIVE_AGENTS.mdAD-4. - Terminal dedup and threaded reply behavior unchanged.
- Golden tests for Block Kit payload shapes.
Other information
-
#112 covers in-thread approve/deny for
approval_requested; this issue covers milestone/progress rendering. -
What's ready (line 80): "richer milestone and approval-gate rendering is follow-up work."
-
Design context:
docs/design/INTERACTIVE_AGENTS.md,cdk/src/handlers/slack-notify.ts. -
This might be a breaking change
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with cdk/src/handlers/slack-notify.ts and the AD-4 guidance in docs/design/INTERACTIVE_AGENTS.md, then review the Slack fanout handling for unmapped events. Done means milestone and progress events use the requested Block Kit payload shapes, filters are respected, and golden tests cover them without changing terminal deduplication or threaded replies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100