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

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

Aperta
#486 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
adapters enhancement
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.