Skip to content

fix(ci): fail the loupe self-review check when the whip harness is broken (INF-5559) - #59

Closed
anish-inf wants to merge 2 commits into
context-labs:mainfrom
anish-inf:INF-5559
Closed

anish-inf wants to merge 2 commits into
context-labs:mainfrom
anish-inf:INF-5559

Conversation

@anish-inf

@anish-inf anish-inf commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Fixes INF-5559.

Why

The loupe self-review workflow was fully advisory: the Review step was continue-on-error: true with no step id, so the action's status output was never read. When the whip harness broke (install failure, 404ing release asset, renamed binary — see #52-#57), the check stayed green and no review comments appeared.

What changes

  • Install whip (pinned v0.6.5): no longer continue-on-error — a failed deterministic install fails the check directly.
  • Review step: gets id: loupe-run (so status is readable) and stays continue-on-error, so review findings remain advisory comments.
  • Harness health gate (new): fails the check when steps.loupe-run.outputs.status == 'failed' (harness/setup breakage). quota and rate-limit remain advisory — provider-side issues, not a broken harness.

This distinguishes "we could not review because the harness is broken" (red check, must fix) from "review completed" (green, advisory).


Note

Low Risk
CI and documentation only; no runtime product or auth/data-path changes.

Overview
Advisory loupe reviews no longer show green when the harness never ran. The self-review workflow treats a broken whip install as a hard failure and adds a follow-up gate when the Review step reports harness/setup failure via status.

The Install whip step drops continue-on-error so a pinned deterministic download failure fails the check immediately. The Review step keeps continue-on-error (findings stay comments-only) but gains id: loupe-run so workflows can read status. A new Harness health gate runs on always() and fails only when status == 'failed', leaving quota and rate-limit advisory.

docs/github-action.md documents the same pattern: advisory reviews plus a consuming-workflow gate, since the action cannot fail its own job from inside the composite step.

Reviewed by Cursor Bugbot for commit bc74bea. Bugbot is set up for automated code reviews on this repo. Configure here.

…oken (INF-5559)

The Review step was fully advisory (continue-on-error, no step id), so a broken whip harness (failed install, 404ing release asset, renamed binary) left the check green with no comments. Gate the check instead: the pinned whip install is no longer continue-on-error; the Review step gets id loupe-run and stays advisory, and a new Harness health gate step fails the check when the action's status output is failed. quota/rate-limit remain advisory.
The INF-5559 fix in the loupe dogfooding workflow (PR context-labs#59) only guards loupe's own repo. The same silent-green gap exists for every consumer that follows the recommended advisory posture: `continue-on-error: true` turns a broken whip harness (missing/404ing/renamed binary, bad install) into a green check with no comments, so a PR looks reviewed when nothing ran.

A step cannot fail its own job from inside an action, so the general fix is a documented gate step in the consuming workflow. Bake the pattern into the 'Recommended posture' section of docs/github-action.md: keep the Review step advisory with an id, then a Harness health gate step fails the job only `when steps.<id>.outputs.status == 'failed'` (harness/setup breakage); quota and rate-limit stay advisory as provider-side issues. Cross-reference it from the existing 'Branching on failure' section.
@anish-inf anish-inf closed this Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant