85 lines
5.8 KiB
Markdown
85 lines
5.8 KiB
Markdown
# Proposal: DSH port v2 — доставка superpowers вариантом C и чистка трекера
|
||
|
||
Issue: #69. Источники: ревью обвязки 24.10.2026 (находки RV-1, RV-6, RV-11),
|
||
[LayneChai/superpowers-dsh](https://github.com/LayneChai/superpowers-dsh) (MIT),
|
||
решение владельца 24.10.2026 «вариант C».
|
||
|
||
Статус: **черновик** — ждёт ответов владельца (раздел «Открытые вопросы»).
|
||
|
||
## Why
|
||
|
||
Доставка superpowers-скиллов в DSH изобретена заново: `dsh/install.sh --skills`
|
||
копирует клонированный апстрим **без пина и без адаптации текста** (RV-1).
|
||
Следствия:
|
||
|
||
- установка невоспроизводима: семантика скиллов меняется между релизами
|
||
obra/superpowers, у нас нет ни пина, ни сверки;
|
||
- текст скиллов не адаптирован под DSH: внутри остаются
|
||
`superpowers:`-префиксы и ссылки на чужие harness-ы, которые закрывает
|
||
только наш runtime-append `dsh-tools.md`;
|
||
- нет compat-чека против установленного DSH SDK (RV-11): после апгрейда DSH
|
||
перепроверка ручная;
|
||
- apстрим уже выпустил v7.0.1, а существующий готовый порт
|
||
LayneChai/superpowers-dsh пинится на v7.0.0 — зависеть от его каденса
|
||
значит застрять (замерено 24.10.2026: теги upstream — v7.0.1 свежий);
|
||
- трекер зарос: 23 открытых issue, 2 открытых PR, 4 worktree, из них
|
||
2 парковки без PR; roadmap #48 и хвосты #5/#13/#21/#28/#31 дублируют
|
||
друг друга.
|
||
|
||
## What Changes
|
||
|
||
**Вариант C** — взять машинерию готового порта как форк/вендор, но sync
|
||
гонять самим по своему каденсу:
|
||
|
||
- В `dsh/sync/` вендорятся `scripts/sync-from-upstream.mjs`,
|
||
`scripts/verify-skills.mjs`, `scripts/check-dsh-compat.mjs` из
|
||
LayneChai/superpowers-dsh (MIT) с адаптацией путей и transform-ов под
|
||
наш `dsh-tools.md`.
|
||
- Пин на тег obra/superpowers (v7.0.1 на момент плана) живёт в репозитории,
|
||
а не в голове: `DSH_SUPERPOWERS_REF`, переменная в `dsh/install.sh` и в
|
||
sync-скрипте. #67 (авто-pull unpinned HEAD) отменяется — rejected.
|
||
- `dsh/install.sh --skills` перестаёт копировать сырой апстрим: fetch
|
||
пина → прогон sync с ассертами → копирование адаптированного дерева.
|
||
`--superpowers-from` остаётся для офлайна и разработки. Legacy-фолбэки
|
||
`~/.claude/*` остаются до #66 и удаляются по нему.
|
||
- Bootstrap-инъекция `using-superpowers` остаётся в нашем бандле; источник
|
||
текста — synced-копия `$DSH_HOME/skills` (единая точка, как сейчас).
|
||
- Compat-чек (решение владельца): **самопроверка бандла внутри DSH**
|
||
(активация + команда; контракт guard/pre-step/commands/surface) +
|
||
терминальный verify synced-скиллов в `--check`. Вендорный
|
||
check-dsh-compat не берём (SDK в asar, терминал всегда SKIPPED).
|
||
- Ритм: issue на каждый релиз upstream (sync → тесты → PR), самопроверка
|
||
после каждого апгрейда DSH.
|
||
|
||
**Чистка трекера** (схема на подтверждение, issue #69):
|
||
|
||
- закрыть #48 (заменён #69), #67 (rejected), #47 (решение зафиксировано
|
||
в design.md);
|
||
- свести follow-ups #5/#13/#21/#28/#31 в одну сводную issue «Сводка
|
||
отложенных находок обвязки» (это же закрывает B16);
|
||
- #43–#46, #59, #62, #63, #66 становятся задачами плана; #63 — кандидат
|
||
в bounded-задачу до старта плана;
|
||
- судьба PR #18/#8 и парковок `.wt/guard`, `.wt/aura-design`,
|
||
`.wt/feature-pane`, `dsh-superpowers-git` — за владельцем.
|
||
|
||
## Impact
|
||
|
||
- Affected: `dsh/install.sh`, `dsh/sync/` (новое), `dsh/README.md`,
|
||
`dsh/PORT.md`, `openspec/specs/dsh-install` (дельта), трекер Gitea,
|
||
бандл (аддитивно: активационный assert + команда самопроверки,
|
||
существующее поведение не меняется).
|
||
- CC-сторона хуков — вне скоупа, кроме #63 (bounded-задача до плана,
|
||
решение владельца 24.10.2026).
|
||
- Breaking: `--skills` начинает требовать сеть для fetch пина (кроме
|
||
`--superpowers-from`); #67 отменён.
|
||
- Риски: см. design.md.
|
||
|
||
## Открытые вопросы (к владельцу) — решены 24.10.2026
|
||
|
||
1. ~~Что в DSH-сессии спотыкало сильнее всего~~ — ответ «пока трудно
|
||
сказать, идёт разработка только самого харнеса» → design.md D-8.
|
||
2. ~~Подтверждение схемы чистки трекера~~ — подтверждено («чисти»),
|
||
выполнено 24.10.2026: #70, закрыты #5/#13/#21/#28/#31/#48/#47/#67,
|
||
парковки удалены.
|
||
3. ~~#63 bounded-задачей до плана~~ — да → design.md D-10.
|