108 Commits

Author SHA1 Message Date
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
Andrey Epifancev
16a9739759 feat(dsh): каркас порта claude-harness на DeepSeek Harness 2026-10-24 14:59:03 +04:00
aep
613f843d73 Merge pull request 'Ретро 2026-10-24: cc-harness — первый прогон /harness-retro (#33)' (#34) from retro/2026-10-24 into main 2026-10-24 09:28:58 +03:00
203436b9c2 docs(retro): решения владельца 24.10 — бэклог B13–B17 принят; CLAUDE.md «Текущая работа» (#33)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:26:29 +04:00
bdaee66dfc docs(retro): ретро 2026-10-24 по cc-harness — первый прогон /harness-retro (#33)
Срез с 2026-10-11 (2 сессии): метрики и сравнение с 11.10, 6 блокировок размечены в корпус (135/135), хвостов нет, поправки владельца; находки RT-21…RT-25, бэклог B13–B17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:21:40 +04:00
aep
c7934fb9f3 Merge pull request 'Архив OpenSpec harness-retro → openspec/specs/harness-retro, hook-guards (#29)' (#32) from chore/archive-harness-retro into main 2026-10-24 09:15:05 +03:00
76e2d9e884 chore(openspec): архив harness-retro, спека harness-retro в openspec/specs, hook-guards обновлена (#29)
openspec archive harness-retro: change → openspec/changes/archive/2026-10-24-harness-retro/; openspec/specs/harness-retro/spec.md (22 требования), hook-guards — MODIFIED «Регрессионный корпус хуков»; известные ошибки корпуса вынесены в отдельное требование, чтобы текст требования был ≤ 500 символов (validate --strict).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:11:55 +04:00
aep
1697c77a83 Merge pull request 'B12: /harness-retro — срез метрик, поправки владельца, хвосты закрытия, корпус по сегментам (#29, 0.6.0)' (#30) from feat/29-harness-retro into main 2026-10-24 09:07:59 +03:00
132504520b feat(retro): «сделай сам» — признак поправки владельца (H-1, PR #30)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:07:26 +04:00
ced700e65f docs: CHANGELOG 0.6.0 — сабагенты, период по записям, --from (#29)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:01:19 +04:00
3d2ce3f41d fix(retro): финальное ревью — сабагенты, период по записям, разбор Bash, redact до обрезки, --from (#29)
- C-1: транскрипты сабагентов (<сессия>/subagents/*.jsonl) вливаются в
  сессию-родителя — ходы, токены, инструменты, codegraph, блокировки,
  отказы; промпты, роль, стартовый контекст — только из основного.
  hook_blocks_export.py выгружает их блокировки с сессией-родителем.
- I-7: период режется по меткам времени записей; сессия на стыке
  делится между ретро, стартовый контекст — если первый ход в периоде.
- I-1: простые команды Bash — shlex с punctuation_chars, «|» в кавычках
  команду не делит. I-2: правило src/ ловит и сам каталог src.
- I-3: clip() — redact до обрезки (кандидаты, выгрузка), роль — redact.
- I-4: без --since период берётся из существующего --out; --from рисует
  «Цифры» из сохранённого среза. SKILL.md передаёт период явно.
- I-5: выгрузка ретро без разметки — сборка корпуса падает.
- I-6: сводка компакции — не промпт; «перечитай» — побуждение перечитать.
- 2026-10-11.metrics.json: несравнимое помечено (без сабагентов, широкий
  «перечитай»). Спека и design.md (Decisions) обновлены.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:59:41 +04:00