Skip to content

fix(crew-state): stop passed runs from implying PR landing - #2778

Open
Mr-Neutr0n wants to merge 2 commits into
kunchenguid:mainfrom
Mr-Neutr0n:fix/crew-state-passed-no-landing-claim
Open

fix(crew-state): stop passed runs from implying PR landing#2778
Mr-Neutr0n wants to merge 2 commits into
kunchenguid:mainfrom
Mr-Neutr0n:fix/crew-state-passed-no-landing-claim

Conversation

@Mr-Neutr0n

Copy link
Copy Markdown

What Changed

  • Report a passed pipeline outcome as pipeline complete without claiming that its PR merged or closed.
  • Add regression coverage that preserves the completed run state while rejecting unsupported forge-status claims.

Risk Assessment

✅ Low: Captain, the change is narrowly scoped and truthfully maps a passed pipeline to pipeline completion without claiming unverified forge state; the regression test exercises observable helper output.

Testing

No prior baseline command was supplied. The focused crew-state behavior suite passed, and a base-versus-target CLI counterfactual proved the fix end to end: the base falsely claimed PR merged/closed, while the target reports run passed: pipeline complete with or without a PR URL. CLI transcripts provide the reviewer-visible evidence; no UI screenshot applies to this shell-output change.

Evidence: Target commit CLI transcript

Source: Target commit CLI transcript

Input: outcome=passed, PR field contains a URL state: done · source: run-step · run passed: pipeline complete Input: outcome=passed, PR field is empty state: done · source: run-step · run passed: pipeline complete

Input: outcome=passed, PR field contains a URL
state: done · source: run-step · run passed: pipeline complete
Input: outcome=passed, PR field is empty
state: done · source: run-step · run passed: pipeline complete
Evidence: Base commit regression reproduction

Source: Base commit regression reproduction

Input: outcome=passed, PR field contains a URL state: done · source: run-step · run passed: PR merged/closed Input: outcome=passed, PR field is empty state: done · source: run-step · run passed: PR merged/closed

Input: outcome=passed, PR field contains a URL
state: done · source: run-step · run passed: PR merged/closed
Input: outcome=passed, PR field is empty
state: done · source: run-step · run passed: PR merged/closed

Pipeline

Updates from git push no-mistakes

⏭️ **intent** - skipped

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • bash tests/fm-crew-state.test.sh
  • Executed the real target bin/fm-crew-state.sh with outcome: passed and both populated and empty PR fields using passed-run-cli-evidence.sh.
  • Extracted base dc0172c48b36a6303501af25d0915ad6e7d04192:bin/fm-crew-state.sh with git show and ran the same CLI harness to reproduce the false PR merged/closed claim.
✅ **Document** - passed

✅ No issues found.

⚠️ **Lint** - 1 warning
  • ⚠️ linter found issues (exit code 1)
✅ **Push** - passed

✅ No issues found.

A pipeline passed outcome is a claim about the run's own nine steps,
not about the forge. The PR is typically still open awaiting a human
merge decision, and rendering 'PR merged/closed' invents landing that
the helper never established (issue kunchenguid#2421). Say what is known: the run
passed and the PR awaits review/merge. Landing remains teardown's own
pr_is_merged determination.

Adds a regression test proving the detail line never renders a
merged/closed claim for an outcome=passed run; it fails against the
old wording and passes with this change.

Signed-off-by: Mr-Neutr0n <64578610+Mr-Neutr0n@users.noreply.github.com>
Gate review finding: 'PR awaiting review/merge' still asserts forge
state that outcome=passed does not establish, just in the other
direction (the PR may already be merged or absent). Render a neutral
'run passed: pipeline complete' and tighten the regression test to
reject any PR-state claim in the detail line.

Signed-off-by: Mr-Neutr0n <64578610+Mr-Neutr0n@users.noreply.github.com>
@greptile-apps

greptile-apps Bot commented Aug 22, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The PR appears safe to merge with no actionable defects identified.

Passed runs retain their authoritative done state while the displayed detail no longer makes an unsupported claim about pull-request status, and no repository consumer depends on the removed wording.

Reviews (1): Last reviewed commit: "fix(crew-state): make the passed-run det..." | Re-trigger Greptile

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