Checker spend ceiling is shared by the whole run, and the run still says done
Les mainteneurs répondent en général sous 1 jour
@santoshkumarradha y travaille déjà.
Depuis le 27/9/2026.
- #1604 par @santoshkumarradha — fermée sans fusion
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Start with internal/config/crewspend.go:100-125 and internal/session/taskcrew.go:560, then reproduce the documented multi-part run using the dev build and inspect its plandb check rows. Trace how checker ceilings are assigned and how failed checks affect the landing summary. Done means each check has its own ceiling and any unfinished check prevents a done status and is named in the landing line.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Seen on: dev 837b2b0.
Behaviour
In a fan-out run, most per-part checks end failed: the check stopped at its spend ceiling of $0.75, three times its estimate, before it finished: 16 of 20 checks (run 1) and 9 (run 2) in one lane, 5 of 8 and 93 of 100 in another. Each run still ended done, and the summary read "All 20 issues … done". A check that could not finish is not a passed check, and the ceiling reads as per check but behaves as one pool for the run.
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 many parts:
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 create 20 small Go filesissue_01.go…issue_20.go, each with one trivial function and a failing test, and commit. codeaf, then/task Fix every failing test, one part per file issue_NN.go, with a check on every part.- When the run lands, read its plan store (
plandb listin the run, or thetaskstable of the run'splandb.db): countcheck:rows withfailed: the check stopped at its spend ceiling. Compare with the run's landing line.
Evidence
- Check rows:
failed: the check stopped at its spend ceiling of $0.75, three times its estimate, before it finished(16/20, 9/20, 5/8, 93/100 across four runs); every run endeddone. internal/config/crewspend.go:100-118:CrewSeatCeilingsreturns one ceiling for thecrewroute.Checkerseat ("THE CEILING BELONGS TO THE SEAT");crewspend.go:125is the sentence.internal/session/taskcrew.go:560:SeatCeilings: config.CrewSeatCeilings(d)is set once per crew, so every check in the run draws from it.
Guessed cause
A guess from reading the code, not a confirmed diagnosis. The seat ceiling is keyed per run (the checker seat), not per check, so later checks find it spent. Failed checks are not counted in the landing summary, so the run reports done.
Acceptance
- e2e: the 20-part run above ends with every check either holding or failing on its own merits; no check ends at a ceiling set for another part.
- e2e: a run with any check that did not finish does not end
done; its landing line names the unfinished checks.
Found while writing the public docs; manual text differences are in #1545.
🤖 Generated with Claude Code
- Langage dominant
- Go
- Étoiles
- 115
- Forks
- 14
- Merge moyen
- 16 h 30 min
- PR mergées (30 j)
- 238
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Agent-Field/CodeAF
-
area:chat bug sev:papercut
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Agent-Field/CodeAF#1805 ·
Les mainteneurs répondent en général sous 1 jour
-
area:session bug sev:papercut
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Agent-Field/CodeAF#1779 ·
Les mainteneurs répondent en général sous 1 jour
-
tasks: a stopped task's commit is signed with the chat model, not the model that did the workOuvertearea:session bug sev:papercut
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Agent-Field/CodeAF#1768 ·
Les mainteneurs répondent en général sous 1 jour
-
area:chat bug sev:papercut
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Agent-Field/CodeAF#1742 ·
Les mainteneurs répondent en général sous 1 jour
-
area:build bug sev:papercut
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Agent-Field/CodeAF#1679 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Agent-Field/CodeAF
Issues similaires
-
bug triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
mvanhorn/cli-printing-press#5146 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
AvengeMedia/DankMaterialShell#3853 ·
-
Update Go Version to >=1.27.3Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 60/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour