Skip to content

feat(source-control): recover conflict intent in the pull-request base-merge step and add a CI conflict mode #13137

Description

@kyle-sexton

Part of #7576 (PR 2 of 3).

Problem

/source-control:resolve-conflicts is to be removed, with its intent-reading step living in /source-control:pull-request's base-merge step and escalating only when the two intents cannot both hold (owner, interview Q541 and Q568). #7576's body says the base-merge step lands before the removal, so this PR moves the discipline and adds the CI mode; PR 3 removes the skill.

Done when

  • plugins/source-control/skills/pull-request/reference/ready-for-review.md §2.5.2 ("Refresh the base with a merge") carries the resolve-conflicts discipline: map the stop, recover both sides' intent, compose by default, semantic-conflict sweep, verify (from plugins/source-control/skills/resolve-conflicts/SKILL.md Task steps 1-5 and its "Never pick a side" and "--abort is not a resolution strategy" rules), and escalates only when both intents cannot hold.
  • The repository-specific version-bump and changelog-fragment rule (the "Plugin version-bump collisions" bullet of resolve-conflicts Task step 3, SKILL.md:85) lives in /source-control:pull-request, and plugins/source-control/skills/babysit-loop/SKILL.md:435, plugins/source-control/skills/babysit-prs/reference/loop.md:243-249 and plugins/source-control/skills/babysit-prs/reference/orchestration.md:582-588 cite its new home.
  • /source-control:pull-request gains a CI conflict mode that does what resolve-conflicts' ## CI mode does today: it reads the runner's conflicts.json, runs no command, never edits a workflow file, and escalates unresolvable paths. Its argument form follows address-feedback's comments --ci --unattended (docs/conventions/pr-pipeline.yaml:95).
  • plugins/source-control/skills/pull-request/reference/ready-for-review.md:125, plugins/source-control/skills/pull-request/reference/create.md:246,264 and plugins/source-control/skills/pull-request/scripts/push-branch.sh:481 point at the base-merge step instead of the resolve-conflicts skill.
  • A changelog fragment for source-control.

Filed by Issue Triage from the #7576 spec (agent choice, verified against main). This was generated by AI.

Activity

  1. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.
    on Nov 4, 2026
  2. added theissue type on Nov 4, 2026
  3. github-actions commented on Nov 4, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: structural
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Understood: this is PR 2 of 3 under #7576. It moves the resolve-conflicts intent-reading discipline into the pull-request base-merge step. It also relocates the version-bump rule and updates the citing docs and scripts. Last, it adds a CI conflict mode that follows the address-feedback argument form. The done-when list is concrete, and the issue names each file to change. No duplicates found among open issues.

    Automated triage, applied by the lanes App.

  4. github-actions commented on Nov 4, 2026

    @github-actions
    Contributor
    No description provided.
  5. github-actions commented on Nov 4, 2026

    @github-actions
    Contributor
    No description provided.
  6. removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: mediumReal value, no hard deadline; normal backlog flow.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions