docs: record the supervisor-as-second-writer mistake from RD-24
A task notification fires every time an agent stops with no live children, including a pause mid-task. RD-24's agent paused and notified; the supervisor read that as abandonment, took over the tree, ran the gate and edited the ticket Status while the agent was still working. The agent resumed, correctly detected a second writer, and refused to commit. This is the mirror image of the RD-17 race the section above records: there a fresh supervisor met a running agent, here a running agent met its own supervisor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -294,3 +294,18 @@ git log --oneline -1 # did an agent already commit the ticket?
|
|||||||
|
|
||||||
If the tree is dirty and this session did not dirty it, find the agent before you write a
|
If the tree is dirty and this session did not dirty it, find the agent before you write a
|
||||||
ticket around the evidence it leaves.
|
ticket around the evidence it leaves.
|
||||||
|
|
||||||
|
**The mirror-image mistake, made during RD-24: the supervisor became the second writer.** A
|
||||||
|
task notification fires every time an agent stops with **no live children — including a pause
|
||||||
|
mid-task**. RD-24's agent paused, said it was waiting on a check, and notified. The supervisor
|
||||||
|
read that as an abandoned task, took over the working tree, ran the gate and edited the ticket
|
||||||
|
`Status:` — while the agent was still running. The agent then resumed, correctly detected a
|
||||||
|
second process writing its tree, and refused to commit.
|
||||||
|
|
||||||
|
Nothing was lost, because the agent stopped instead of committing. Two rules follow:
|
||||||
|
|
||||||
|
- **A notification is not proof the work is finished.** A finished agent hands back a report
|
||||||
|
with acceptance numbers. "I am waiting for X" is a pause.
|
||||||
|
- **Before taking over an agent's tree, confirm the agent is gone**: `ps aux | grep "npm run"`,
|
||||||
|
and check whether its own result has arrived. Taking over is a real option — RD-24 was
|
||||||
|
finished that way — but it must be a decision, not an assumption.
|
||||||
|
|||||||
Reference in New Issue
Block a user