aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(adapters): Slack Block Kit rendering for agent_milestone events
- Lenguaje dominante
- TypeScript
- Estrellas
- 143
- Forks
- 46
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 24
Descripción
**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
Guía de contribución
Línea de trabajo
Empieza por cdk/src/handlers/slack-notify.ts y las directrices AD-4 de docs/design/INTERACTIVE_AGENTS.md; después, revisa el manejo del fanout de Slack para eventos no asignados. Se considera terminado cuando los eventos de milestone y progress usan las formas de payload de Block Kit solicitadas, se respetan los filtros y los golden tests los cubren sin cambiar la deduplicación terminal ni las respuestas en hilos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 52/100