A work item filed without a plan has no lane: executor is plan-only, so it silently falls to the global default #489
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!489
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/wi-019f9946-a-work-item-filed-without-a-plan-has-no"
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
019f9946-08a4-7d90-a24e-a043588747da.Problem
work_items.executoris only ever populated from the item's plan.create_work_item— gRPC and MCP alike — takes no executor argument, and there is no project-level default either (projectshas no executor column). So a work item filed directly against a project, with no plan, is created with a NULL executor and routes to whateverANIMA_SCHED_DEFAULT_EXECUTORhappens to be set to on the server pod (today:opencode).That is the normal way bugs, gap analyses and follow-ups get filed. It is how every work item filed during the 2026-07-25 fleet review was created.
Why it matters
A project assigned to a specific akh has no way to say so. Akh-Medu is meant to run on tecton — every WI that came from a plan carries
executor='tecton'— but a WI filed straight against the project carries nothing and is dispatched to the opencode container lane instead. For an akh that edits files on its own filesystem, that is not a slower path, it is the wrong one.Caught live 2026-07-25: akh-medu WI
019f9943-170b-78e0-95d8-6c9b4565d48awas filed plan-less, came out withexecutorNULL against 47 sibling WIs all set totecton, and had to be corrected by hand before it would route.Open work items with no executor, by project:
The seven Anima items in
readyare dispatchable today and will all land on the default lane regardless of what suits them — a server-side Rust change and a PWA tweak get the same executor by accident rather than by choice.Proposed fix
CreateWorkItem(gRPC + MCP), so a caller who knows the lane can say so.projectsadefault_executor, and resolve in the order: explicit argument → the item's plan → the project's default →ANIMA_SCHED_DEFAULT_EXECUTOR. This is the same shape ADR 0024 already uses for workflow resolution, and it is what makes "Akh-Medu runs on tecton" a fact the system holds rather than a convention people remember.Akh-Medu.default_executor = tectonand backfill its 10 unset drafts.Acceptance criteria
Related
019f990a-3948-7a73-9a6a-f57287250435— akh-medu WIs parking; a WI sent to the wrong lane is one more way to burn the retry budget.019f9943-170b-78e0-95d8-6c9b4565d48a— the item that surfaced this.59468beb33tob0d74dce1dWIP: A work item filed without a plan has no lane: executor is plan-only, so it silently falls to the global defaultto A work item filed without a plan has no lane: executor is plan-only, so it silently falls to the global defaultd796d2ea3eto518464ee2d518464ee2dtod42e69c1f9d42e69c1f9to6dc4a873ab