aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(adapters): Slack Block Kit rendering for agent_milestone events
- Lingua principale
- TypeScript
- Stelle
- 143
- Fork
- 46
- Merge medio
- 3g 9h
- PR unite (30g)
- 20
Descrizione
**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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da cdk/src/handlers/slack-notify.ts e dalle indicazioni AD-4 in docs/design/INTERACTIVE_AGENTS.md, quindi esamina la gestione del fanout di Slack per gli eventi non mappati. Il lavoro è completato quando gli eventi di milestone e progress usano le forme di payload Block Kit richieste, i filtri vengono rispettati e i golden test li coprono senza modificare la deduplicazione terminale o le risposte nei thread.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100