agents: claim tickets by comment, never by assignment #8
No reviewers
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wontfix
needs-info
needs-triage
ready-for-agent
ready-for-human
review/merge-ready
review/needs-fix
review/needs-human
review/needs-review
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
olympus/infra-tracker!8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "hermes/claim-not-assign"
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?
Summary
One doc changed:
docs/agents/issue-tracker.md(the Wayfinding operationssection). Assignment stops being the claim signal, and the frontier query is
written as the one call it takes.
Evidence
/wayfinderon a frontier ticket stalled — theticket was pre-assigned by a human, which the doc equated with "claimed", so the
session could not tell takeable from taken, and it re-derived the blocking
direction by hand. Reproduced this session:
tasks_readon ticket 7 showedassignees=[pit]while the doc said "claim = assign pit", and the frontier wasonly findable by walking the whole-project
tasks_listpayload (134 KB).session to assign.
git diff mainon the branch shows only the removals above;make fmtclean.Merge Danger
Door: two-way
Doc-only;
git revertfully undoes it. No code, no infra, no behaviour.Blast Radius: documentation
Every
/wayfindersession reads this file. The change removes the assignmentstep from the workflow; there is no data or deploy side effect.
@ -59,16 +58,30 @@ Used by `/wayfinder`. The **map** is one task with **child** tasks as tickets.- A ticket is **unblocked** when every task in its `blocked` list is `done`.- Concretely: ticket 7 with `blocking=[5,6,8,9]` and `blocked=[]` blocksRemove this
@ -59,16 +58,30 @@ Used by `/wayfinder`. The **map** is one task with **child** tasks as tickets.- A ticket is **unblocked** when every task in its `blocked` list is `done`.- Concretely: ticket 7 with `blocking=[5,6,8,9]` and `blocked=[]` blocks5/6/8/9 and waits on nothing — it is frontier.- **Do not re-derive this.** `blocking=[x]` means this task blocks `x`;Remove this point
@ -69,3 +68,1 @@- **Never assign Efesto.** `bot-efesto` (user id 2) is the implementation agent;Pedro assigns him to tasks manually. A planning session must not assign him —the claim assignee is always Pedro.blocker (a non-`done` entry in its `blocked` list) or an **assignment**;remove
or an **assignment**@ -72,0 +69,4 @@first in map order wins. One call:`tasks_list` with`filter: "project_id = 3 && parenttask_id = 2 && done = false"`, then read the`related_tasks.blocked` and `assignees` of each item. Do **not** pull theno need to check assignees
@ -72,0 +71,4 @@`filter: "project_id = 3 && parenttask_id = 2 && done = false"`, then read the`related_tasks.blocked` and `assignees` of each item. Do **not** pull thewhole project (`tasks_list` with no `filter`) to find the frontier.- **Claim**: post a `task_comments_create` comment naming the session — theRemove this point
@ -72,0 +73,4 @@whole project (`tasks_list` with no `filter`) to find the frontier.- **Claim**: post a `task_comments_create` comment naming the session — thesession's first write. This is the only claim signal; agents never assign.- **Never assign anyone.** Assignment is a human act, always. A planningRemove this point
@ -72,3 +81,4 @@- **Resolve**: `task_comments_create` with the answer, `tasks_update``done: true`, then append a context pointer (gist + link) to the map'sDecisions-so-far.- **Research artifacts live on branches**, never in the working tree:Remove this point