From fd74570a84937766baa0e0e7d8752ad7c4eed349 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sun, 25 Oct 2026 06:06:02 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20dsh-prestep=20=E2=80=94=20?= =?UTF-8?q?=D1=81=D0=B8=D0=B3=D0=BD=D0=B0=D0=BB=D1=8B=20harness-check=20?= =?UTF-8?q?=D0=B2=D1=8B=D1=80=D0=BE=D0=B2=D0=BD=D0=B5=D0=BD=D1=8B=20=D1=81?= =?UTF-8?q?=20CC-=D1=85=D1=83=D0=BA=D0=BE=D0=BC=20(#43)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openspec/changes/dsh-prestep/design.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/openspec/changes/dsh-prestep/design.md b/openspec/changes/dsh-prestep/design.md index 845d2dc..2850fb5 100644 --- a/openspec/changes/dsh-prestep/design.md +++ b/openspec/changes/dsh-prestep/design.md @@ -20,14 +20,15 @@ bootstrap). ### harness-check -- Сигнал подключения: upward-walk от sessionCwd до корня ФС: ближайший - каталог с `.git` (или без него до упора) — «корень проекта»; в нём - `CLAUDE.md`/`AGENTS.md` содержит `OpenSpec и superpowers` ИЛИ есть - `openspec/` ИЛИ `.claude/code-paths` ИЛИ `CLAUDE.harness-section.md`. - Вне git-репозитория (`.git` не найден до корня) — пропуск, как у - CC-хука (молчит). Нет сигнала — инъекция: - «[claude-harness] Проект не подключён к обвязке: предложи владельцу - `adopt-project.sh` или спроси, нужна ли обвязка». Не блокирует. +- Сигнал подключения (как у CC-хука + DSH-специфичный): upward-walk от + sessionCwd до корня ФС: ближайший каталог с `.git` (или без него до + упора) — «корень проекта»; сигналы: `openspec/`, `.codegraph/`, + секция `## OpenSpec и superpowers` в `CLAUDE.md`, DSH-бонус — + `.claude/code-paths`. Всё на месте — молчим. Вне git-репозитория + (`.git` не найден до корня) — пропуск, как у CC-хука. Чего-то нет — + инъекция с перечнем отсутствующего и командой + `bash /adopt-project.sh ` (неблокирующая, в формате + сообщения CC-хука). HARNESS_AUTO_ADOPT — вне скоупа (D-2). - Реализация — fs-чтения (stat/readFile) по путям, без spawn git. ### role-hint