aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

feat(adapters): Slack Block Kit rendering for agent_milestone events

Open
#486 1 comment 0 reactions 0 assignees View on GitHub
adapters enhancement
Dominant language
TypeScript
Stars
143
Forks
46
Avg merge
3d 9h
Merged PRs (30d)
20

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

1. Extend `slack-notify.ts` with milestone-specific Block Kit templates per allowlisted milestone (`pr_created`, `nudge_acknowledged`, etc.).
2. Map `progress_report` events when smart progress lands.
3. Respect `--verbose` / per-workspace filters from `INTERACTIVE_AGENTS.md` AD-4.
4. Terminal dedup and threaded reply behavior unchanged.
5. 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

Open the contributing guide

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.