Implementation sessions lack workitem.write, so a finished WI cannot advance its own phase and is re-dispatched forever — six sessions burned re-verifying one completed fix #500
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
toasterson/Anima!500
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/wi-019fcce5-implementation-sessions-lack-workitem-wr"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Anima work item
019fcce5-432c-7c11-8b07-549b655bde31.What happened
akh-medu WI-274 (
019fba6a-dba7-7d01-bd43-fc51a62587b9) was fully implemented and CI-green.Its sixth session posted this:
So: the work finished, the session could not record that it finished, the WI stayed in
working, and the scheduler re-dispatched it. Six times. Each session re-cloned,re-read, re-verified and re-pushed the same completed change — five full model-token turns
spent producing nothing new, plus five CI runs on an already-green head.
An operator (me) merged it by hand; without that it would still be looping.
Why it is invisible
Nothing distinguishes this from a WI legitimately still in progress.
current_phasestaysworking, sessions keep completing, PRs keep updating. The only trace is the agent sayingso in prose in the thread — which no dispatch logic reads. From metrics, six productive
sessions.
Required
session-scoped verb that does it (
mark_implementation_completebound to the session'sown WI) rather than broad
workitem.write. The narrow verb is preferable: a sessionshould be able to advance its own item and nothing else.
branch head, stop dispatching and park with a reason that names it. Re-running an
identical turn is never the answer.
it could not call a required tool must terminate with a distinct state naming the missing
scope — not
completed. Compare019fc9a5-1ff7(failed push also reported ascompleted): the same class of silent-failure-looks-like-success.requires end-to-end. If closing the loop needs
workitem.writeand sessions never haveit, no WI can ever self-complete — meaning every completed WI to date was closed by a
human or left looping.
Acceptance
get_wi_loop_state.Cost of the current behaviour
Six sessions on one WI, at least five of them pure waste, on a lane that is already the
throughput bottleneck — plus the CI runs. This is likely not confined to WI-274; any WI
whose final session cannot self-advance will show the same pattern.
099c8dbc64to36fa2b5162WIP: Implementation sessions lack workitem.write, so a finished WI cannot advance its own phase and is re-dispatched forever — six sessions burned re-verifying one completed fixto Implementation sessions lack workitem.write, so a finished WI cannot advance its own phase and is re-dispatched forever — six sessions burned re-verifying one completed fix