DSH: порт claude-harness — спайк (guard, require-plan, bootstrap, /role) #35

Closed
opened 2026-10-24 14:49:22 +03:00 by aep · 2 comments
Owner

Цель

Проверить, что ключевое поведение claude-harness переносится на DeepSeek Harness (DSH), и зафиксировать рабочий каркас порта.

Сделано

  • бандл dsh/bundle (@local/dsh-harness) с dsh.bundle.patch и локальными зависимостями;
  • guard-main / require-plan через ctx.tools.guard (синхронно, cwd из workingDirectory);
  • bootstrap using-superpowers через agent/pre-step + DSH-маппинг инструментов;
  • команда /role через ctx.commands.register + роли из ~/.claude/roles;
  • dsh/install.sh (AGENTS.md, skills, роли), dsh/mcp.codegraph.yml, dsh/PORT.md, dsh/README.md;
  • тесты dsh/tests — 26/26.

Проверено живьём

  • write и bash-редирект на main → BLOCKED [guard-main];
  • write в src/probe.ts без плана → BLOCKED [require-plan]; .bounded разрешает;
  • bootstrap виден в контексте и восстанавливается после /compact;
  • роль dev объявляется в новой сессии и ведёт по процессу роли.

Follow-ups

  • acceptance-сценарий: «Let's make a react todo list» → brainstorming до кода;
  • SDD: async subagent + send_message vs синхронный workflow;
  • briefing, harness-check, role-hint, harness-doctor;
  • CodeGraph MCP по умолчанию;
  • после merge переустановить бандл из main-чекаута.

Ветка: feat/dsh-port-spike (будет переименована под номер issue).

## Цель Проверить, что ключевое поведение claude-harness переносится на DeepSeek Harness (DSH), и зафиксировать рабочий каркас порта. ## Сделано - бандл `dsh/bundle` (`@local/dsh-harness`) с `dsh.bundle.patch` и локальными зависимостями; - guard-main / require-plan через `ctx.tools.guard` (синхронно, cwd из `workingDirectory`); - bootstrap `using-superpowers` через `agent/pre-step` + DSH-маппинг инструментов; - команда `/role` через `ctx.commands.register` + роли из `~/.claude/roles`; - `dsh/install.sh` (AGENTS.md, skills, роли), `dsh/mcp.codegraph.yml`, `dsh/PORT.md`, `dsh/README.md`; - тесты `dsh/tests` — 26/26. ## Проверено живьём - `write` и `bash`-редирект на `main` → `BLOCKED [guard-main]`; - `write` в `src/probe.ts` без плана → `BLOCKED [require-plan]`; `.bounded` разрешает; - bootstrap виден в контексте и восстанавливается после `/compact`; - роль `dev` объявляется в новой сессии и ведёт по процессу роли. ## Follow-ups - acceptance-сценарий: «Let's make a react todo list» → `brainstorming` до кода; - SDD: async `subagent` + `send_message` vs синхронный `workflow`; - `briefing`, `harness-check`, `role-hint`, `harness-doctor`; - CodeGraph MCP по умолчанию; - после merge переустановить бандл из main-чекаута. Ветка: `feat/dsh-port-spike` (будет переименована под номер issue).
Author
Owner

Ветка: feat/35-dsh-port-spike. PR: #36.

Ветка: `feat/35-dsh-port-spike`. PR: #36.
Author
Owner

Acceptance bootstrap пройден: сессия c21c5328, cwd /private/tmp/dsh-todo-acceptance, marker 6b676dd9bb8a0234, brainstorming загружен до кода. Роль автоматически не загрузилась: /role — пользовательская команда, модель её не вызывает; вынесено в #39.

Acceptance bootstrap пройден: сессия `c21c5328`, cwd `/private/tmp/dsh-todo-acceptance`, marker `6b676dd9bb8a0234`, `brainstorming` загружен до кода. Роль автоматически не загрузилась: `/role` — пользовательская команда, модель её не вызывает; вынесено в #39.
aep closed this issue 2026-10-24 15:20:05 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#35
No description provided.