26 Commits

Author SHA1 Message Date
Andrey Epifancev
e94e842dfe fix(dsh): verify — строгая проверка scripts/*, дубликаты frontmatter, тесты (T2.1-T2.6, #69) 2026-10-24 23:50:09 +04:00
Andrey Epifancev
eef23452ea feat(dsh): вендор verify-skills — frontmatter, префиксы, висячие ссылки (#69) 2026-10-24 23:39:37 +04:00
Andrey Epifancev
3aacd48637 fix(dsh): sync — guard --out от коллизии с источником, негативы unfired/duplicated/optional (T1.6-T1.7, #69) 2026-10-24 23:33:40 +04:00
Andrey Epifancev
6c003d1d86 fix(dsh): sync — полный набор transform-ов (16), фикстура 15 скиллов (T1.1-T1.2, #69) 2026-10-24 23:25:14 +04:00
Andrey Epifancev
fce88f04d9 feat(dsh): вендор sync-from-upstream — ассертные transform-ы, staging-swap, override dsh-tools.md (#69) 2026-10-24 23:21:53 +04:00
Andrey Epifancev
c08fba2a82 fix(dsh): объяснить ошибку одностороннего маршрута subagent (#52) 2026-10-24 21:49:16 +04:00
Andrey Epifancev
4054e13806 fix(dsh): валидировать legacy-кэш и пустой --superpowers-from (#49) 2026-10-24 21:20:29 +04:00
Andrey Epifancev
ab458b58d2 fix(dsh): ясное сообщение о невалидном источнике (#49) 2026-10-24 21:14:58 +04:00
Andrey Epifancev
3bfcc583bb feat(dsh): warn about legacy ~/.claude sources at runtime (#49) 2026-10-24 21:12:21 +04:00
Andrey Epifancev
60d68464a9 feat(dsh): DSH-owned role paths in installed instructions (#49) 2026-10-24 21:11:31 +04:00
Andrey Epifancev
05178869fb feat(dsh): install superpowers from an explicit source (#49) 2026-10-24 21:10:52 +04:00
aep
46e4c3d7ca Merge pull request 'DSH: OpenSpec — проектные скиллы, --openspec, проверка (#42)' (#60) from feat/42-dsh-openspec into main 2026-10-24 18:59:56 +03:00
Andrey Epifancev
8c0fc89bac fix(dsh): --openspec возвращает 1 при провале openspec init (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:52:36 +04:00
Andrey Epifancev
748f8e115a feat(dsh): --openspec добавляет agents-адаптер в проект (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:26:36 +04:00
Andrey Epifancev
5d0fdc4c0d fix(dsh): тест --check без openspec ищет bash через системный PATH (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:22:08 +04:00
Andrey Epifancev
9ecc3eb793 feat(dsh): --check сообщает OpenSpec CLI и agents-скиллы (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:20:42 +04:00
Andrey Epifancev
1333019ef6 feat(dsh): скиллы OpenSpec в .agents/skills проекта (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:16:19 +04:00
Andrey Epifancev
6ea3740d5f fix(dsh): run.sh чинит dsh/bundle/hooks в worktree (#56)
При core.symlinks=false новый worktree получает dsh/bundle/hooks обычным
файлом с текстом ../../hooks, и пять guard-тестов падают на BLOCKED.
run.sh перед прогоном восстанавливает симлинк (печатает строку о починке),
каталог-копию принимает как есть, незнакомое содержимое — явный FAIL.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:03:17 +04:00
Andrey Epifancev
768bc46339 fix(dsh): install.sh --roles дописывает DSH-заметку в dev.md (#53)
Установленная копия роли теперь воспроизводима: после копирования roles/
install.sh вставляет в ~/.dsh/roles/dev.md пункт «в DSH исполнение плана —
skill sdd» (после «Режим по умолчанию», с откатом в конец файла, если якоря
нет). Вставка идемпотентна: каждая установка ролей перекопирует файл и
добавляет ровно одну заметку. Общий roles/dev.md не меняется — в Claude Code
строка не действует.

--check сообщает ok/WARN про заметку; тест проверяет наличие, отсутствие
дубля после второго запуска и строку в --check. PORT.md §6 объясняет.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 18:13:28 +04:00
Andrey Epifancev
f714426b11 feat(dsh): skill sdd — асинхронный протокол исполнения плана (#41)
dsh/skills/sdd/SKILL.md: два режима контроллера (главная сессия / фоновый
субагент), проверка глубины и маршрутов моделей, диспатч и отчёт файлами,
контракт DONE/DONE_WITH_CONCERNS/NEEDS_CONTEXT/BLOCKED, ожидание через
завершение хода и уведомление, ревью задачи и fix-loop 5 раундов, ledger
с ## Findings, таблица отличий от Claude-SDD.

Тесты: frontmatter, режимы, инструменты, маршруты, ledger, отсутствие
job_output как ожидания; install.test.mjs ждёт два локальных skill.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 17:40:24 +04:00
Andrey Epifancev
2bee63d305 feat(dsh): overlay профиля — model selection и maxDepth 2 (#41)
dsh/subagent-models.yml — opt-in overlay: subagent-model-selection-settings с
маршрутами deepseek-flash/deepseek-v4-pro и subagent.maxDepth: 2. В бандл не
входит: строки нет в headless, включённый флаг ломает загрузку.

install.sh --check сообщает overlay и находит maxDepth: 2 в патче профиля.
PORT.md §5 — как включить и что это даёт; §7/§8 обновлены.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 17:37:54 +04:00
Andrey Epifancev
ed13705cd1 feat(dsh): model-invocable role loader (#39) 2026-10-24 16:30:25 +04:00
Andrey Epifancev
7767c5c3d7 feat(dsh): отвязать skills и roles от ~/.claude (#37) 2026-10-24 16:20:17 +04:00
Andrey Epifancev
9412bd18e2 fix(dsh): сообщения хуков без namespace superpowers: 2026-10-24 15:42:49 +04:00
Andrey Epifancev
7665218247 fix(dsh): убрать импорты DSH-пакетов из бандла 2026-10-24 15:31:39 +04:00
Andrey Epifancev
16a9739759 feat(dsh): каркас порта claude-harness на DeepSeek Harness 2026-10-24 14:59:03 +04:00