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

feat(github): support bgagent:decompose and bgagent:auto planning labels

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

Description

## Component

CDK GitHub adapter, orchestration, agent workflows, CLI

## Describe the feature

GitHub Issues should support the same planning labels as Linear and the Jira parity work:

- `bgagent:decompose`: ABCA analyzes the GitHub issue, proposes a dependency-aware breakdown, posts the plan to GitHub, and waits for approval before creating/running child work.
- `bgagent:auto`: ABCA analyzes the issue, creates the breakdown, and starts the child work without an approval round.
- `bgagent:help`: ABCA posts a short comment explaining the supported GitHub trigger labels and creates no task.

## Use case

A large GitHub issue may need to be split before execution. Users should be able to keep that planning workflow inside GitHub Issues with the same scope/cost control available in Linear/Jira.

## Proposed solution

Extend the GitHub Issues label-trigger path to recognize label variants based on the configured base label:

- `` keeps current single-task behavior unless the issue already has an orchestratable child graph.
- `:decompose` creates a `coding/decompose-v1` planning task, posts the resulting plan as a GitHub issue comment, and records a pending plan awaiting approval.
- `:auto` creates the same plan and immediately seeds/runs the generated child graph.
- `:help` posts a GitHub help comment and exits.
- Add per-repo GitHub mapping options for decomposition enablement and max sub-issues, mirroring Linear/Jira parity.
- Preserve GitHub channel metadata on generated child tasks so comments, final status fanout, and later graph extension work.

## Acceptance criteria

- Adding `bgagent:help` to a GitHub issue posts a help comment and creates no task.
- Adding `bgagent:decompose` to an eligible GitHub issue creates a planning run and posts a proposed breakdown with cost/scope information and approval instructions.
- No implementation child tasks start until the plan is approved.
- Adding `bgagent:auto` creates a plan and starts the generated child graph without a human approval round.
- Per-repo caps reject over-large plans with a GitHub comment and no child tasks.
- Projects/repos without decomposition enabled reject `:decompose` / `:auto` with a clear GitHub comment.
- Existing plain-label GitHub behavior remains unchanged.

## Tests

- GitHub processor tests cover label variant parsing, help no-op, decompose planning task creation, auto path, disabled-repo rejection, and cap rejection.
- Orchestration tests cover pending-plan persistence and generated GitHub child task metadata.
- CLI tests cover GitHub mapping flags for decomposition enablement and max sub-issues.
- Docs update the GitHub Issues setup guide with label variants and cap configuration.

## Out of scope

- Running existing GitHub sub-issues/dependencies; tracked separately.
- Rich interactive plan revisions beyond the minimum approval path.
- Deterministic plan edit commands such as `drop 3` or `merge 1 2`.
- GitHub Projects automation.
- Cross-repo decomposition.

Contributor guide

Open the contributing guide

Research direction

Start with the GitHub processor tests for label parsing and trigger handling, then trace the orchestration tests for pending-plan persistence and generated child-task metadata. Review the CLI tests for GitHub mapping flags and the GitHub Issues setup guide. Done means all listed acceptance paths pass, plain-label behavior is unchanged, and documentation covers label variants and caps.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, github, typescript
Domain
backend, cli, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.