DSH: enforce upstream loop — builder-check, human approve, plan gate #59

Closed
opened 2026-10-24 18:17:45 +03:00 by aep · 2 comments
Owner

Уточнение

Этот луп уже есть в superpowers 7.0.0; отдельную фичу/скилл делать не нужно:

  • brainstorming: written design → fresh builder-check subagent (builder-check-prompt.md) → HARD-GATE human approval → writing-plans;
  • writing-plans: план → self-review → human review/approval → исполнение;
  • sdd / subagent-driven-development: task review, fix loop, final review.

Evidence — 2026-10-24, сессия ce9187ca

Луп не произошёл:

  • brainstorming загружен, builder-check-prompt.md в ~/.dsh/skills/brainstorming/ есть;
  • builder-check не диспатчился; proposal/spec/design написаны, затем сразу writing-plans и план;
  • спека и план показаны владельцу одним пакетом, план уже существовал;
  • когда владелец спросил про гейт, модель предложила builder-check, но назвала его «вхолостую» и сняла предложение;
  • «запускай таску» прозвучало, когда план уже был написан.

Причина: brainstorming — инструкция, а не технический guard; модель может пропустить шаг и рационализировать. Это не баг superpowers, а gap DSH-обвязки.

Что реально проверить/починить в DSH

  • builder-check-prompt.md предполагает синхронный Task; в DSH subagent асинхронный. Нужно адаптировать dispatch/wait: закончить ход, дождаться уведомления, собрать вопросы, только потом отдавать документ владельцу.
  • В DSH нет namespace superpowers:; ссылки в skill-тексте должны разрешаться в kebab-case имена.
  • Технический гейт: план/спека должны иметь approval-маркер; sdd/writing-plans не стартуют без него. Иначе гейт остаётся пожеланием.
  • В roles/dev.md/AGENTS явно: builder-check обязателен; пропуск — только явное решение владельца, а не самооправдание модели.
  • Прогнать полный луп в temp-проекте: design → builder-check → human approve → plan → plan approve → sdd.

Non-goals

  • Новый loop-скилл или дублирование brainstorming/writing-plans.
  • Свой UI апрува.
  • Переписывание sdd: он уже начинается с готового плана.

Acceptance

  • В DSH builder-check реально запускается свежим субагентом и возвращает вопросы до human review.
  • Без approval-маркера план не создаётся (или sdd отказывается стартовать).
  • Попытка writing-plans до builder-check/approve требует явного override владельца.
  • Полный луп проходит в temp-проекте; отличия от Claude описаны.

Связано

#41 (SDD, closed), #42 (OpenSpec), #45 (briefing), #48 (roadmap).

## Уточнение Этот луп уже есть в superpowers 7.0.0; отдельную фичу/скилл делать не нужно: - `brainstorming`: written design → **fresh builder-check subagent** (`builder-check-prompt.md`) → **HARD-GATE human approval** → `writing-plans`; - `writing-plans`: план → self-review → **human review/approval** → исполнение; - `sdd` / `subagent-driven-development`: task review, fix loop, final review. ## Evidence — 2026-10-24, сессия `ce9187ca` Луп не произошёл: - `brainstorming` загружен, `builder-check-prompt.md` в `~/.dsh/skills/brainstorming/` есть; - builder-check **не диспатчился**; proposal/spec/design написаны, затем сразу `writing-plans` и план; - спека и план показаны владельцу **одним пакетом**, план уже существовал; - когда владелец спросил про гейт, модель предложила builder-check, но назвала его «вхолостую» и сняла предложение; - «запускай таску» прозвучало, когда план уже был написан. Причина: `brainstorming` — инструкция, а не технический guard; модель может пропустить шаг и рационализировать. Это не баг superpowers, а gap DSH-обвязки. ## Что реально проверить/починить в DSH - `builder-check-prompt.md` предполагает синхронный `Task`; в DSH `subagent` асинхронный. Нужно адаптировать dispatch/wait: закончить ход, дождаться уведомления, собрать вопросы, только потом отдавать документ владельцу. - В DSH нет namespace `superpowers:`; ссылки в skill-тексте должны разрешаться в kebab-case имена. - **Технический гейт:** план/спека должны иметь approval-маркер; `sdd`/`writing-plans` не стартуют без него. Иначе гейт остаётся пожеланием. - В `roles/dev.md`/AGENTS явно: builder-check обязателен; пропуск — только явное решение владельца, а не самооправдание модели. - Прогнать полный луп в temp-проекте: design → builder-check → human approve → plan → plan approve → sdd. ## Non-goals - Новый loop-скилл или дублирование `brainstorming`/`writing-plans`. - Свой UI апрува. - Переписывание `sdd`: он уже начинается с готового плана. ## Acceptance - В DSH builder-check реально запускается свежим субагентом и возвращает вопросы до human review. - Без approval-маркера план не создаётся (или `sdd` отказывается стартовать). - Попытка `writing-plans` до builder-check/approve требует явного override владельца. - Полный луп проходит в temp-проекте; отличия от Claude описаны. ## Связано #41 (SDD, closed), #42 (OpenSpec), #45 (briefing), #48 (roadmap).
aep added this to the DSH port milestone 2026-10-24 18:17:45 +03:00
aep changed title from DSH: workflow loop — spec → agent review → human review → approve → plan to DSH: upstream loop conformance — builder-check, human approve, plan gate 2026-10-24 18:19:51 +03:00
aep changed title from DSH: upstream loop conformance — builder-check, human approve, plan gate to DSH: enforce upstream loop — builder-check, human approve, plan gate 2026-10-24 18:22:06 +03:00
Author
Owner

Решение владельца 25.10.2026: следующий architectural-цикл после влития PR #69 (dsh-port-v2) — этот issue, оба гейта сразу: (1) гейт на входе — спека/план не уходят владельцу без выполненного builder-check и approval-маркера; (2) гейт на исполнении — sdd не стартует без утверждённого плана. Точки enforcement (bundle guard / pre-step / sdd-skill / approval-маркер) — в brainstorming дизайна, не здесь.

Решение владельца 25.10.2026: следующий architectural-цикл после влития PR #69 (dsh-port-v2) — этот issue, оба гейта сразу: (1) гейт на входе — спека/план не уходят владельцу без выполненного builder-check и approval-маркера; (2) гейт на исполнении — sdd не стартует без утверждённого плана. Точки enforcement (bundle guard / pre-step / sdd-skill / approval-маркер) — в brainstorming дизайна, не здесь.
Author
Owner

Закрыто: PR #74 (merge 027dd09) + архив PR #75. Гейты A/B/C, /approve, builder-check-предпосылка — в бандле; спека approval-gates в openspec/specs/. Merge — по команде владельца 25.10 («приступай к 59… без моих согласований»). Deferred: M-1, M-2, T3.4, T4.4 — в #70. Осталось владельцу: переустановить бандл и перезапустить DSH (D-13) — гейты активны только с новым бандлом.

Закрыто: PR #74 (merge 027dd09) + архив PR #75. Гейты A/B/C, /approve, builder-check-предпосылка — в бандле; спека approval-gates в openspec/specs/. Merge — по команде владельца 25.10 («приступай к 59… без моих согласований»). Deferred: M-1, M-2, T3.4, T4.4 — в #70. Осталось владельцу: переустановить бандл и перезапустить DSH (D-13) — гейты активны только с новым бандлом.
aep closed this issue 2026-10-25 01:50:17 +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#59
No description provided.