Commit 38f8640
Fix/windsurf uninstall skills cleanup (#1486)
* fix(windsurf): remove agents primitive to fix skills cleanup on uninstall
The windsurf TargetProfile declared both 'agents' and 'skills' primitives
mapped to the same deploy path .windsurf/skills/<name>/SKILL.md. This
caused BaseIntegrator.partition_managed_files to route uninstall paths
to the agents_windsurf bucket, where AgentIntegrator.sync_for_target
called unlink() on what was actually a directory. The IsADirectoryError
was swallowed silently and skill directories survived 'apm uninstall'.
Drop the 'agents' primitive from windsurf entirely. Cascade auto-invokes
any SKILL.md under .windsurf/skills/ based on the description
frontmatter, so a separate agents primitive was redundant and was the
only source of the path collision.
Also remove the now-unreachable _write_windsurf_agent_skill transformer
in AgentIntegrator and its dedicated unit tests, and update the windsurf
scope integration tests to assert the new shape.
Closes #1481
* fix(windsurf): remove agents primitive to fix skills cleanup on uninstall
The windsurf TargetProfile declared both 'agents' and 'skills' primitives
mapped to the same deploy path .windsurf/skills/<name>/SKILL.md. This
caused BaseIntegrator.partition_managed_files to route uninstall paths
to the agents_windsurf bucket, where AgentIntegrator.sync_for_target
called unlink() on what was actually a directory. The IsADirectoryError
was swallowed silently and skill directories survived 'apm uninstall'.
Drop the 'agents' primitive from windsurf entirely. Cascade auto-invokes
any SKILL.md under .windsurf/skills/ based on the description
frontmatter, so a separate agents primitive was redundant and was the
only source of the path collision.
Also remove the now-unreachable _write_windsurf_agent_skill transformer
in AgentIntegrator and its dedicated unit tests, and update the windsurf
scope integration tests to assert the new shape.
Closes #1481
* test(scope): mark agents as unsupported at user scope for windsurf
Windsurf has no native agents primitive, so supports_at_user_scope("agents")
should return False. Update test assertion and clarify comment.
* docs(agents): document removal of windsurf agent deployment path
Earlier APM versions compiled `.apm/agents/*.agent.md` to `.windsurf/skills/<name>/SKILL.md` with stripped frontmatter. That mapping has been removed: agents no longer deploy to Windsurf. Add migration caution block advising users to re-author personas as skills under `.apm/skills/<name>/SKILL.md` if they need Windsurf support. Update CHANGELOG.md to document the uninstall cleanup fix for the shared deploy path that caused empty directories to survive.
* fix(windsurf): fold Copilot review nits on PR #1486
- instruction_integrator.py: reflow the yaml.safe_load comment into a
single clear sentence so it no longer reads as an orphan continuation.
- test_windsurf_uninstall_skills.py: pivot the regression tests to
assert filesystem outcomes primarily (managed dirs removed, user dir
preserved). The 'files_removed' stats key is kept as a sanity check
because it is the established cross-integrator counter convention
(see base_integrator, hook_integrator, command_integrator,
prompt_integrator, skill_integrator, copilot_app_workflow_integrator,
agent_integrator) and is consumed by uninstall/engine.py counters;
renaming would have repo-wide blast radius for a directory-counting
edge case that affects only the windsurf skills path.
Co-authored-by: yoelabril <abril.yoel@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs(changelog): tighten #1486 entry and link convergence follow-up #1520
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Alonso Cadierno Juan <juan.alonsocadierno@gruposantander.com>
Co-authored-by: yoelabril <abril.yoel@gmail.com>
Co-authored-by: Daniel Meppiel <51440732+danielmeppiel@users.noreply.github.com>
Co-authored-by: Daniel Meppiel <danielmeppiel@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 1bc2edc commit 38f8640
15 files changed
Lines changed: 199 additions & 453 deletions
File tree
- docs/src/content/docs
- concepts
- integrations
- producer/author-primitives
- reference
- src/apm_cli/integration
- tests
- integration
- unit
- core
- integration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
Lines changed: 19 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
148 | | - | |
149 | | - | |
150 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
| 182 | + | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
185 | 196 | | |
186 | 197 | | |
187 | 198 | | |
| |||
212 | 223 | | |
213 | 224 | | |
214 | 225 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
219 | 230 | | |
220 | 231 | | |
221 | 232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
| 161 | + | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
165 | 164 | | |
166 | 165 | | |
167 | 166 | | |
| 167 | + | |
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | 171 | | |
176 | 172 | | |
177 | 173 | | |
| |||
338 | 334 | | |
339 | 335 | | |
340 | 336 | | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | 337 | | |
413 | 338 | | |
414 | 339 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
362 | | - | |
363 | | - | |
| 362 | + | |
364 | 363 | | |
365 | 364 | | |
366 | 365 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
530 | 530 | | |
531 | 531 | | |
532 | 532 | | |
533 | | - | |
534 | | - | |
535 | 533 | | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
536 | 539 | | |
537 | 540 | | |
538 | 541 | | |
| |||
546 | 549 | | |
547 | 550 | | |
548 | 551 | | |
549 | | - | |
550 | 552 | | |
551 | 553 | | |
552 | 554 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
610 | 610 | | |
611 | 611 | | |
612 | 612 | | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
664 | 617 | | |
665 | 618 | | |
666 | 619 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
610 | 610 | | |
611 | 611 | | |
612 | 612 | | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
664 | 617 | | |
665 | 618 | | |
666 | 619 | | |
| |||
0 commit comments