раскладка av-dev повышена с канона 12 до версии 5
- три плагина слились в один `av-dev`: служебные `docs/.docs.json` и `tasks/.tasks.json` заменены на `.av-dev.toml` в корне, в гейте переехали пути трёх скриптов, вызовы скиллов переименованы по всему репозиторию - тип задачи `goal` и `ROADMAP.md` упразднены: семь целей закрыты с причинами, теги сняты, объявлена стадия `support` - метка `small`/`medium`/`large` снята из процесса — вместо «Триггеров метки» в review.md подраздел «Когда звать глубокое ревью»; следом разобран урожай doc-consistency: девять фактов сведены к одному дому
This commit is contained in:
+14
-15
@@ -26,20 +26,19 @@ from pathlib import Path
|
||||
|
||||
OUT_DIR = Path("tmp/gate")
|
||||
|
||||
# Скрипты трёх плагинов av-dev. Каждый проверяет своё и ни один не тянет
|
||||
# остальных: без своего шага дрейф соответствующего каталога перестаёт ловиться
|
||||
# молча.
|
||||
# docs.py — раскладка docs/ против канона (av-dev-docs:canon)
|
||||
# tasks.py — согласованность индексов каталога задач (av-dev-tasks:tasks)
|
||||
# openspec.py — форма openspec/config.yaml (av-dev-code:openspec)
|
||||
# Скрипты плагина av-dev. Каждый проверяет своё и ни один не тянет остальных:
|
||||
# без своего шага дрейф соответствующего каталога перестаёт ловиться молча.
|
||||
# docs.py — раскладка docs/ против канона (av-dev:canon)
|
||||
# tasks.py — согласованность индексов каталога задач (av-dev:task-track)
|
||||
# openspec.py — форма openspec/config.yaml (av-dev:code-openspec)
|
||||
# Путь берётся из каталога маркетплейса (он без хеша версии, в отличие от
|
||||
# cache/), переопределяется переменной: переустановка плагина не должна
|
||||
# требовать правки гейта. Если скрипта нет — шаг краснеет, а не пропускается:
|
||||
# молча пропущенная проверка даёт ложное ощущение проверенности.
|
||||
MARKETPLACE = Path.home() / ".claude/plugins/marketplaces/av-dev-skills"
|
||||
DOCS_PY_DEFAULT = MARKETPLACE / "av-dev-docs/skills/canon/scripts/docs.py"
|
||||
TASKS_PY_DEFAULT = MARKETPLACE / "av-dev-tasks/skills/tasks/scripts/tasks.py"
|
||||
OPENSPEC_PY_DEFAULT = MARKETPLACE / "av-dev-code/skills/openspec/scripts/openspec.py"
|
||||
DOCS_PY_DEFAULT = MARKETPLACE / "av-dev/skills/canon/scripts/docs.py"
|
||||
TASKS_PY_DEFAULT = MARKETPLACE / "av-dev/skills/task-track/scripts/tasks.py"
|
||||
OPENSPEC_PY_DEFAULT = MARKETPLACE / "av-dev/skills/code-openspec/scripts/openspec.py"
|
||||
|
||||
OK, FAIL, WARN, SKIP = "OK", "FAIL", "WARN", "SKIP"
|
||||
|
||||
@@ -219,17 +218,17 @@ def main() -> int:
|
||||
# а database.md нет» (отдельного шага er-schema поэтому больше нет).
|
||||
# База диффа обязательна: без неё сверка миграций со схемой не гоняется.
|
||||
plugin_step(
|
||||
"canon", "DOCS_PY", DOCS_PY_DEFAULT, "av-dev-docs",
|
||||
"canon", "DOCS_PY", DOCS_PY_DEFAULT, "av-dev",
|
||||
["check", "--dir", ".", "--base", base],
|
||||
"раскладка docs/ разошлась с каноном",
|
||||
)
|
||||
|
||||
# --- Каталог задач ---
|
||||
# Согласованность индексов с файлами items/: бездомная запись, строка без
|
||||
# файла, порядок секций роадмапа, сырьё не в конце секции. docs.py этого не
|
||||
# смотрит — каталог принадлежит другому плагину.
|
||||
# Согласованность беклога с файлами items/: бездомная запись, строка без
|
||||
# файла, стадия проекта, сырьё не в конце секции. docs.py этого не смотрит —
|
||||
# каталог задач он не ведёт.
|
||||
plugin_step(
|
||||
"tasks", "TASKS_PY", TASKS_PY_DEFAULT, "av-dev-tasks",
|
||||
"tasks", "TASKS_PY", TASKS_PY_DEFAULT, "av-dev",
|
||||
["check", "--dir", "tasks"],
|
||||
"индексы задач разошлись с items/",
|
||||
)
|
||||
@@ -239,7 +238,7 @@ def main() -> int:
|
||||
# а работает как пустой. Ловит это только свой шаг: docs.py про config.yaml
|
||||
# молчит с канона 10.
|
||||
plugin_step(
|
||||
"openspec", "OPENSPEC_PY", OPENSPEC_PY_DEFAULT, "av-dev-code",
|
||||
"openspec", "OPENSPEC_PY", OPENSPEC_PY_DEFAULT, "av-dev",
|
||||
["check", "--dir", "."],
|
||||
"openspec/config.yaml разошёлся с канонической формой",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user