docs(openspec): dsh-prestep — префикс инъекций [dsh-harness] (D-10, DSH-автономность)
This commit is contained in:
parent
459bd400c9
commit
c856af4ceb
@ -26,7 +26,7 @@ bootstrap).
|
||||
секция `## OpenSpec и superpowers` в `CLAUDE.md`. Всё на месте —
|
||||
молчим. Вне git-репозитория (`.git` не найден до корня) — пропуск.
|
||||
Чего-то нет — неблокирующая инъекция:
|
||||
«[claude-harness] Проект <root> не подключён к обвязке: нет: … .
|
||||
«[dsh-harness] Проект <root> не подключён к обвязке: нет: … .
|
||||
Предложи владельцу настройку: `openspec init --tools agents`,
|
||||
`codegraph init` и секцию «OpenSpec и superpowers» в CLAUDE.md.»
|
||||
(DSH-нативный текст: без `~/.claude`-путей и adopt-скрипта CC — их
|
||||
@ -38,7 +38,7 @@ bootstrap).
|
||||
|
||||
- Триггер: **новое** пользовательское сообщение текущего pre-step
|
||||
(`decision.messages`), source.kind === 'user', И текст не начинается с
|
||||
`<!-- DSH-HARNESS-` и не содержит `[claude-harness]` (фильтр собственных
|
||||
`<!-- DSH-HARNESS-` и не содержит `[dsh-harness]` (фильтр собственных
|
||||
инъекций — bootstrap/harness-check не считаются «первым сообщением»).
|
||||
Нет такого — инъекции нет (в т.ч. автономные раунды без нового
|
||||
сообщения).
|
||||
@ -48,7 +48,7 @@ bootstrap).
|
||||
- qa: `стенд`, `прогон`, `скриншот`, `макет`;
|
||||
- analyst: `тз`, `oq`, `спека`, `методика`;
|
||||
- dev: `срез`, `issue`, `pr`, `тест`, `миграция`.
|
||||
Совпадение — инъекция `[claude-harness] Роль сессии: <r>. Вызови
|
||||
Совпадение — инъекция `[dsh-harness] Роль сессии: <r>. Вызови
|
||||
skill role. Если не так — скажи.` Нет — инъекция вопроса (текст сочинён
|
||||
здесь, в репо его не было): «Роль сессии неясна. Вызови skill role:
|
||||
dev — код, issue, PR, тест, миграция; admin — Jira, Гант, спринт;
|
||||
@ -70,6 +70,7 @@ bootstrap).
|
||||
| D-7 | Текст вопроса с четырьмя вариантами сочинён в этом дизайне (в репо его не было) | Builder-check подтвердил отсутствие | Нет |
|
||||
| D-8 | T3.4: в sdd-скилле предложения про TDD-порядок нет — текст добавляется с нуля (пин в тесте), а не «усиливается» | Факт builder-check | Нет |
|
||||
| D-9 | DSH-автономность (замечание владельца 25.10): в текстах и сигналах дизайна нет CC-артефактов — ни `~/.claude`-путей, ни `adopt-project.sh`, ни `.claude/code-paths`; CC-хуки harness-check.sh/role-hint.sh живут только для CC-сессий; DSH-порт adopt-скрипта — отдельная фича (non-goal этого change) | Порт должен жить самостоятельно; CC-сторона — параллельный мир | Подключение проекта в DSH остаётся ручным до порта adopt-скрипта — инъекция даёт точный список шагов |
|
||||
| D-10 | Префикс DSH-инъекций — `[dsh-harness]` (не `[claude-harness]`); фильтр собственных сообщений — по нему и по `<!-- DSH-HARNESS-` | Имя бандла — dsh-harness; старый префикс — след CC-происхождения | Установленный AGENTS.md пока содержит `[claude-harness]` — фильтр учитывает оба префикса до обновления install.sh |
|
||||
|
||||
## Тесты (идеи для плана)
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ AGENTS.md). Плюс три мелких follow-ups из #42 (#62: T2.1 — PATH
|
||||
2. **role-hint как pre-step**: на первом пользовательском сообщении —
|
||||
ключевые слова из AGENTS.md (Jira/Гант/спринт → admin; стенд/прогон/
|
||||
скриншот/макет → qa; ТЗ/OQ/спека/методика → analyst; срез/issue/PR/
|
||||
тест/миграция → dev) → инъекция `[claude-harness] Роль сессии: <r>` с
|
||||
тест/миграция → dev) → инъекция `[dsh-harness] Роль сессии: <r>` с
|
||||
указанием вызвать `skill role`; нет совпадения — инъекция вопроса с
|
||||
четырьмя вариантами. Один раз за сессию. Конфиг `roleHint: true`.
|
||||
Заголовка сессии в DSH нет — сигнал берём из первого сообщения
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user