118 Commits

Author SHA1 Message Date
Andrey Epifancev
873e57d78f test(dsh): --check stays offline and reports the git sha (#67) 2026-10-24 21:36:13 +04:00
Andrey Epifancev
b292a38818 feat(dsh): install pulls superpowers from git (#67) 2026-10-24 21:35:56 +04:00
Andrey Epifancev
c591083b37 docs(openspec): change dsh-superpowers-git и план (#67) 2026-10-24 21:34:15 +04:00
aep
ec7c028f6b Merge pull request 'chore(openspec): архив change dsh-install-source (#49)' (#65) from chore/archive-dsh-install-source into main 2026-10-24 20:24:55 +03:00
Andrey Epifancev
044222d566 chore(openspec): архив change dsh-install-source (#49) 2026-10-24 21:24:39 +04:00
aep
9cae7e1234 Merge pull request 'DSH: установка без зависимости от ~/.claude (#49)' (#64) from feat/49-dsh-install-source into main 2026-10-24 20:23:42 +03: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
12f19b1de5 docs(openspec): приёмка установки без ~/.claude (#49) 2026-10-24 21:14:19 +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
Andrey Epifancev
15cc2e38d7 docs(openspec): change dsh-install-source и план (#49) 2026-10-24 21:09:11 +04:00
aep
de58eff8c0 Merge pull request 'chore(openspec): архив change dsh-openspec (#42)' (#61) from chore/archive-dsh-openspec into main 2026-10-24 19:00:38 +03:00
Andrey Epifancev
7db024ccf5 chore(openspec): archive dsh-openspec (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 20:00:24 +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
6876e4c6c8 docs(openspec): change dsh-openspec, план и видимость скиллов в приёмке (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:44:38 +04:00
Andrey Epifancev
ca3814f62a docs(openspec): результаты приёмки DSH-цикла (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:43:30 +04:00
Andrey Epifancev
4ecb9b13bd docs(dsh): вынести .agents/skills из дерева dsh/ в README (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:42:01 +04:00
Andrey Epifancev
cd5ef4f765 docs(dsh): OpenSpec — проектные скиллы, --openspec, проверка (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:35:27 +04:00
Andrey Epifancev
56bbfbac5f style(dsh): выровнять колонки usage для --openspec (#42)
Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:29:55 +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
aep
ff551a9a82 Merge pull request 'DSH: run.sh чинит dsh/bundle/hooks в worktree (#56)' (#58) from fix/56-hooks-symlink into main 2026-10-24 18:04:50 +03:00
aep
5d289cf5a8 Merge pull request 'chore: игнорировать __pycache__ и *.pyc (#55)' (#57) from fix/55-pycache-gitignore into main 2026-10-24 18:04:28 +03: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
37d7239efb chore: игнорировать __pycache__ и *.pyc (#55)
Тесты запускают python из docs/retro/scripts и оставляли untracked
docs/retro/scripts/__pycache__/ в main: guard-main не даёт его удалить,
дерево выглядело грязным, retro_leftovers.py считал это сигналом.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 19:00:54 +04:00
aep
67ff56190c Merge pull request 'DSH: install.sh --roles дописывает DSH-заметку в dev.md (#53)' (#54) from feat/53-dsh-role-notes into main 2026-10-24 17:14:12 +03: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
aep
36bf106962 Merge pull request 'chore(openspec): archive dsh-sdd (#41)' (#51) from chore/archive-dsh-sdd into main 2026-10-24 16:57:47 +03:00
Andrey Epifancev
3ad378c1dc chore(openspec): archive dsh-sdd (#41)
Change dsh-sdd перенесён в openspec/changes/archive/2026-10-24-dsh-sdd,
дельта dsh-sdd добавлена в openspec/specs/dsh-sdd/spec.md (7 требований).

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 17:57:35 +04:00
aep
303b7f08aa Merge pull request 'DSH: SDD — skill, overlay, пробный прогон (#41)' (#50) from feat/41-dsh-sdd-spike into main 2026-10-24 16:55:41 +03:00
Andrey Epifancev
c8b92fae01 docs(dsh): пробный прогон SDD — режимы, дефект и fix-loop (#41)
Три задачи в temp-репозитории: implementer'ы deepseek-flash, все ревью
deepseek-v4-pro. Ревьюер Task 2 независимо нашёл T2.1 (медиана чётной длины
противоречит спеке) и T2.2 (нет теста), fix-раунд 1 → 186575c, скоуп-ре-ревью
APPROVED, финальное ревью ветки APPROVED. Режим 2 (фоновый контроллер, глубина
2) проверен отдельной пробой: вызов subagent из контроллера прошёл.

Артефакты прогона — openspec/changes/dsh-sdd/trial/ (план, спека, брифы,
отчёты, ledger), результаты — design.md. По урокам прогона skill sdd уточнён:
DONE_WITH_CONCERNS при замеченном расхождении, число тестов в плане — ориентир,
повтор при ошибке валидации provider/model.

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 17:49:38 +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
ee0d876f6b docs(dsh): дизайн SDD для DSH — режимы контроллера и маршруты моделей (#41)
Design note и spec delta для фазы #41: два режима контроллера (главная
сессия / фоновый сабагент), асинхронный протокол диспатча и отчётов,
fix-loop, ledger с ## Findings, карта из двух маршрутов моделей.

Основание — измеренные ограничения DSH 0.2.1-rc.3: subagent.maxDepth по
умолчанию 1, у subagent нет provider/model без modelSelectionSettings,
выбор модели работает сразу только в workflow.agent().

Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
2026-10-24 16:59:53 +04:00
aep
d567882def Merge pull request 'DSH: model-invocable role loader (#39)' (#40) from feat/39-dsh-role-loader into main 2026-10-24 15:30:44 +03:00
Andrey Epifancev
ed13705cd1 feat(dsh): model-invocable role loader (#39) 2026-10-24 16:30:25 +04:00
aep
9cadec568c Merge pull request 'DSH: отвязать skills и roles от ~/.claude (#37)' (#38) from feat/37-dsh-decouple into main 2026-10-24 15:20:41 +03:00
Andrey Epifancev
7767c5c3d7 feat(dsh): отвязать skills и roles от ~/.claude (#37) 2026-10-24 16:20:17 +04:00
aep
e6788ccef9 Merge pull request 'DSH: порт claude-harness — спайк (guard, require-plan, bootstrap, /role)' (#36) from feat/35-dsh-port-spike into main 2026-10-24 15:20:03 +03:00
Andrey Epifancev
95dab08109 docs(dsh): acceptance bootstrap пройден, находка по роли (#39) 2026-10-24 16:18:09 +04:00
Andrey Epifancev
f422119090 docs(dsh): ветка под issue #35, статус живых проверок 2026-10-24 15:49:45 +04:00
Andrey Epifancev
9412bd18e2 fix(dsh): сообщения хуков без namespace superpowers: 2026-10-24 15:42:49 +04:00
Andrey Epifancev
a6bddfc197 docs(dsh): живая проверка guard, require-plan и bootstrap 2026-10-24 15:42:00 +04:00
Andrey Epifancev
7665218247 fix(dsh): убрать импорты DSH-пакетов из бандла 2026-10-24 15:31:39 +04:00
Andrey Epifancev
7e143be61a docs(dsh): composition smoke test в temp-профиле 2026-10-24 14:59:50 +04:00