Skip to content

Fix the drop_reason mismatch in the quick-merge stage-3 fixture #949

Description

@justinmclean

Summary

A pr-management-quick-merge fixture assigns drop_reason: gate:G5-conflict to
a case that is not a conflict, so the step-4 summary would misattribute why the
PR was dropped.

Background

candidate-rules.md defines gate:G5-conflict as a genuine merge conflict,
meaning mergeable == false. The fixture applies it to a case with
mergeable == true and mergeable_state == blocked: the PR merges cleanly but
a branch protection or check is blocking it. Because the fixture is what the
eval grades against, the wrong reason is locked in as correct.

Where to look

  • evals/pr-management-quick-merge/stage-3-merge-readiness/fixtures/system-prompt.md -
    the drop_reason assignment.
  • skills/pr-management-quick-merge/candidate-rules.md - the authoritative gate
    codes. Find the one describing a blocked-but-mergeable PR.
  • grep -rl 'G5-conflict' tools/skill-evals/evals/pr-management-quick-merge/
    finds the three files that mention it.

Acceptance criteria

  • The fixture's drop_reason matches candidate-rules.md for a
    mergeable-but-blocked PR.
  • Any expected.json asserting the old reason is updated.
  • The pr-management-quick-merge eval suite passes.

Estimated effort

~2 hours for someone new to the codebase.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions