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

feat(github): orchestrate labeled parent issues across sub-issues and blockers

Abierto
#585 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

adapters enhancement orchestration
Lenguaje dominante
TypeScript
Estrellas
146
Forks
46
Merge medio
3 d 10 h
PR fusionados (30 d)
24

Descripción

Component

CDK GitHub adapter, orchestration

Describe the feature

When a GitHub parent issue is label-triggered and has native GitHub sub-issues or dependency relationships, ABCA should orchestrate the child work as a dependency-aware graph instead of running the parent as one large task.

This mirrors Linear parent/sub-issue orchestration and the Jira parity issue: one parent issue represents the epic, child issues become executable tasks, dependencies determine release order, and the parent receives a rollup comment when the graph settles.

Use case

GitHub Issues now supports native sub-issues, and teams also express dependencies through issue relationships/prose. A user who already broke an epic into sub-issues should be able to label the parent and have ABCA run the child graph in reviewable pieces.

Proposed solution

Add a GitHub graph-discovery path to the GitHub Issues processor:

  • On a parent label trigger, read native GitHub sub-issues through GraphQL.
  • Discover dependency edges from supported GitHub issue relationships where available; if dependency relationships are unavailable in the API, use the repo standard documented dependency syntax as a v1 fallback.
  • If a valid child graph exists, seed the existing orchestration engine instead of creating a single parent task.
  • Treat each child issue as one ABCA task using that child issue title/body/context.
  • For v1, require all executable child issues to resolve to one active mapped repo.
  • Release root child issues immediately; release dependent children only after all blockers complete successfully.
  • Use existing orchestration behavior for branch stacking, failure propagation, skipped dependents, and terminal rollup.
  • Post the parent rollup to the GitHub parent issue.

Acceptance criteria

  • Applying the trigger label to a GitHub parent with a valid child graph creates child tasks and does not create a separate parent task.
  • Child issues with no blockers start immediately.
  • Blocked child issues start only after all blocking child tasks terminal-succeed.
  • Failed or cancelled children skip their transitive dependents while independent siblings continue.
  • The parent GitHub issue receives a rollup comment with succeeded, failed, skipped counts and child PR links where available.
  • Cycles, unmapped child repos, or unsupported cross-repo graphs are rejected with a parent issue comment and no tasks created.
  • Applying the trigger label to a GitHub issue without children keeps the current single-task behavior.

Tests

  • GitHub processor tests cover parent-with-sub-issues, dependency edges, no-children fallback, cycles, unmapped children, and mixed repo rejection.
  • Orchestration release tests cover GitHub channel metadata on child tasks.
  • Rollup tests cover GitHub parent comments and non-GitHub behavior remaining unchanged.
  • Docs explain supported GitHub hierarchy/dependency modeling.

Out of scope

  • Auto-creating GitHub sub-issues from a plan.
  • bgagent:decompose / bgagent:auto labels.
  • Incrementally adding new sub-issues to an already-running orchestration.
  • GitHub Projects automation.
  • Cross-repo orchestration.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza con el procesador de GitHub Issues y el motor de orquestación existente; inspecciona la ruta de descubrimiento de GraphQL y las pruebas del procesador, de release y de rollup mencionadas en el issue. Se considera terminado cuando los grafos hijos válidos crean tareas hijas conscientes de las dependencias, los grafos no válidos se rechazan con un comentario en el padre, los issues sin hijos conservan el comportamiento de una sola tarea y se documenta la jerarquía compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, graphql, typescript
Área
api, backend, distributed-systems
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.