senior-dev silently ignores --max-cost and other flags after the brief
Maintainer antworten meist innerhalb von 1 Tag
@santoshkumarradha arbeitet bereits daran.
Seit 27.9.2026.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 85/100
Rechercherichtung
Start with delegate.Parse in internal/delegate/cli.go:79-118 and the senior-dev synopsis in cmd/codeaf/carried.go:566. Reproduce the flags-after-brief command, then inspect how fs.Parse and fs.Args handle the remaining arguments. Done means the unit and e2e cases parse the caps and JSON flag correctly, or reject misplaced flags without running under default limits.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Seen on: dev 837b2b0.
Behaviour
codeaf senior-dev "<brief>" --max-cost 0.5 --max-hours 0.3 --json ignores every flag after the brief. The header read up to $10.00 and 3h, the output was readable lines instead of JSON, and the exit was 0. The same flags placed before the brief work. A script that caps cost this way is not capped. Flags after the brief should either be parsed or refused with an error; they must never be silently dropped.
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. - Run
codeaf senior-dev "add a README.md with one line" --max-cost 0.5 --max-hours 0.3 --json. - Read the first lines: the header says
up to $10.00 and 3hand the output is not JSON. - Control:
codeaf senior-dev --max-cost 0.5 --max-hours 0.3 --json "add a README.md with one line"shows the $0.50 cap and prints JSON.
Evidence
- Header text
up to $10.00 and 3hfor the flags-after-brief form; the flags-first form honours the caps. internal/delegate/cli.go:79-118:flag.NewFlagSet(...)thenfs.Parse(rest); Go'sflagstops at the first non-flag argument, andfs.Args()(line 118) carries--max-cost 0.5 ...into the brief.cmd/codeaf/carried.go:73callsdelegate.Parse(program, args, ...);carried.go:566documents the synopsis as"<brief>" [--dir dir] [--max-cost usd] [--max-hours h], that is, flags after the brief.
Guessed cause
A guess from reading the code, not a confirmed diagnosis. The parser uses Go's flag package, which stops at the first positional argument, and nothing checks the leftover arguments for flag-shaped words, although the documented synopsis puts the flags after the brief.
Acceptance
- e2e: the flags-after-brief command above prints JSON and its header says
up to $0.50; or it exits non-zero naming the misplaced flag. It never runs with the default cap. - Unit:
delegate.Parsewith["brief", "--max-cost", "0.5"]yieldsmax-cost=0.5(or an error), never a brief that contains--max-cost.
Found while writing the public docs; manual text differences are in #1545.
🤖 Generated with Claude Code
- Vorherrschende Sprache
- Go
- Sterne
- 115
- Forks
- 14
- Ø Merge
- 11 Std. 40 Min.
- Gemergte PRs (30 T.)
- 203
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Agent-Field/CodeAF
-
area:chat bug sev:papercut
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Agent-Field/CodeAF#1805 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:session bug sev:papercut
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Agent-Field/CodeAF#1779 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:session bug sev:papercut
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Agent-Field/CodeAF#1768 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:chat bug sev:papercut
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Agent-Field/CodeAF#1742 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:build bug sev:papercut
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Agent-Field/CodeAF#1679 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in Agent-Field/CodeAF
Ähnliche Issues
-
[flaky test] TestValidatorCommitterDropsEmptyStatusBatch: submits to the mock VC before its stream is registeredEvtl. vergeben @liran-funaro hat das heute übernommen. Offencoordinator flaky-test race-condition testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
hyperledger/fabric-x-committer#876 ·
Maintainer antworten meist innerhalb von 1 Tag
-
kind/features
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
TencentBlueKing/bk-nodemgr#3804 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
cloudnative-pg/plugin-barman-cloud#1187 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[deliverclient] Remove the unused common/deliverclient packageEvtl. vergeben @liran-funaro hat das heute übernommen. Offencode-hygiene
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
hyperledger/fabric-x-common#236 ·
Maintainer antworten meist innerhalb von 1 Tag
-
consensus feature I2 S4 U2
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag