A task whose plan finished just before an engine restart reads interrupted and cannot be landed
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
- 68/100
Hướng nghiên cứu
Start with reconcileSettledRun in internal/session/task_run_recover.go, then trace the retry affordance in internal/tui3/taskretry.go and plan handling in internal/session/tools_tasks.go. Seed the described recovery state in a session test and verify that a plan finished before restart remains landable through the page or tasks resolve, with the landed commit and spend preserved.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happened
On dev (seen through PR #1632 at 458d1be73, whose recovery change does not touch this path), a task whose plan finished just before its engine restarted comes back interrupted with no way to finish it.
On 2026-09-28, in a git repo, on the engine road (plain codeaf, deepseek/deepseek-v4-flash): /task write a python script count.py that counts lines in every .txt file here, and a test for it; run the test. While the roster said Running 1, the workspace's codeaf engine daemon was killed. The surface reconnected to a new engine.
The task page then read:
interrupted · 43s · $0.0018
while its own body said done · ran 43s, and that count.py and four passing tests were written (they are on the task's branch). The page offers no enter retry (pressing Enter changes nothing). Asking the conversation to land it made the model call tasks with id: "2", resolve: "accept", which answered:
No task "2" in this project
Replication
Deterministic (no model). Not yet written. The ending is decided in reconcileSettledRun (below) for a plan root whose status is done at recovery time, so a session test can seed a checkpoint with an admitted run row plus a plan store whose root is done, open the conversation, and assert what the row says and what tasks answers for its id.
Field (real models). The steps above: any key the product accepts (OPENROUTER_API_KEY or the profile's key), a cheap model, about 2 minutes and under $0.01. What makes it fire: the plan must finish before the engine dies. Kill the daemon a few seconds after the worker reports its test passing.
Where
reconcileSettledRunininternal/session/task_run_recover.go. Its default case writesthe plan finished before the restart; inspect the saved working copy before landing its changesand leaves the row interrupted.- The retry affordance in
internal/tui3/taskretry.goonly offers a retry for a failed node without a run, so an interrupted plan run gets none. - In
internal/session/tools_tasks.go, plan rows are handled for reads, butresolveandcontinuefall through to the ordinary task lookup, which cannot find a plan-only run row. That's whereNo task "2"comes from.
The fix
A task whose plan finished before a restart is either offered as finished work to land (the same resolve / accept door a finished task has), or it says what to do next and that door works. The tasks tool must never answer "No task" for a task the page is showing.
Acceptance
End to end, through the engine road: kill the engine after the plan finishes, reopen, and the task can be landed through the page or tasks resolve. The receipt names the landed commit, and the spend shown before the kill is still shown after.
- Ngôn ngữ chính
- Go
- Star
- 115
- Fork
- 14
- Merge trung bình
- 11 giờ 32 phút
- Pull request đã merge (30 ngày)
- 747
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Agent-Field/CodeAF
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Agent-Field/CodeAF#1679 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Agent-Field/CodeAF#1678 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:chat bug sev:papercut
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Agent-Field/CodeAF#1592 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:chat feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Agent-Field/CodeAF#1510 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:tests bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Agent-Field/CodeAF#1489 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Agent-Field/CodeAF
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
status: ready for dev
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
hyperledger-labs/fabric-smart-client#2004 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/datasketches-go#189 ·
Maintainer thường phản hồi trong vòng 1 ngày