Skip to content

dev-lead fix-review ignores CI-check regressions it introduced (red bats/lint with no review finding → status=no-changes, PR stuck) #888

Description

@don-petry

Problem

dev-lead's fix-review only acts on review threads/findings (advisory-bot comments). When dev-lead's own change breaks a CI check (e.g. a red bats assertion or shellcheck warning) that has no associated review finding, the fix-review returns status=no-changes and the PR sits BLOCKED indefinitely — dev-lead won't fix a regression it introduced because the failing check isn't a 'finding' it recognizes.

Concrete case (2026-07-23)

PR #887 (implementing #886) regressed Lint and bats:

Expected

dev-lead's fix loop should treat a required CI check that its own commits turned from green→red as a first-class thing to fix — diff the failing check against the PR base, reproduce the failure, and fix it (or escalate to needs-human with the specific failing test named). Silent no-changes on a self-introduced red check is the worst outcome (looks 'done', actually stuck).

Scope

  • In the fix-review loop (dev-lead-fix-reviews / review-cycle), detect failing required checks (not just review threads); if a check regressed vs base and there are no findings, attempt a fix or set needs-human with the failing-check detail — never exit no-changes while a required check is red.
  • Add a guard/test for: 'required check red + no review findings' → must NOT resolve as no-changes.

Refs: #886/#887 (the incident), Epic #850.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-leadFor dev-lead agent pickup

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions