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`. Всё на месте —
|
секция `## OpenSpec и superpowers` в `CLAUDE.md`. Всё на месте —
|
||||||
молчим. Вне git-репозитория (`.git` не найден до корня) — пропуск.
|
молчим. Вне git-репозитория (`.git` не найден до корня) — пропуск.
|
||||||
Чего-то нет — неблокирующая инъекция:
|
Чего-то нет — неблокирующая инъекция:
|
||||||
«[claude-harness] Проект <root> не подключён к обвязке: нет: … .
|
«[dsh-harness] Проект <root> не подключён к обвязке: нет: … .
|
||||||
Предложи владельцу настройку: `openspec init --tools agents`,
|
Предложи владельцу настройку: `openspec init --tools agents`,
|
||||||
`codegraph init` и секцию «OpenSpec и superpowers» в CLAUDE.md.»
|
`codegraph init` и секцию «OpenSpec и superpowers» в CLAUDE.md.»
|
||||||
(DSH-нативный текст: без `~/.claude`-путей и adopt-скрипта CC — их
|
(DSH-нативный текст: без `~/.claude`-путей и adopt-скрипта CC — их
|
||||||
@ -38,7 +38,7 @@ bootstrap).
|
|||||||
|
|
||||||
- Триггер: **новое** пользовательское сообщение текущего pre-step
|
- Триггер: **новое** пользовательское сообщение текущего pre-step
|
||||||
(`decision.messages`), source.kind === 'user', И текст не начинается с
|
(`decision.messages`), source.kind === 'user', И текст не начинается с
|
||||||
`<!-- DSH-HARNESS-` и не содержит `[claude-harness]` (фильтр собственных
|
`<!-- DSH-HARNESS-` и не содержит `[dsh-harness]` (фильтр собственных
|
||||||
инъекций — bootstrap/harness-check не считаются «первым сообщением»).
|
инъекций — bootstrap/harness-check не считаются «первым сообщением»).
|
||||||
Нет такого — инъекции нет (в т.ч. автономные раунды без нового
|
Нет такого — инъекции нет (в т.ч. автономные раунды без нового
|
||||||
сообщения).
|
сообщения).
|
||||||
@ -48,7 +48,7 @@ bootstrap).
|
|||||||
- qa: `стенд`, `прогон`, `скриншот`, `макет`;
|
- qa: `стенд`, `прогон`, `скриншот`, `макет`;
|
||||||
- analyst: `тз`, `oq`, `спека`, `методика`;
|
- analyst: `тз`, `oq`, `спека`, `методика`;
|
||||||
- dev: `срез`, `issue`, `pr`, `тест`, `миграция`.
|
- dev: `срез`, `issue`, `pr`, `тест`, `миграция`.
|
||||||
Совпадение — инъекция `[claude-harness] Роль сессии: <r>. Вызови
|
Совпадение — инъекция `[dsh-harness] Роль сессии: <r>. Вызови
|
||||||
skill role. Если не так — скажи.` Нет — инъекция вопроса (текст сочинён
|
skill role. Если не так — скажи.` Нет — инъекция вопроса (текст сочинён
|
||||||
здесь, в репо его не было): «Роль сессии неясна. Вызови skill role:
|
здесь, в репо его не было): «Роль сессии неясна. Вызови skill role:
|
||||||
dev — код, issue, PR, тест, миграция; admin — Jira, Гант, спринт;
|
dev — код, issue, PR, тест, миграция; admin — Jira, Гант, спринт;
|
||||||
@ -70,6 +70,7 @@ bootstrap).
|
|||||||
| D-7 | Текст вопроса с четырьмя вариантами сочинён в этом дизайне (в репо его не было) | Builder-check подтвердил отсутствие | Нет |
|
| D-7 | Текст вопроса с четырьмя вариантами сочинён в этом дизайне (в репо его не было) | Builder-check подтвердил отсутствие | Нет |
|
||||||
| D-8 | T3.4: в sdd-скилле предложения про TDD-порядок нет — текст добавляется с нуля (пин в тесте), а не «усиливается» | Факт 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-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**: на первом пользовательском сообщении —
|
2. **role-hint как pre-step**: на первом пользовательском сообщении —
|
||||||
ключевые слова из AGENTS.md (Jira/Гант/спринт → admin; стенд/прогон/
|
ключевые слова из AGENTS.md (Jira/Гант/спринт → admin; стенд/прогон/
|
||||||
скриншот/макет → qa; ТЗ/OQ/спека/методика → analyst; срез/issue/PR/
|
скриншот/макет → qa; ТЗ/OQ/спека/методика → analyst; срез/issue/PR/
|
||||||
тест/миграция → dev) → инъекция `[claude-harness] Роль сессии: <r>` с
|
тест/миграция → dev) → инъекция `[dsh-harness] Роль сессии: <r>` с
|
||||||
указанием вызвать `skill role`; нет совпадения — инъекция вопроса с
|
указанием вызвать `skill role`; нет совпадения — инъекция вопроса с
|
||||||
четырьмя вариантами. Один раз за сессию. Конфиг `roleHint: true`.
|
четырьмя вариантами. Один раз за сессию. Конфиг `roleHint: true`.
|
||||||
Заголовка сессии в DSH нет — сигнал берём из первого сообщения
|
Заголовка сессии в DSH нет — сигнал берём из первого сообщения
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user