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

feat(adapters): mirror Slack-Jira orchestration lifecycle and harden conversational intake

Open
#835 0 comments 0 reactions 0 assignees View on GitHub
adapters enhancement P1 security
Dominant language
TypeScript
Stars
143
Forks
46
Avg merge
3d 9h
Merged PRs (30d)
20

Description

## 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.

Contributor guide

Open the contributing guide

Research direction

This issue is part of #832 and blocked by #834, so resolve those dependencies first. Start by tracing the existing fan-out, Slack/Jira notification paths, and scheduled intake reconciler described here, then run the relevant unit, construct, fan-out, scheduler, and end-to-end tests. Done means the listed Slack and Jira lifecycle, retry, abandonment, compatibility, build, security, and documentation checks pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, documentation, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.