aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(adapters): mirror Slack-Jira orchestration lifecycle and harden conversational intake
- Lingua principale
- TypeScript
- Stelle
- 143
- Fork
- 46
- Merge medio
- 3g 10h
- PR unite (30g)
- 24
Descrizione
## Parent and dependency
Part of #832. Blocked by #834.
## Summary
Complete the user-facing lifecycle by mirroring task and orchestration progress across Slack and Jira, adding reactions, clarification reminders, abandonment, production hardening, documentation, and end-to-end coverage.
## Implementation
- Extend fan-out routing so Jira-primary tasks carrying Slack intake metadata also notify their Slack thread.
- Preserve Jira as the durable issue and orchestration surface while Slack presents a concise conversational view.
- Render and deduplicate:
- issue created and linked;
- clarification requested;
- implementation started;
- orchestration progress;
- PR created;
- completed, failed, cancelled, or timed out;
- queued follow-up and follow-up completion.
- Apply Slack reaction transitions:
- 👀 received;
- ❓ awaiting input;
- ⏳ implementing;
- ✅ completed;
- ❌ failed or abandoned.
- Keep Jira comments, workflow transitions, orchestration panels, and PR links consistent with Slack.
- Avoid posting one noisy Slack message per child; maintain or update a concise parent status panel.
- Add a scheduled intake reconciler:
- remind once after 24 hours awaiting input;
- abandon after seven days without a new mention;
- use channel timing overrides when configured;
- conditionally claim reminders and closure to prevent duplicates.
- On abandonment:
- post to Slack and Jira;
- apply ❌ in Slack;
- use the configured Jira transition when available;
- otherwise add an abandonment comment and label;
- retain enough state for audit while preventing execution.
- An abandoned thread starts a new intake rather than silently reusing terminal state.
- Add operational logs and metrics for evaluator failures, Jira mutation failures, intake latency, clarification, abandonment, decomposition, and dual-surface dispatch failures.
- Update Slack and Jira setup guides, architecture/design documentation, permissions, troubleshooting, and generated Starlight mirrors.
- Add end-to-end coverage for the complete intake-to-PR workflow.
## Acceptance criteria
- [ ] Slack and Jira show consistent progress and final results.
- [ ] Reaction transitions are deterministic and retry-safe.
- [ ] Parent and child execution is summarized clearly without notification flooding.
- [ ] Terminal events and PR links are delivered exactly once per surface.
- [ ] A clarification reminder is sent after 24 hours by default.
- [ ] An unanswered intake is abandoned after seven days by default.
- [ ] Jira transition failures degrade to a comment and abandonment label.
- [ ] Queued follow-up status is visible in Slack and Jira.
- [ ] Existing Slack-only and Jira-only notification paths remain compatible.
- [ ] Relevant unit, construct, fan-out, scheduler, and end-to-end tests pass.
- [ ] `mise run build`, `mise run security`, and documentation synchronization pass.
## Out of scope
- Email or additional chat-system mirrors.
- Passive monitoring of Slack conversations.
- Jira Server or Data Center.
- Cross-repository parent orchestration.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Questa issue fa parte di #832 ed è bloccata da #834, quindi risolvi prima queste dipendenze. Inizia tracciando il fan-out esistente, i percorsi di notifica Slack/Jira e il reconciler di intake pianificato descritto qui, quindi esegui i test rilevanti unit, construct, fan-out, scheduler ed end-to-end. Il lavoro è completato quando superano i controlli elencati relativi al ciclo di vita di Slack e Jira, ai retry, all’abbandono, alla compatibilità, alla build, alla sicurezza e alla documentazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- backend, documentation, testing
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100