Run ends 'branch kept' with nothing blocking; /land says nothing is waiting
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with internal/session/task_contract.go:659, task_store.go:1668, and programhold.go:239, then trace the run path into /land using the supplied reproduction. Confirm why a committed task branch becomes kept and whether it is registered for landing. Done means the e2e run merges into main or /land lists and lands it, with no *.orig files on the task branch.
由索引模型根据 Issue 内容生成。
描述
Seen on: dev 837b2b0.
Behaviour
A fan-out run ended branch kept although main had not moved. /land then said nothing is waiting, and the chat claimed that keeping the branch is the normal end. The manual says a run merges its work. The kept branch also carried a stray split/textkit.go.orig. A run with no conflict should land, and a kept branch should always be reachable from /land.
Replication
- Build dev 837b2b0 (
git checkout 837b2b0 && make build, binarybin/codeaf), or install the dev build withcurl -fsSL https://agentfield.ai/get/devaf | bash. - Use an isolated profile:
export HOME=$(mktemp -d), exportOPENROUTER_API_KEY, and keep the default model (~deepseek/deepseek-v4-flash-latest, crew on auto). - On a busy machine set
task.max_loadto0(/settings, Tasks) so the busy-machine gate does not hold tasks. - Make a small repo:
R=$(mktemp -d) && cd "$R" && git init -q && printf 'package main\n\nfunc main() {}\n' > main.go && printf 'module demo\n\ngo 1.22\n' > go.mod && git add -A && git commit -qm init. codeaf, then/task Split main.go into three files by concern and add a test for each.- When it ends, read the run's landing line and
git log main; then/land.
Evidence
- Landing line
branch kept;mainunchanged;/land→nothing is waiting. - The branch contains
split/textkit.go.orig. internal/session/task_contract.go:659("conflicted" (branch kept)),internal/session/task_store.go:1668(no branch kept),internal/session/programhold.go:239(branch kept, its copy not laid, a /land refused). The exact path taken was not traced.
Guessed cause
A guess from reading the code, not a confirmed diagnosis. A worker commits on the task branch itself, and the merge path then treats an already-committed branch as a kept one; the kept branch is not registered where /land looks.
Acceptance
- e2e: the replication above ends with the work merged into
main(or, if kept,/landlists it and lands it). - e2e: no
*.origfiles reach a task branch.
Found while writing the public docs; manual text differences are in #1545.
🤖 Generated with Claude Code
- 主要语言
- Go
- 星标
- 115
- 派生
- 14
- 平均合并
- 9 小时 35 分钟
- 30 天内合并 PR
- 752
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Agent-Field/CodeAF 的其他 Issue
-
area:chat bug sev:papercut
难度 2/5 1-3 小时 新手友好度 86/100
Agent-Field/CodeAF#1592 ·
维护者通常 1 天内回复
-
area:headless bug sev:critical
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1566 ·
维护者通常 1 天内回复
-
area:chat bug sev:critical
难度 2/5 1-3 小时 新手友好度 82/100
Agent-Field/CodeAF#1548 · 1 条评论 ·
维护者通常 1 天内回复
-
area:chat feature
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1510 ·
维护者通常 1 天内回复
-
area:tests bug
难度 2/5 1-3 小时 新手友好度 82/100
Agent-Field/CodeAF#1489 ·
维护者通常 1 天内回复
查看 Agent-Field/CodeAF 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 1/5 1 小时以内 新手友好度 65/100
521xueweihan/HelloGitHub#3789 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 12 天内回复
-
stage-fail
难度 2/5 1-3 小时 新手友好度 78/100
siyuan-note/bazaar#2282 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
openshift/kube-compare#307 ·
维护者通常 1 天内回复