Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

codeaf do "" runs a paid job with an empty brief

オープン 初心者向け
#1,566 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
88/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go
領域
cli, testing-qa

調査の方向性

cmd/codeaf/main.go の readText(1101-1112 行付近)と、1109、1121、1126 行の noGoalGiven チェックから始めます。説明されている再現 codeaf do "" と codeaf do " " を実行してから、unit と e2e のカバレッジを追加または更新します。両方の形式が既存の 1 行の usage とともに非ゼロで終了し、usage の行が書き込まれず、readText が空白の引数を goal がない場合と同じように扱えば完了です。

索引モデルが issue の本文から書いたものです。

説明

area:headless bug sev:critical

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

  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 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.go file and commit it.
  5. Run codeaf do "" --json; echo exit=$?.
  6. Read the JSON: stop is done, spend_usd is non-zero, and git status shows edits nobody asked for.

Evidence

  • JSON record: "stop":"done", "spend_usd":0.057, exit 0.
  • cmd/codeaf/main.go:1101-1112 (readText): with len(args) > 0 it returns strings.TrimSpace(strings.Join(args, " ")), so one empty argument becomes an empty goal with no error. The noGoalGiven check (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 "" and codeaf do " " exit non-zero with the same one-line usage as codeaf do with no argument, and no usage row is written (codeaf logs shows no call).
  • Unit: readText returns the noGoalGiven error 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時間 37分
マージ済み PR(30日)
755

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Agent-Field/CodeAF のほかの issue

Agent-Field/CodeAF の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。