codeaf do "" runs a paid job with an empty brief
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 88/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- go
- 领域
- cli, testing-qa
调研方向
从 cmd/codeaf/main.go 中 1101-1112 行附近的 readText,以及 1109、1121 和 1126 行的 noGoalGiven 检查开始。运行所述的复现 codeaf do "" 和 codeaf do " ",然后添加或更新 unit 和 e2e 覆盖。完成的标准是两种形式都使用现有的单行 usage 以非零状态退出、不写入 usage 行,并且 readText 将空白参数作为缺少 goal 处理。
由索引模型根据 Issue 内容生成。
描述
Seen on: dev 837b2b0.
Behaviour
codeaf do "" (one empty argument) starts a real, paid run. It exited 0 with stop:"done" and spent $0.057; the crew invented a goal from the repository (it fixed the failing tests). A missing brief should be refused the way a terminal with no piped text is refused, with nothing spent.
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 with a failing test:
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, then add any failing_test.gofile and commit it. - Run
codeaf do "" --json; echo exit=$?. - Read the JSON:
stopisdone,spend_usdis non-zero, andgit statusshows edits nobody asked for.
Evidence
- JSON record:
"stop":"done","spend_usd":0.057, exit 0. cmd/codeaf/main.go:1101-1112(readText): withlen(args) > 0it returnsstrings.TrimSpace(strings.Join(args, " ")), so one empty argument becomes an empty goal with no error. ThenoGoalGivencheck (main.go:1109,:1121,:1126) runs only on the no-argument and piped paths.
Guessed cause
A guess from reading the code, not a confirmed diagnosis. readText never checks the trimmed argument text for emptiness, so an empty brief reaches the crew and the planner fills the gap from the repository.
Acceptance
- e2e:
codeaf do ""andcodeaf do " "exit non-zero with the same one-line usage ascodeaf dowith no argument, and no usage row is written (codeaf logsshows no call). - Unit:
readTextreturns thenoGoalGivenerror for an all-blank argument list.
Found while writing the public docs; manual text differences are in #1545.
🤖 Generated with Claude Code
- 主要语言
- Go
- 星标
- 115
- 派生
- 14
- 平均合并
- 9 小时 44 分钟
- 30 天内合并 PR
- 766
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 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: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 天内回复
-
area:chat bug good first issue sev:papercut
难度 2/5 1-3 小时 新手友好度 78/100
Agent-Field/CodeAF#1470 ·
维护者通常 1 天内回复
-
area:chat bug good first issue sev:papercut
难度 2/5 1-3 小时 新手友好度 85/100
Agent-Field/CodeAF#1469 ·
维护者通常 1 天内回复
查看 Agent-Field/CodeAF 的全部 Issue
相似的 Issue
-
automation models
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
txn2/mcp-data-platform#1984 ·
维护者通常 1 天内回复
-
agentic-workflows
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
kind/docs prio/P2
难度 1/5 1 小时以内 新手友好度 95/100
agent-substrate/substrate#1986 ·
维护者通常 1 天内回复