tasks: a stopped task's commit is signed with the chat model, not the model that did the work
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 internal/session/stoprun.go 中的 keptWork(..., a.signsGitWork()) 以及 internal/session/beltfacts.go 开始,后者中的 signsGitWork 会返回对话模型。阅读停止一次运行的 session 测试,并添加一个 worker 模型和对话模型不同的确定性用例。保留的提交 trailer 不再提及 chat 模型时,即为完成;运行相关的 session 测试。
由索引模型根据 Issue 内容生成。
描述
What happened
2026-10-05, dev@f81638787 (dev-20261005-f816387875e5), engine road. The chat model was ~deepseek/deepseek-v4-flash-latest and the task worker z-ai/glm-5.3-flash. Found in the v0.7.1 happy-path pass.
Stop a running /task (with x on its page, or /stop). The commit on its kept branch is signed with the chat model:
Assisted-by: CodeAF (deepseek-v4-flash-latest)
codeaf logs shows only z-ai/glm-5.3-flash worked that task, and the crew line says worker glm-5.3-flash. Tasks that finish and land carry a bare Assisted-by: CodeAF, so the same setting signs two ways depending on how the task ended.
Replication
Field. OPENROUTER_API_KEY. On a repository on a non-protected branch, run /task add a Levenshtein function with table tests. Stop it after about 20 s, then run git log -1 --format=%B task/<slug>. Cost is about $0.05.
Deterministic (no model). A session test that stops a run whose worker model differs from the agent's model, then reads the kept commit's trailer.
Where
keptWork(..., a.signsGitWork()) in internal/session/stoprun.go. signsGitWork in internal/session/beltfacts.go returns the conversation's model (a.Model()).
The fix
A stopped run's commit is signed the way a landed one is: by the model that did the work, or with the bare trailer when that is what the landing path writes. It is never signed with the chat model.
Acceptance
- Unit: stopping a run whose worker is model A, in a conversation on model B, writes a trailer that does not name B.
- 主要语言
- Go
- 星标
- 115
- 派生
- 14
- 平均合并
- 9 小时 3 分钟
- 30 天内合并 PR
- 514
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Agent-Field/CodeAF 的其他 Issue
-
area:session bug sev:papercut
难度 2/5 1-3 小时 新手友好度 82/100
Agent-Field/CodeAF#1779 ·
维护者通常 1 天内回复
-
area:chat bug sev:papercut
难度 2/5 1-3 小时 新手友好度 78/100
Agent-Field/CodeAF#1742 ·
维护者通常 1 天内回复
-
area:build bug sev:papercut
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1679 ·
维护者通常 1 天内回复
-
area:session bug sev:serious
难度 2/5 1-3 小时 新手友好度 85/100
Agent-Field/CodeAF#1678 ·
维护者通常 1 天内回复
-
area:chat bug sev:papercut
难度 2/5 1-3 小时 新手友好度 86/100
Agent-Field/CodeAF#1592 ·
维护者通常 1 天内回复
查看 Agent-Field/CodeAF 的全部 Issue
相似的 Issue
-
[submenu] nil issue on ubuntu 26.04可能已有人在做 @egoist 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
prime-radiant-inc/evener#3873 ·
维护者通常 1 天内回复
-
extract_llm_sweep / cache_aware_summarizer prefix ask 400s when thinking.budget_tokens exceeds PrefixAskMaxTokens可能已有人在做 @amiddavid 今天认领。 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
rossoctl/context-guru#405 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 80/100
router-for-me/CLIProxyAPI#6423 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 2 天内回复