Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Checker spend ceiling is shared by the whole run, and the run still says done

Đang mở
#1,572 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
backend, cli

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area:session bug sev:critical

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

  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 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 files issue_01.go … issue_20.go, each with one trivial function and a failing test, and commit.
  5. codeaf, then /task Fix every failing test, one part per file issue_NN.go, with a check on every part.
  6. When the run lands, read its plan store (plandb list in the run, or the tasks table of the run's plandb.db): count check: rows with failed: 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 ended done.
  • internal/config/crewspend.go:100-118: CrewSeatCeilings returns one ceiling for the crewroute.Checker seat ("THE CEILING BELONGS TO THE SEAT"); crewspend.go:125 is 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

Ngôn ngữ chính
Go
Star
115
Fork
14
Merge trung bình
9 giờ 37 phút
Pull request đã merge (30 ngày)
755

Chuẩn bị môi trường

Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Agent-Field/CodeAF

Tất cả issue của Agent-Field/CodeAF

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.