скиллы пайплайна переименованы под проект
- имена task-pipeline и review-pipeline совпадали со скиллами jellybit, и вызов подхватывал чужие: там AskUserQuestion вместо блокеров и пути docs/specs - теперь healthlog-task-pipeline и healthlog-review-pipeline, ссылки обновлены в агентах и CLAUDE.md
This commit is contained in:
@@ -13,7 +13,7 @@ color: red
|
|||||||
доказывает; путь без свойства всё равно опасен.
|
доказывает; путь без свойства всё равно опасен.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Модель угроз этого проекта (не расширяй её самовольно)
|
## Модель угроз этого проекта (не расширяй её самовольно)
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ color: yellow
|
|||||||
делаешь, — его собираешь.
|
делаешь, — его собираешь.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Вход (собери до чтения диффа)
|
## Вход (собери до чтения диффа)
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
---
|
---
|
||||||
name: healthlog-review-code
|
name: healthlog-review-code
|
||||||
description: "Стадия 1 конвейера review-pipeline (во всех профилях, параллельно с healthlog-review-specs) — дешёвый applicative-проход по конвенциям healthlog, которые НЕ выражаются правилом линтера: уровень лога по адресату, единственный логирующий чекпоинт на доменной границе, трансляция доменной ошибки на внешней границе, «сохранили — значит приняли», тела запросов и секреты в логах, конфиг и его образцы, время в БД в UTC RFC 3339 через store.Now(), ULID через internal/ident и ident.Parse на границе. Механизируемое проверяет task gate, архитектуру — healthlog-review-architecture, стиль и лишнее — generative-проходы. Только чтение."
|
description: "Стадия 1 конвейера healthlog-review-pipeline (во всех профилях, параллельно с healthlog-review-specs) — дешёвый applicative-проход по конвенциям healthlog, которые НЕ выражаются правилом линтера: уровень лога по адресату, единственный логирующий чекпоинт на доменной границе, трансляция доменной ошибки на внешней границе, «сохранили — значит приняли», тела запросов и секреты в логах, конфиг и его образцы, время в БД в UTC RFC 3339 через store.Now(), ULID через internal/ident и ident.Parse на границе. Механизируемое проверяет task gate, архитектуру — healthlog-review-architecture, стиль и лишнее — generative-проходы. Только чтение."
|
||||||
tools: Read, Grep, Glob, Bash
|
tools: Read, Grep, Glob, Bash
|
||||||
model: sonnet
|
model: sonnet
|
||||||
color: blue
|
color: blue
|
||||||
---
|
---
|
||||||
|
|
||||||
Ты — проход по **прозаическим конвенциям** healthlog, стадия 1 конвейера
|
Ты — проход по **прозаическим конвенциям** healthlog, стадия 1 конвейера
|
||||||
`review-pipeline` (идёшь параллельно с `healthlog-review-specs`, во всех
|
`healthlog-review-pipeline` (идёшь параллельно с `healthlog-review-specs`, во всех
|
||||||
профилях). Твоя зона — узкая намеренно: всё, что можно проверить правилом, уже
|
профилях). Твоя зона — узкая намеренно: всё, что можно проверить правилом, уже
|
||||||
проверяет `task gate` (`.golangci.yml`: `sloglint`, `forbidigo`, `errorlint`,
|
проверяет `task gate` (`.golangci.yml`: `sloglint`, `forbidigo`, `errorlint`,
|
||||||
`depguard`), и повторять это в промпте вредно — внимание, потраченное на
|
`depguard`), и повторять это в промпте вредно — внимание, потраченное на
|
||||||
именование полей лога, не доходит до формы решения.
|
именование полей лога, не доходит до формы решения.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`. Русская проза,
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`. Русская проза,
|
||||||
идентификаторы и пути — в оригинале. Читай реальный код, ничего не выдумывай.
|
идентификаторы и пути — в оригинале. Читай реальный код, ничего не выдумывай.
|
||||||
|
|
||||||
## Что проверяешь (и больше ничего)
|
## Что проверяешь (и больше ничего)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: healthlog-review-gate
|
name: healthlog-review-gate
|
||||||
description: "Детерминированный гейт ревью healthlog — запускает task gate (build/vet/lint/gofmt/test/флаки/race/покрытие изменённых строк/миграции/образцы конфига/секреты/данные о здоровье в индексе/уязвимости) и интерпретирует вывод. Отличает новые отказы от унаследованных, находит отсутствующую верификацию (изменённые строки без покрытия, конкурентность без теста, флаки). Пока гейт красный, опиниативные проходы не запускаются. Первый проход конвейера review-pipeline, обязателен во всех профилях."
|
description: "Детерминированный гейт ревью healthlog — запускает task gate (build/vet/lint/gofmt/test/флаки/race/покрытие изменённых строк/миграции/образцы конфига/секреты/данные о здоровье в индексе/уязвимости) и интерпретирует вывод. Отличает новые отказы от унаследованных, находит отсутствующую верификацию (изменённые строки без покрытия, конкурентность без теста, флаки). Пока гейт красный, опиниативные проходы не запускаются. Первый проход конвейера healthlog-review-pipeline, обязателен во всех профилях."
|
||||||
tools: Bash, Read, Grep, Glob
|
tools: Bash, Read, Grep, Glob
|
||||||
model: sonnet
|
model: sonnet
|
||||||
color: red
|
color: red
|
||||||
@@ -12,7 +12,7 @@ color: red
|
|||||||
мнение стоит дёшево, вывод детектора гонок стоит дорого.
|
мнение стоит дёшево, вывод детектора гонок стоит дорого.
|
||||||
|
|
||||||
Выводи находки по контракту
|
Выводи находки по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`. Русская проза,
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`. Русская проза,
|
||||||
идентификаторы и команды — в оригинале.
|
идентификаторы и команды — в оригинале.
|
||||||
|
|
||||||
## Что делаешь
|
## Что делаешь
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ color: purple
|
|||||||
авторитетно, а проверить нечем. Твоя работа — превратить ощущение в оракул.
|
авторитетно, а проверить нечем. Твоя работа — превратить ощущение в оракул.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Метод
|
## Метод
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ color: purple
|
|||||||
который специально его ищет.
|
который специально его ищет.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Четыре вопроса, в этом порядке
|
## Четыре вопроса, в этом порядке
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ color: yellow
|
|||||||
симптома, который увидит владелец, и дойди до строки кода.
|
симптома, который увидит владелец, и дойди до строки кода.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Что такое «прод» здесь
|
## Что такое «прод» здесь
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ color: purple
|
|||||||
ценой того, что сперва делаешь работу заново.
|
ценой того, что сперва делаешь работу заново.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Фаза 1 — своя реализация. Существующую открывать ЗАПРЕЩЕНО
|
## Фаза 1 — своя реализация. Существующую открывать ЗАПРЕЩЕНО
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ color: purple
|
|||||||
ты **порождаешь сам** — и делаешь это до того, как увидишь код.
|
ты **порождаешь сам** — и делаешь это до того, как увидишь код.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`. Русская проза,
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`. Русская проза,
|
||||||
идентификаторы — в оригинале.
|
идентификаторы — в оригинале.
|
||||||
|
|
||||||
## Порядок фаз обязателен
|
## Порядок фаз обязателен
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ color: cyan
|
|||||||
(Spec Driven Development на OpenSpec). Оптика — требования, а не стиль кода.
|
(Spec Driven Development на OpenSpec). Оптика — требования, а не стиль кода.
|
||||||
|
|
||||||
Находки — по контракту
|
Находки — по контракту
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`. Русская проза;
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`. Русская проза;
|
||||||
идентификаторы, пути и ключевые слова спек (`SHALL`, `GIVEN/WHEN/THEN`) — в
|
идентификаторы, пути и ключевые слова спек (`SHALL`, `GIVEN/WHEN/THEN`) — в
|
||||||
оригинале. Читай реальные файлы перед выводом, ничего не выдумывай.
|
оригинале. Читай реальные файлы перед выводом, ничего не выдумывай.
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ color: green
|
|||||||
Потолок в 7 пунктов защищает код, а не читателя.
|
Потолок в 7 пунктов защищает код, а не читателя.
|
||||||
|
|
||||||
Контракт находок и формат финального отчёта —
|
Контракт находок и формат финального отчёта —
|
||||||
`.claude/skills/review-pipeline/references/finding-contract.md`.
|
`.claude/skills/healthlog-review-pipeline/references/finding-contract.md`.
|
||||||
|
|
||||||
## Вход
|
## Вход
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: review-pipeline
|
name: healthlog-review-pipeline
|
||||||
description: Конвейер ревью изменений healthlog — детерминированный гейт, сверка с дельта-спеками OpenSpec в обе стороны, generative-проходы (рубрика, независимая реализация, stdlib grounding, negative space), архитектура, враждебные постановки и обязательный триаж. Вызывается из task-pipeline (чекпоинты ревью) и отдельно — профилем design на OpenSpec-предложении ДО кода.
|
description: Конвейер ревью изменений healthlog — детерминированный гейт, сверка с дельта-спеками OpenSpec в обе стороны, generative-проходы (рубрика, независимая реализация, stdlib grounding, negative space), архитектура, враждебные постановки и обязательный триаж. Вызывается из healthlog-task-pipeline (чекпоинты ревью) и отдельно — профилем design на OpenSpec-предложении ДО кода.
|
||||||
---
|
---
|
||||||
|
|
||||||
# Конвейер ревью (healthlog)
|
# Конвейер ревью (healthlog)
|
||||||
@@ -191,7 +191,7 @@ read-modify-write под конкурентными доставками, а т
|
|||||||
|
|
||||||
## Профиль `design` — до кода
|
## Профиль `design` — до кода
|
||||||
|
|
||||||
Запускается на шаге ревью спек (`task-pipeline` шаг 4), когда change уже имеет
|
Запускается на шаге ревью спек (`healthlog-task-pipeline` шаг 4), когда change уже имеет
|
||||||
`proposal.md` + дельта-спеки, но кода ещё нет. Состав:
|
`proposal.md` + дельта-спеки, но кода ещё нет. Состав:
|
||||||
|
|
||||||
1. `healthlog-review-specs` в режиме «дизайн ДО кода»;
|
1. `healthlog-review-specs` в режиме «дизайн ДО кода»;
|
||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
name: task-pipeline
|
name: healthlog-task-pipeline
|
||||||
description: Автономно проводит задачу healthlog через полный цикл SDD — от выбора в беклоге до коммита (opsx explore→propose→ревью спек→apply→ревью кода→archive→чистка беклога). Использовать, когда пользователь просит взять/сделать задачу из беклога или довести идею до реализации.
|
description: Автономно проводит задачу healthlog через полный цикл SDD — от выбора в беклоге до коммита (opsx explore→propose→ревью спек→apply→ревью кода→archive→чистка беклога). Использовать, когда пользователь просит взять/сделать задачу из беклога или довести идею до реализации.
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ healthlog — хранилище данных о здоровье, у котор
|
|||||||
|
|
||||||
### 4. (Нетривиальная) Ревью предложения — профиль `design`, ДО кода
|
### 4. (Нетривиальная) Ревью предложения — профиль `design`, ДО кода
|
||||||
|
|
||||||
Первый чекпоинт ревью-процесса. Вызови Skill **`review-pipeline`** с профилем
|
Первый чекпоинт ревью-процесса. Вызови Skill **`healthlog-review-pipeline`** с профилем
|
||||||
`design` и ссылкой на change `<id>`. Он запустит `healthlog-review-specs` (режим
|
`design` и ссылкой на change `<id>`. Он запустит `healthlog-review-specs` (режим
|
||||||
«дизайн/спеки ДО кода»), `healthlog-review-rubric` (фаза 1: приёмочные критерии
|
«дизайн/спеки ДО кода»), `healthlog-review-rubric` (фаза 1: приёмочные критерии
|
||||||
для задуманного узла), `healthlog-review-idiom` и `healthlog-review-architecture`
|
для задуманного узла), `healthlog-review-idiom` и `healthlog-review-architecture`
|
||||||
@@ -149,9 +149,9 @@ healthlog — хранилище данных о здоровье, у котор
|
|||||||
**Сервис не оставляем лежать.** Если `task restart` упал — почини или откати
|
**Сервис не оставляем лежать.** Если `task restart` упал — почини или откати
|
||||||
до конца шага: телефон продолжает слать всё это время.
|
до конца шага: телефон продолжает слать всё это время.
|
||||||
|
|
||||||
### 7. Ревью кода — Skill `review-pipeline`
|
### 7. Ревью кода — Skill `healthlog-review-pipeline`
|
||||||
|
|
||||||
Второй чекпоинт. Вызови Skill **`review-pipeline`**, дав ссылку на change
|
Второй чекпоинт. Вызови Skill **`healthlog-review-pipeline`**, дав ссылку на change
|
||||||
`<id>`, базу диффа и профиль. Профиль выбирается по факту изменения, а не по
|
`<id>`, базу диффа и профиль. Профиль выбирается по факту изменения, а не по
|
||||||
ощущению важности (правило — в самом скилле):
|
ощущению важности (правило — в самом скилле):
|
||||||
|
|
||||||
@@ -79,9 +79,9 @@ Module path — `git.vakhrushev.me/av/healthlog`.
|
|||||||
Задачи — в [docs/backlog](docs/backlog/README.md) (один файл на задачу, индекс
|
Задачи — в [docs/backlog](docs/backlog/README.md) (один файл на задачу, индекс
|
||||||
производен). Порядок и его обоснование — в [docs/plan.md](docs/plan.md).
|
производен). Порядок и его обоснование — в [docs/plan.md](docs/plan.md).
|
||||||
|
|
||||||
Работа над задачей идёт скиллом `task-pipeline`: беклог → `opsx:explore` →
|
Работа над задачей идёт скиллом `healthlog-task-pipeline`: беклог → `opsx:explore` →
|
||||||
`opsx:propose` → ревью спек (профиль `design`) → `opsx:apply` → ревью кода →
|
`opsx:propose` → ревью спек (профиль `design`) → `opsx:apply` → ревью кода →
|
||||||
`opsx:archive` → чистка беклога → коммит. Ревью — скилл `review-pipeline`,
|
`opsx:archive` → чистка беклога → коммит. Ревью — скилл `healthlog-review-pipeline`,
|
||||||
проходы — агенты `healthlog-review-*`.
|
проходы — агенты `healthlog-review-*`.
|
||||||
|
|
||||||
**Действуем автономно.** Умолчание — делать, а не спрашивать. Вопрос, который
|
**Действуем автономно.** Умолчание — делать, а не спрашивать. Вопрос, который
|
||||||
|
|||||||
Reference in New Issue
Block a user