afk-loop: resolve merge conflicts with /resolving-merge-conflicts

未关闭
#600 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
领域
tooling

调研方向

Start with .claude/skills/afk-loop/SKILL.md and the vendored /resolving-merge-conflicts skill, then review the merge gate language and issue #599's refused-hook case. Trace every conflict-resolution prompt and the existing stop conditions. Done means the documented rules cover ownership, maintainer handoffs, review and re-measurement, hook refusal, and precedence without leaving the listed open questions unresolved.

由索引模型根据 Issue 内容生成。

描述

feature needs-triage repo

Problem

afk-loop has no procedure for a merge conflict. .claude/skills/afk-loop/SKILL.md stops the run on "a merge conflict that is not a mechanical rebase", and the merge gate accepts a commit after step 8 when it is "a mechanical rebase" that the orchestrator re-measured. Neither place says what a mechanical rebase is, how to make one, or who makes it.

Conflicts are expected. Each worker branches from origin/develop, so two PRs of the same run can touch the same file, and § One ticket already records a PR from outside the run because "whichever PR merges second takes the conflict". Today every such conflict ends the run or waits for the maintainer.

The repository vendors /resolving-merge-conflicts from mattpocock/skills. It reads the history and the primary sources of each hunk, keeps both intents where it can, and runs the project's checks. It was used on PR #257 on 2026-09-27, where it resolved three conflicts in root files and passed pnpm check and pnpm test. The NDA pre-commit hook then refused the merge commit, see #599.

Acceptance criteria

  1. afk-loop says when a conflict is resolved with /resolving-merge-conflicts, and who runs it: the orchestrator, the worker of that ticket, or a new subagent.
  2. afk-loop says which conflicts it still hands to the maintainer, in words a run can apply without judgement. "Mechanical rebase" is either defined there or no longer used.
  3. The merge gate says how a conflict-resolution commit is reviewed before the merge. A resolution commit that no review round read and that nobody re-measured does not pass the gate.
  4. afk-loop says what happens when a guard refuses the resolution commit, as in #599. The run keeps the hooks enabled, and the existing stop condition for a refused commit still applies.
  5. The skill's own rule "Always resolve; never --abort" does not override a stop condition of afk-loop. afk-loop states which one wins.
  6. Every prompt that resolves a conflict carries these rules inline, because a worker or reviewer does not read SKILL.md.

Open questions

  • Merge develop into the branch, or rebase the branch onto it. A rebase rewrites commits that a review round already read and needs a force push, which the maintainer's rules make an ask-first step.
  • Whether a PR from outside the run, such as #257, is ever in scope, or only the run's own PRs.
  • Whether this belongs in the current skill now, or waits for the plugin spec of #594.
主要语言
HTML
星标
1
派生
0
平均合并
49 分钟
30 天内合并 PR
20

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

unic/unic-agents-plugins 的其他 Issue

查看 unic/unic-agents-plugins 的全部 Issue

相似的 Issue

更多 DevTools Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。