feat(aidd-vcs): ci-watch skill with compact GitHub status script

Đang mở
#586 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
55/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github, github-actions

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
  • Integration contract (non-vacuous):
    • Feature flag features.ci_watch_before_ship in .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).
  • 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: true and 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 path
  • plugins/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)
Ngôn ngữ chính
TypeScript
Star
481
Fork
45
Merge trung bình
17 giờ 40 phút
Pull request đã merge (30 ngày)
106

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ai-driven-dev/framework

Tất cả issue của ai-driven-dev/framework

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.