fix(dsh): follow-ups #49 — legacy-роли тест, python3-guard, очистка скиллов, регрессия O-1 (#66) #84

Merged
aep merged 1 commits from feat/66-followups-49 into main 2026-10-25 13:41:07 +03:00
Owner

Follow-ups из #49

M-1 — тест предупреждения о legacy-ролях

Интеграционный тест в selfcheck.test.mjs: apply() с rolesDir под ~/.claude/roles логирует legacy Claude Code source in use for roles. Поведение существовало, было без теста.

M-2 — --global без python3

install_global() теперь падает с FAIL: python3 is required for --global до записи AGENTS.md (раньше python3 - <<'PY' мог дать усечённый файл).

M-3 — удаление скиллов, исчезнувших в апстриме

copy_skills_from() ведёт манифест $DSH_HOME/.superpowers-manifest; каталог скилла из старого манифеста, отсутствующий в новом наборе, удаляется. Локальные скиллы (role, sdd) не затрагиваются.

O-1 — уже закрыт #63, добавлена регрессия

git worktree add <path> -b chore/x больше не блокируется (починили коммиты 8d8dd89/e064de7 в #63). Добавлен регрессионный замок в test-hook-guard-main.sh.

Верификация

  • bash dsh/tests/run.sh — 205/205
  • bash tests/run.sh — 641/0

Rulings

  • M-3: реальный сценарий «скилл исчез в апстриме» через explicit/pinned sync недостижим — sync падает на смене набора (строгое равенство UPSTREAM_SKILLS, 15 имён). Тест проверяет механизм манифеста; сработает после осознанного обновления UPSTREAM_SKILLS или на legacy-фолбэке.

Close: #66

## Follow-ups из #49 ### M-1 — тест предупреждения о legacy-ролях Интеграционный тест в `selfcheck.test.mjs`: `apply()` с `rolesDir` под `~/.claude/roles` логирует `legacy Claude Code source in use for roles`. Поведение существовало, было без теста. ### M-2 — `--global` без python3 `install_global()` теперь падает с `FAIL: python3 is required for --global` до записи `AGENTS.md` (раньше `python3 - <<'PY'` мог дать усечённый файл). ### M-3 — удаление скиллов, исчезнувших в апстриме `copy_skills_from()` ведёт манифест `$DSH_HOME/.superpowers-manifest`; каталог скилла из старого манифеста, отсутствующий в новом наборе, удаляется. Локальные скиллы (role, sdd) не затрагиваются. ### O-1 — уже закрыт #63, добавлена регрессия `git worktree add <path> -b chore/x` больше не блокируется (починили коммиты `8d8dd89`/`e064de7` в #63). Добавлен регрессионный замок в `test-hook-guard-main.sh`. ## Верификация - `bash dsh/tests/run.sh` — 205/205 - `bash tests/run.sh` — 641/0 ## Rulings - M-3: реальный сценарий «скилл исчез в апстриме» через explicit/pinned sync недостижим — sync падает на смене набора (строгое равенство `UPSTREAM_SKILLS`, 15 имён). Тест проверяет механизм манифеста; сработает после осознанного обновления `UPSTREAM_SKILLS` или на legacy-фолбэке. Close: #66
aep added 1 commit 2026-10-25 13:34:54 +03:00
aep merged commit ea63b3da60 into main 2026-10-25 13:41:07 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#84
No description provided.