aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(adapters): Slack Block Kit rendering for agent_milestone events
- Vorherrschende Sprache
- TypeScript
- Sterne
- 143
- Forks
- 46
- Ø Merge
- 3 T. 9 Std.
- Gemergte PRs (30 T.)
- 20
Beschreibung
**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
Beitragsleitfaden
Rechercherichtung
Beginne mit cdk/src/handlers/slack-notify.ts und den AD-4-Richtlinien in docs/design/INTERACTIVE_AGENTS.md und überprüfe dann die Slack-Fanout-Verarbeitung für nicht zugeordnete Ereignisse. Erledigt ist die Aufgabe, wenn Milestone- und Progress-Ereignisse die angeforderten Block Kit-Payload-Formen verwenden, Filter berücksichtigt werden und Golden Tests sie abdecken, ohne die terminale Deduplizierung oder Thread-Antworten zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100