Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Run ends 'branch kept' with nothing blocking; /land says nothing is waiting

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
55/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
git, go
领域
cli, tooling

调研方向

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 内容生成。

描述

area:session bug sev:critical

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

  1. Build dev 837b2b0 (git checkout 837b2b0 && make build, binary bin/codeaf), or install the dev build with curl -fsSL https://agentfield.ai/get/devaf | bash.
  2. Use an isolated profile: export HOME=$(mktemp -d), export OPENROUTER_API_KEY, and keep the default model (~deepseek/deepseek-v4-flash-latest, crew on auto).
  3. On a busy machine set task.max_load to 0 (/settings, Tasks) so the busy-machine gate does not hold tasks.
  4. 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.
  5. codeaf, then /task Split main.go into three files by concern and add a test for each.
  6. When it ends, read the run's landing line and git log main; then /land.

Evidence

  • Landing line branch kept; main unchanged; /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, /land lists it and lands it).
  • e2e: no *.orig files 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,通用步骤见我们的新手贡献指南。

从这里开始

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

Agent-Field/CodeAF 的其他 Issue

查看 Agent-Field/CodeAF 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

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