Yellow Banner Trap

Definition

GitHub displays a yellow “Compare & pull request” banner on any branch with recent activity. This banner is not a kalamos pipeline signal. Clicking through and merging the suggested PR ships unfinished and/or broken code, because the kalamos pipeline may still be running on that branch (Coder → Builder → Shipper) and has not yet validated the change.

Why it happens

  • GitHub surfaces any branch with new commits, regardless of whether CI is green or whether the kalamos Shipper agent has formally opened a PR
  • Retry-titled branches (e.g., retry 1/2 — fix CI failure) are mid-pipeline by definition; they’re labeled “retry” precisely because the previous attempt didn’t pass CI
  • Branches stack their retries — merging a retry branch carries commits from previous unrelated tickets if the retry was based on a stale parent

What it looks like in practice

On 2026-04-26, 19 retry-PRs from the suggestion banner were merged on the CRMAPIGenerator master branch with failing CI. Result: master became unbuildable since PR #72. Recovery: git reset master 55d6e3f → 2187a36 (last green), delete 20 contaminated agent branches, reset 20 issues to todo.

Hard rule

Only merge PRs that the kalamos Shipper agent has formally opened with green CI. If a PR title starts with retry, do not touch it; it’s the pipeline talking to itself, not work ready to ship.

How to verify a PR is Shipper-opened with green CI

  1. PR author = the kalamos-shipper GitHub bot account (or whatever the deployed Shipper agent’s git identity is for that customer)
  2. PR title does NOT start with retry
  3. Status checks all green
  4. Reviewer agent or human reviewer has approved
  • [[CRMAPIGenerator-Repository]] — the project where this anti-pattern bit
  • [[Builder-MSBuild-Zombie-Reuse]] — different but related: build-environment hygiene