feat(aidd-vcs): ci-watch skill with compact GitHub status script
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- github, github-actions
- Área
- ci-cd, developer-experience, tooling
Línea de trabajo
Start by reading plugins/aidd-vcs/skills/02-pull-request/, plugins/aidd-dev/skills/00-sdlc/SKILL.md, and the async review path under plugins/aidd-orchestrator/skills/00-async-dev/actions/review/. Trace the existing ship/finalize flow and inspect how .aidd/config.yml features are handled. Done means the read-only ci-watch script and skill provide tested exit-code behavior, and the flag-enabled ship path blocks success on red checks without changing the default path.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Ship / open-PR paths do not wait on CI deterministically. Free-form agent polling is verbose and inconsistent. Sessions can treat work as done while checks are still red. The async orchestrator path (#149) does not give interactive sessions a compact exit-code contract.
Not a duplicate of #149
| #149 | This issue | |
|---|---|---|
| Caller | Async bot / orchestrator | Interactive session skill |
| Mechanism | React to checks/comments in bot loop | Local script + skill mapping exit codes |
| Integration | Auto finalize rules | Opt-in via features.ci_watch_before_ship |
Scope
- Skill
ci-watch: resolve PR | branch | run id → run script → map exit code. - Bundled script (GitHub-first), e.g. plugin
scripts/ci-watch:- deps:
gh,jq; - flags:
--repo,--pr|--run|--branch, optional--workflow,--interval; - compact stdout (state-change lines; failed job logs only on red);
- stable exit codes documented in script header + skill (pass / fail / cancelled / other / pass-but-not-merged if merge watch);
- pure classifiers unit-testable without network.
- deps:
- Integration contract (non-vacuous):
- Feature flag
features.ci_watch_before_shipin.aidd/config.yml(default false = non-breaking). - When true, ship/finalize path must run ci-watch and must not claim success on non-zero failure exit.
- When false, skill remains manually invocable (standalone value).
- Feature flag
- Skill does not re-implement polling in prose as the primary path.
Standalone value: Any session can wait on CI with stable exit codes without an async bot.
Acceptance criteria
- Green PR: exit 0; short summary.
- Red PR: non-zero failure; failed check names (+ failed logs only).
- Skill invokes script and maps exit codes (no primary agent poll loop).
- Read-only (no commits / force-push).
- With
features.ci_watch_before_ship: trueand red checks, ship path does not report success (doc + action test or fixture). - With flag false/absent, ship behavior unchanged; skill still runnable alone.
- Issue body states non-duplicate vs #149 (this section).
Prior art in this repo
- #149 — async bot reacts to failing checks / quality gates (
plugins/aidd-orchestrator/skills/00-async-dev/actions/review/) plugins/aidd-vcs/skills/02-pull-request/— open PR / ship-adjacent external pathplugins/aidd-dev/skills/00-sdlc/SKILL.md— ship step in interactive SDLC (no CI wait today)
Relations
Intended graph (same fields as GitHub parent / blocked-by / blocks). Formal GraphQL edges need maintainer write — see comment on #584.
| Field | Value |
|---|---|
| parent | #584 |
| blocked-by | #585 |
| blocks | — |
| related | #149 |
| MVP | 1 |
Out of scope
- Auto-fix on red CI
- Non-GitHub forges in v1 (same exit-code contract later)
- Async bot loop (#149)
- Lenguaje dominante
- TypeScript
- Estrellas
- 481
- Forks
- 45
- Merge medio
- 14 h 35 min
- PR fusionados (30 d)
- 66
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ai-driven-dev/framework
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ai-driven-dev/framework#952 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ai-driven-dev/framework#940 ·
Los mantenedores suelen responder en 1 día
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one roundAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ai-driven-dev/framework#887 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ai-driven-dev/framework#873 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ai-driven-dev/framework#625 ·
Los mantenedores suelen responder en 1 día
Todos los issues de ai-driven-dev/framework
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
umbraco/Umbraco-CMS-MCP-Dev#512 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wimpysworld/sidra#290 ·
Los mantenedores suelen responder en 1 día
-
defuFn invokes function values for inherited default propertiesPosiblemente ocupada @xiehuanyi la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
feature request good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
TabularisDB/tabularis#853 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Menos de una hora Aptitud para principiantes 85/100
capricorn86/happy-dom#2474 ·
Los mantenedores suelen responder en 2 días