You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: update conflict handling and feedback process in documentation
- Clarified conflict reporting process for agents
- Updated user feedback steps for library changes
- Revised section titles for better clarity
- Improved instructions for branch and PR creation
Copy file name to clipboardExpand all lines: agentic/commands/update.md
+96-54Lines changed: 96 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,18 +76,26 @@ All agents run in parallel — each only touches its own library's files.
76
76
77
77
### Phase 3: Collect & Present
78
78
79
-
Agents report back via `SendMessage` (auto-delivered to you). Once all agents have reported:
80
-
81
-
1.**Present a summary to the user** for each library:
82
-
- What was changed (bullet points from agent)
83
-
- Local preview image path: `plots/{spec_id}/implementations/.update-preview/{library}/plot.png`
84
-
- Agent's self-assessment score
85
-
- Any spec changes the agent made
86
-
87
-
2.**Ask the user for feedback.** They can:
88
-
- Give per-library feedback (e.g., "matplotlib looks good, seaborn needs more contrast")
89
-
- Say **"ship"**, **"ok"**, **"looks good"**, or **"passt"** to proceed to shipping
90
-
- Say **"abort"** to cancel everything
79
+
Agents report back via `SendMessage` (auto-delivered to you). Agents may report either **completed work** (`STATUS: done`) or **a conflict** (`STATUS: conflict`). Once all agents have reported:
80
+
81
+
1.**Handle conflicts first.** If any agent reports a conflict:
82
+
- Present the conflict to the user clearly: which rule/spec is violated, what the agent suggests as alternatives
83
+
- Ask the user to decide:
84
+
-**Adjust the request** to comply with existing rules
85
+
-**Update the rule or spec** — the user tells you which file to edit and how, you make the edit, then tell the agent to proceed
86
+
-**Override** — explicitly tell the agent to proceed despite the conflict
87
+
- Send the user's decision to the agent via `SendMessage`. The agent will then continue with Step 3.
88
+
89
+
2.**Present a summary to the user** for each library that completed successfully:
90
+
- What was changed (bullet points from agent)
91
+
- Local preview image path: `plots/{spec_id}/implementations/.update-preview/{library}/plot.png`
92
+
- Agent's self-assessment score
93
+
- Any spec changes the agent made
94
+
95
+
3.**Ask the user for feedback.** They can:
96
+
- Give per-library feedback (e.g., "matplotlib looks good, seaborn needs more contrast")
97
+
- Say **"ship"**, **"ok"**, **"looks good"**, or **"passt"** to proceed to shipping
98
+
- Say **"abort"** to cancel everything
91
99
92
100
---
93
101
@@ -96,9 +104,10 @@ Agents report back via `SendMessage` (auto-delivered to you). Once all agents ha
96
104
For per-library feedback:
97
105
98
106
1. Send the feedback to the specific idle teammate via `SendMessage` (e.g., to `seaborn-updater`). This wakes them up.
99
-
2. The agent re-modifies, re-generates, reports back, and goes idle again.
100
-
3. Present updated results to the user.
101
-
4. Repeat until the user approves.
107
+
2. The agent runs its conflict check again (Step 2) on the new feedback. If it detects a conflict, it reports back with `STATUS: conflict` instead of making changes — handle as in Phase 3.
108
+
3. If no conflict, the agent re-modifies, re-generates, reports back, and goes idle again.
109
+
4. Present updated results to the user.
110
+
5. Repeat until the user approves.
102
111
103
112
---
104
113
@@ -124,7 +133,7 @@ For each updated library, edit `plots/{spec_id}/metadata/{library}.yaml`:
124
133
|`updated`| Current UTC timestamp in ISO 8601 (e.g., `2026-02-10T14:30:00+00:00`) |
125
134
|`generated_by`| Get from `CLAUDE_MODEL` env var, or detect via `claude --version` / model name |
126
135
|`python_version`| Get from `uv run python --version`|
127
-
|`library_version`| Get from `uv run python -c "import {library}; print({library}.__version__)"`|
136
+
|`library_version`| Get from `uv run python -c "from importlib.metadata import version; print(version('{package}'))"` where `{package}` is the pip package name. Mapping: `highcharts` → `highcharts-core`, `letsplot` → `lets-plot`, all others → same as `{library}`|
128
137
|`quality_score`| Set to `null` (CI review will fill this) |
129
138
| All other fields |**Keep unchanged** (including `review`, `impl_tags`, `preview_url`, etc.) |
130
139
@@ -188,77 +197,84 @@ Update `preview_url` and `preview_thumb` in the metadata YAML to point to the st
0 commit comments