From cd3c94472dd3d304d6ef87842921d39b6aa4560e Mon Sep 17 00:00:00 2001 From: calvin-archastro Date: Wed, 21 Oct 2026 20:09:17 -0700 Subject: [PATCH] fix(skills): plan-collab undo reports undone and reviewed A local end-to-end run showed the page keeps an undone run unreviewed, and approval blocked, unless run.status carries `undone: true` and `reviewed: true`. The skill only said "send run.status". firstlanding PR 19524 also makes the page treat `undone` as reviewed; sending both works with pages before and after it. Co-Authored-By: Claude Opus 5.5 (1M context) --- plan-collab/SKILL.md | 9 ++++++++- plugins/antigravity/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/claude/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/codex/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/copilot/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/cursor/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/grok/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/opencode/skills/plan-collab/SKILL.md | 9 ++++++++- plugins/pi/skills/plan-collab/SKILL.md | 9 ++++++++- 9 files changed, 72 insertions(+), 9 deletions(-) diff --git a/plan-collab/SKILL.md b/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plan-collab/SKILL.md +++ b/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/antigravity/skills/plan-collab/SKILL.md b/plugins/antigravity/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/antigravity/skills/plan-collab/SKILL.md +++ b/plugins/antigravity/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/claude/skills/plan-collab/SKILL.md b/plugins/claude/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/claude/skills/plan-collab/SKILL.md +++ b/plugins/claude/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/codex/skills/plan-collab/SKILL.md b/plugins/codex/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/codex/skills/plan-collab/SKILL.md +++ b/plugins/codex/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/copilot/skills/plan-collab/SKILL.md b/plugins/copilot/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/copilot/skills/plan-collab/SKILL.md +++ b/plugins/copilot/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/cursor/skills/plan-collab/SKILL.md b/plugins/cursor/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/cursor/skills/plan-collab/SKILL.md +++ b/plugins/cursor/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/grok/skills/plan-collab/SKILL.md b/plugins/grok/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/grok/skills/plan-collab/SKILL.md +++ b/plugins/grok/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/opencode/skills/plan-collab/SKILL.md b/plugins/opencode/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/opencode/skills/plan-collab/SKILL.md +++ b/plugins/opencode/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts diff --git a/plugins/pi/skills/plan-collab/SKILL.md b/plugins/pi/skills/plan-collab/SKILL.md index e3680ca..6af270d 100644 --- a/plugins/pi/skills/plan-collab/SKILL.md +++ b/plugins/pi/skills/plan-collab/SKILL.md @@ -223,7 +223,14 @@ archdev plan collab run --handle plan.collab.json --input \ - Use `stopped` if you abandon the work. - On `run.undo`, `read`, locate the text that run wrote (its last reported ranges, shifted by later edits), and `apply` the document with exactly that - text removed. Do not undo more than that run. Then send `run.status` for it. + text removed. Do not undo more than that run. Then send `run.status` for it + with `"undone":true` and `"reviewed":true`, keeping its `run` id; the page + keeps the run open and approval blocked until it sees them: + + ```sh + archdev plan collab run --handle plan.collab.json --input \ + '{"to":"all","payload":{"run":"r1","state":"done","steps":[{"text":"Undone","done":true}],"ranges":[],"undone":true,"reviewed":true}}' + ``` ## 6. File conflicts