docs(spec-audit): пересмотр под Plugin_stack_rules_v1 v1.3 — spec v1.0 → v1.1
§12 «Плагины и MCP» переписана с полным inventory и R-обоснованиями: - 12.1 Superpowers-skills (6 применяемых + 8 из карты §12.2 не релевантны) - 12.2 Встроенные плагины: FD plugin НЕ призывается (R10+R13: аудит ≠ дизайн); claude-md-management вне DoD аудита - 12.3 Внешние плагины (R10): simplify/security-review/review/init/ui-ux-pro-max — только по явному /команде, не призываются - 12.4 MCP: laravel-boost (D2/D4), playwright опционально (D3), github не используется - 12.5 CLI-тулы — не плагины, регулируются Tooling Прил. Н В §3 расширен P0 stack-нарушениями (Pravila §13.9 hard-link на R10). В §6 D1 включает Pravila/Plugin_stack_rules_v1/Tooling в зону аудита; D3 проверяет R11 иерархию источников истины UI/UX; D5 проверяет R6 стек-фильтр Vue+Vuetify и R6.1 Forest. В §7 добавлен общий R-CHECKS блок поверх P/O чеклиста. В §10 DoD self-review проверяет «0 R-нарушений в самом отчёте»; code review мета-проверяет соблюдение Plugin_stack_rules_v1 v1.3. В §13 добавлены риски misuse FD plugin / priority chain / правок Pravila. Новая §15 — карта соответствия Plugin_stack_rules_v1 v1.3 → spec (13 R-правил + Pravila §12/§13.9 + CLAUDE.md §1/§5 п.10/п.11 + Tooling Прил. Н). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -848,6 +848,7 @@ override
|
||||
банами
|
||||
банов
|
||||
SRP
|
||||
тулами
|
||||
|
||||
# v1.81 — Plugin Stack Rules v1.3 (Frontend Design + Superpowers paired stack)
|
||||
инвокация
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
# Spec: Подробный аудит проекта Лидерра — 2026-05-09
|
||||
|
||||
**Версия:** 1.0
|
||||
**Версия:** 1.1 (от 09.05.2026 — пересмотр под Plugin_stack_rules_v1 v1.3 + Pravila v1.6 + Прил. Н v1.10)
|
||||
**Дата:** 09.05.2026
|
||||
**Автор:** Claude Code (skill: superpowers:brainstorming)
|
||||
**Заказчик:** Дмитрий
|
||||
**Статус:** черновик, ждёт review заказчика
|
||||
|
||||
**История версий spec'а:**
|
||||
|
||||
- **v1.1 (09.05.2026)** — пересмотр под актуальные правила плагинов: §12 переписан с полным inventory (4 superpowers-skills + 2 встроенных плагина + 4 внешних + 3 MCP); добавлена явная иерархия R10/R11/R13 для агентов D1/D3/D5; в §3 расширен P0 stack-нарушениями; новая §15 — карта соответствия Plugin_stack_rules_v1 v1.3 → spec; самопроверка spec'а/отчёта на «misuse FD plugin» как часть DoD.
|
||||
- **v1.0 (09.05.2026)** — первичный дизайн через `superpowers:brainstorming`: 4 этапа (sweep тулами → 6 субагентов → консолидация → self-review), P0/P1/P2 + O-perf/O-refactor/O-stack.
|
||||
|
||||
## 1. Цель
|
||||
|
||||
Подробный аудит проекта Лидерра на:
|
||||
|
||||
- **Дефекты (P)** — фактические ошибки, дубли, устаревшие версии/метрики, битые ссылки и якоря.
|
||||
- **Дефекты (P)** — фактические ошибки, дубли, устаревшие версии/метрики, битые ссылки и якоря, **нарушения Plugin_stack_rules_v1 v1.3** (paired stack Superpowers + Frontend Design, иерархия источников истины UI/UX, scope «головенства» stack-правил).
|
||||
- **Возможности (O)** — оптимизация (perf), совершенствование (refactor/quality), модернизация (stack/upgrade).
|
||||
|
||||
Результат — один сводный markdown-отчёт с приоритетами. Аудит — диагностический; реализация правок не входит в DoD.
|
||||
|
||||
**Метаправило:** сам аудит соблюдает Plugin_stack_rules_v1 v1.3 — каждое использование плагина/skill'а в плане сопоставлено с явным R-правилом (см. §12 и §15). Приоритет источников при конфликте — по CLAUDE.md §1 (Pravila §12 → Pravila → CLAUDE.md → Plugin_stack_rules_v1 → settings.json → memory → прочие плагины).
|
||||
|
||||
## 2. Охват
|
||||
|
||||
| Зона | Артефакты |
|
||||
|---|---|
|
||||
| Документация narrative | `docs/*.md` (16 файлов), `CLAUDE.md`, `README.md`, `docs/CHANGELOG_claude_md.md` |
|
||||
| **Правила работы Claude** | `docs/Pravila_raboty_Claude_v1_1.md` (v1.6), `docs/Plugin_stack_rules_v1.md` (v1.3), `docs/Tooling_v8_3.md` (Прил. Н v1.10) — отдельная подзона D1, проверяется на внутреннюю консистентность и соответствие фактически активному стеку плагинов |
|
||||
| Схема БД | `db/schema.sql`, `db/CHANGELOG_schema.md`, `db/00_create_roles.sql`, `db/02_grants.sql` |
|
||||
| Дизайн-handoff | `liderra_v8_handoff/**` (BRANDBOOK_v2, DEVELOPER_HANDOFF, токены, 13 HTML-концептов) |
|
||||
| Backend | `app/**` — Laravel 13.7, миграции, модели, контроллеры, Pest-тесты, конфиги |
|
||||
@@ -32,8 +40,10 @@
|
||||
|
||||
### Дефекты (P)
|
||||
|
||||
- **P0 — критичные:** фактические ошибки, блокирующие корректность/безопасность. Orphan-FK, противоречия ТЗ↔schema, дубли `CREATE TABLE`, утечка секретов, RLS-провал на tenant-таблице.
|
||||
- **P1 — важные:** устаревшие метрики в шапке, битые внутрипроектные ссылки, дубли правил между Pravila/CLAUDE.md, расхождение версий между тремя источниками истины.
|
||||
- **P0 — критичные:** фактические ошибки, блокирующие корректность/безопасность.
|
||||
- Orphan-FK, противоречия ТЗ↔schema, дубли `CREATE TABLE`, утечка секретов, RLS-провал на tenant-таблице.
|
||||
- **Stack-нарушения** (Plugin_stack_rules_v1 v1.3): обход stack-gate без явной /команды или R0.4.A исключения (Pravila §13.9 hard-link на R10); упоминания применения FD plugin для не-UI-задач; пропуск Superpowers-skill'а на §12-задаче без §12.3 исключения; упоминания удалённых из стека тулов (Tailwind/Inertia/Livewire/Filament/React/shadcn) в actively используемых документах (§5 п.5 CLAUDE.md).
|
||||
- **P1 — важные:** устаревшие метрики в шапке, битые внутрипроектные ссылки, дубли правил между Pravila/CLAUDE.md/Plugin_stack_rules_v1, расхождение версий между источниками истины (CLAUDE.md ↔ Pravila ↔ Plugin_stack_rules_v1 ↔ Tooling Прил. Н ↔ ТЗ ↔ schema).
|
||||
- **P2 — мелочи:** орфография, формат, линт-замечания без семантики.
|
||||
|
||||
### Возможности (O)
|
||||
@@ -95,12 +105,12 @@
|
||||
|
||||
| Агент | Зона | Главные таргеты |
|
||||
|---|---|---|
|
||||
| **D1 narrative** | `docs/*.md` (16) + `CLAUDE.md` + `README.md` + `docs/CHANGELOG_claude_md.md` | Версии в шапках синхронны (CLAUDE.md v1.77 ↔ Tooling Прил. Н v1.9 ↔ Pravila v1.4 ↔ ТЗ v8.5 ↔ schema v8.10), 0 «TBD», метрики в шапках = факту, кросс-ссылки актуальны, дубли блоков |
|
||||
| **D1 narrative** | `docs/*.md` (16) + `CLAUDE.md` + `README.md` + `docs/CHANGELOG_claude_md.md` + `docs/Pravila_raboty_Claude_v1_1.md` + `docs/Plugin_stack_rules_v1.md` + `docs/Tooling_v8_3.md` | Версии в шапках синхронны (5+ источников: CLAUDE.md v1.81 ↔ Tooling Прил. Н v1.10 ↔ Pravila v1.6 ↔ Plugin_stack_rules_v1 v1.3 ↔ ТЗ v8.5 ↔ schema v8.10), 0 «TBD», метрики в шапках = факту, кросс-ссылки актуальны, дубли блоков, **stack-консистентность**: упоминания тулов в narrative ↔ фактически активный набор из Прил. Н (29 номеров, 19 активных), внутренние ссылки между Pravila §12/§13.9 и Plugin_stack_rules_v1 R0/R10/R13 |
|
||||
| **D2 db** | `db/schema.sql` + `db/CHANGELOG_schema.md` + `db/00_create_roles.sql` + `db/02_grants.sql` | Метрики (56/12/95/37/5/13) считаются grep'ом и сверяются с шапкой, FK-orphans, дубли таблиц/индексов, RLS-coverage tenant-таблиц, синхронность с ТЗ §6.4 (14 slug'ов воронки) |
|
||||
| **D3 handoff** | `liderra_v8_handoff/**` | Совпадение токенов с `resources/js/plugins/vuetify.ts`, 14 OKLCH-статусов handoff ↔ 14 slug'ов schema, состав фич handoff ≠ источник истины (источник = ТЗ), 81 axe-violation vs «0 violations» |
|
||||
| **D3 handoff** | `liderra_v8_handoff/**` | Совпадение токенов с `resources/js/plugins/vuetify.ts`, 14 OKLCH-статусов handoff ↔ 14 slug'ов schema, состав фич handoff ≠ источник истины (источник = ТЗ), 81 axe-violation vs «0 violations», **R11 иерархия источников истины UI/UX** соблюдена в handoff (Brandbook → ТЗ → FD → Boost → ui-ux-pro-max → Vue/Vuetify docs); handoff ничего не предписывает по фичам/статусам — только бренд/токены/компоненты |
|
||||
| **D4 backend** | `app/**` | RLS-bypass, отсутствие `tenant`-middleware на роутах, `password` vs `password_hash` (наш override), encrypted-cast, секреты в `.env.example`, дубли FormRequest, тесты с password ≥8 chars |
|
||||
| **D5 frontend** | `resources/js/**` + `histoire.config.ts` + `vite.config.ts` | Auto-import Vuetify дубликаты, router meta.layout консистентность, Pinia auth-store: токен в localStorage, axios baseURL/credentials, Histoire stories ↔ компоненты handoff |
|
||||
| **D6 configs** | корень: 10 конфигов | Соответствие командам в CLAUDE.md §4 / Tooling §3, hooks lefthook покрывают заявленное, `.mcp.json` без отключённых блоков, версии в `package.json` ↔ Tooling Прил. Н |
|
||||
| **D5 frontend** | `resources/js/**` + `histoire.config.ts` + `vite.config.ts` | Auto-import Vuetify дубликаты, router meta.layout консистентность, Pinia auth-store: токен в localStorage, axios baseURL/credentials, Histoire stories ↔ компоненты handoff, **R6 стек-фильтр**: 0 импортов/JSX/className из React/Tailwind/shadcn (любые остатки = P0 stack-нарушение); **R6.1 hard-override Forest**: палитра в `vuetify.ts` ≠ паттерну «NEVER Inter / bold maximalism» из FD-skill (palette = Forest Teal `#0F6E56`) |
|
||||
| **D6 configs** | корень: 10 конфигов | Соответствие командам в CLAUDE.md §4 / Tooling §3, hooks lefthook покрывают заявленное, `.mcp.json` без отключённых блоков, версии в `package.json` ↔ Tooling Прил. Н, **stack-aware**: `~/.claude/settings.json` декларативно подключает Frontend Design plugin (paired stack), `.mcp.json` содержит ровно 3 MCP (laravel-boost, github, playwright) — никаких лишних |
|
||||
|
||||
Каждому агенту на вход: (1) выдержка этапа 1 для своей зоны, (2) общий чеклист (см. §7), (3) узкие таргеты домена.
|
||||
|
||||
@@ -148,18 +158,27 @@ IMPROVEMENT (O)
|
||||
□ O-perf: явная неэффективность (дублирующий запрос, missing index, тяжёлый цикл)
|
||||
□ O-refactor: файл >500 строк, метод/функция >80 строк, дубль логики
|
||||
□ O-stack: устаревшая зависимость, упущенная фича актуального стека, deprecated API
|
||||
|
||||
R-CHECKS (нарушения Plugin_stack_rules_v1 v1.3 — фиксируются как P0)
|
||||
□ R0.1: scope «головенства» Plugin_stack_rules_v1 не превышен — stack головной только над уровнями 4–6 priority chain (settings.json, memory, прочие плагины), не над 0–2 (Pravila §12, Pravila, CLAUDE.md)
|
||||
□ R6: стек-фильтр Vue+Vuetify соблюдён в зоне; 0 упоминаний/импортов React/Tailwind/shadcn/JSX в actively используемых файлах
|
||||
□ R6.1: hard-override Forest — игнор паттерна FD-skill «NEVER Inter / bold maximalism» (palette = Forest Teal #0F6E56, font = Inter)
|
||||
□ R10: внешние плагины (review/security-review/simplify/init/ui-ux-pro-max/claude-md-management) применяются только по явному /команде или R0.4.A исключению; Boost = служебный слой, не источник истины UI
|
||||
□ R11: иерархия 6 источников истины UI/UX (Brandbook → ТЗ+schema → FD → Boost → ui-ux-pro-max → Vue/Vuetify docs) не нарушена; handoff не источник по фичам/статусам
|
||||
□ R13: тип задачи правильно классифицирован (Auto-mode + §12 + R0.6 decision matrix); §12 hard rule не байпасится без §12.3 исключения
|
||||
□ Pravila §12: Superpowers-skill инвокировался первым для §12.2-задач; §13.9: байпас stack-gate без явной /команды или R0.4.A = нарушение §13
|
||||
```
|
||||
|
||||
### Доменные таргеты — поверх общего
|
||||
|
||||
| Агент | Доп. P-таргеты | Доп. O-таргеты |
|
||||
|---|---|---|
|
||||
| D1 narrative | cross-version таблица 5 источников, 0 «TBD»/«готовится», упоминания удалённых тулов (Tailwind/Inertia/Livewire/Filament), цитаты сами на себя | O-refactor: narrative >2000 строк (выносить в приложения); O-stack: упоминания версий vs `package.json`/`composer.lock` |
|
||||
| D1 narrative | cross-version таблица 5+ источников (CLAUDE.md ↔ Pravila ↔ Plugin_stack_rules_v1 ↔ Tooling Прил. Н ↔ ТЗ ↔ schema), 0 «TBD»/«готовится», упоминания удалённых тулов (Tailwind/Inertia/Livewire/Filament/React/shadcn), цитаты сами на себя; **R-cross-references**: ссылки между Pravila §12/§13.9 ↔ Plugin_stack_rules_v1 R0/R10/R13 валидны и взаимны | O-refactor: narrative >2000 строк (выносить в приложения); O-stack: упоминания версий vs `package.json`/`composer.lock`; **O-rule-refactor**: дубли правил между Pravila/CLAUDE.md/Plugin_stack_rules_v1 (одно правило в одном месте, остальные — hard-link) |
|
||||
| D2 db | orphan FK (regex `REFERENCES (\w+)`), дубли `CREATE TABLE/INDEX`, RLS-coverage всех `tenant_id`-таблиц, 14 slug'ов воронки ↔ ТЗ §6.4 | O-perf: FK без индекса, RLS-предикаты с nested SELECT, неконсистентные DEFAULT'ы; O-refactor: дубли CHECK; O-stack: фичи PG 16 |
|
||||
| D3 handoff | токены ↔ vuetify.ts, 14 OKLCH ↔ 14 slug, состав фич handoff ≠ ТЗ, 81 axe-violation vs «0» | O-stack: WOFF2 vs WOFF, font-display: swap, упущенные паттерны Vuetify 3.12 |
|
||||
| D3 handoff | токены ↔ vuetify.ts, 14 OKLCH ↔ 14 slug, состав фич handoff ≠ ТЗ, 81 axe-violation vs «0»; **R11 иерархия** соблюдена (handoff ниже Brandbook+ТЗ, выше Vue/Vuetify docs) | O-stack: WOFF2 vs WOFF, font-display: swap, упущенные паттерны Vuetify 3.12 |
|
||||
| D4 backend | RLS-bypass, роуты без `tenant`-middleware, `password` vs `password_hash`, encrypted-cast, секреты, дубли FormRequest, тесты password ≥8 | O-perf: N+1 в контроллерах, missing eager loading в `index`, отсутствие `chunk`/`lazy`; O-refactor: контроллеры >500 строк; O-stack: Pest 4 browser/stress/mutation, Laravel 13.7 фичи |
|
||||
| D5 frontend | auto-import Vuetify дубликаты, router meta.layout, токен в localStorage в plain, axios baseURL/credentials, Histoire ↔ handoff | O-perf: lazy-imports пропуски, unused exports, bundle size; O-refactor: компоненты >300 строк; O-stack: Vue 3.5 / Vuetify 3.12 фичи, Vite 8 ↔ Histoire 1.0-beta.1 |
|
||||
| D6 configs | соответствие командам CLAUDE.md/Tooling, hooks lefthook, `.mcp.json` без отключённых блоков, версии `package.json` ↔ Tooling | O-perf: тяжёлые/redundant хуки; O-stack: формат конфигов (eslint flat-config), $schema-актуальность |
|
||||
| D5 frontend | auto-import Vuetify дубликаты, router meta.layout, токен в localStorage в plain, axios baseURL/credentials, Histoire ↔ handoff; **R6 стек-фильтр**: 0 импортов/className/JSX из React/Tailwind/shadcn; **R6.1 Forest**: палитра в `vuetify.ts` неприкосновенна | O-perf: lazy-imports пропуски, unused exports, bundle size; O-refactor: компоненты >300 строк; O-stack: Vue 3.5 / Vuetify 3.12 фичи, Vite 8 ↔ Histoire 1.0-beta.1 |
|
||||
| D6 configs | соответствие командам CLAUDE.md/Tooling, hooks lefthook, `.mcp.json` без отключённых блоков, версии `package.json` ↔ Tooling; **stack-aware**: `~/.claude/settings.json` декларативно подключает FD plugin (paired stack), .mcp.json = 3 MCP | O-perf: тяжёлые/redundant хуки; O-stack: формат конфигов (eslint flat-config), $schema-актуальность |
|
||||
|
||||
## 8. Этап 3 — консолидация
|
||||
|
||||
@@ -208,8 +227,9 @@ IMPROVEMENT (O)
|
||||
- все упомянутые `file:line` существуют (Read/Grep);
|
||||
- метрики в §7 отчёта совпадают с фактом (grep на `db/schema.sql`, прогон Pest/Vitest);
|
||||
- 0 «TBD»/«TODO»/placeholder в отчёте;
|
||||
- 0 цитат без атрибуции файла.
|
||||
5. Code review отчёта через `requesting-code-review` skill — субагент проверяет консистентность.
|
||||
- 0 цитат без атрибуции файла;
|
||||
- **0 R-нарушений в самом отчёте**: отчёт не призывает FD plugin для не-UI-задач, не байпасит Superpowers-skill для §12-задач, не предписывает применение `simplify`/`security-review`/`review`/`init` без явного /команды (R10), не предлагает иерархию источников UI/UX вне R11.
|
||||
5. Code review отчёта через `requesting-code-review` skill — субагент проверяет консистентность **И** соблюдение Plugin_stack_rules_v1 v1.3 в самом отчёте (мета-проверка: каждое предложенное действие сопоставлено с R-правилом).
|
||||
6. Коммит: `docs(audit): сводный отчёт аудита проекта на 2026-05-09 — P-дефекты + O-возможности`. Коммитится **только** `docs/audit_2026-05-09.md`; raw output этапа 1 в `.tmp/audit/` НЕ коммитится (`.tmp/` уже в `.gitignore`).
|
||||
|
||||
**Не входит в DoD:** реализация правок. Любая правка по итогам отчёта — отдельный «делай» от заказчика.
|
||||
@@ -224,32 +244,51 @@ IMPROVEMENT (O)
|
||||
| Этап 4 self-review + code review | 10-15 мин |
|
||||
| **Итого** | **~1.5-2 часа** |
|
||||
|
||||
## 12. Плагины и MCP
|
||||
## 12. Плагины и MCP — полный inventory с R-обоснованиями
|
||||
|
||||
### Плагины Claude Code
|
||||
Метаправило: **каждое использование плагина/skill'а в плане сопоставлено с явным R-правилом Plugin_stack_rules_v1 v1.3** (или с явным §-номером Pravila/CLAUDE.md). Если обоснования нет — плагин не призывается.
|
||||
|
||||
| Плагин / Skill | Где |
|
||||
|---|---|
|
||||
| superpowers:brainstorming | сейчас, дизайн |
|
||||
| superpowers:writing-plans | после spec → plan |
|
||||
| superpowers:dispatching-parallel-agents | этапы 1, 2 |
|
||||
| superpowers:subagent-driven-development | этап 2 (если plan дробит на review-checkpoints) |
|
||||
| superpowers:verification-before-completion | этап 4 |
|
||||
| superpowers:requesting-code-review | финальный review отчёта |
|
||||
| claude-md-management | НЕ применяется в аудите (не правим CLAUDE.md). Применится позже, если по итогам решим править |
|
||||
| ui-ux-pro-max | НЕ применяется (не дизайнная работа) |
|
||||
### 12.1. Superpowers-skills (основной process-слой)
|
||||
|
||||
### MCP-серверы
|
||||
|
||||
| MCP | Где | Что зовём |
|
||||
| Skill | Статус | R-обоснование |
|
||||
|---|---|---|
|
||||
| laravel-boost | этапы 1, 2 (D2, D4) | `database-schema`, `last-error`, `read-log-entries`, `search-docs` |
|
||||
| github | НЕ применяется (формат = .md, не Issues) | — |
|
||||
| playwright | опционально в D3 (визуальная сверка `web/v8/*.html`) | по умолчанию out-of-scope |
|
||||
| `superpowers:brainstorming` | ✅ применён сейчас (дизайн spec'а) | Pravila §12.2 (creative work — обязательная инвокация); R13 decision matrix: «дизайн нового артефакта» = §12 hard rule |
|
||||
| `superpowers:writing-plans` | ✅ применится после approve spec'а (spec → plan) | Pravila §12.2 (multi-step task); R13: «план для известного спека» = §12 hard rule |
|
||||
| `superpowers:dispatching-parallel-agents` | ✅ применится в этапе 1 (12+ тулов параллельно) и этапе 2 (6 субагентов параллельно) | Pravila §12.2 (parallel work для 2+ независимых задач) |
|
||||
| `superpowers:subagent-driven-development` | ⚠️ применится в этапе 2, если plan дробит на review-checkpoints | Pravila §12.2 (execution с review-checkpoints); решение откладывается на writing-plans |
|
||||
| `superpowers:verification-before-completion` | ✅ применится в этапе 4 (DoD-проверка) | Pravila §12.2 (verify перед claim'ом «готово») |
|
||||
| `superpowers:requesting-code-review` | ✅ применится после финального отчёта (мета-review) | Pravila §12.2 (review major artefact); R10: review = part of superpowers, не внешний плагин |
|
||||
| остальные 8 superpowers-skills (TDD, debugging, finishing-a-development-branch, receiving-code-review, using-git-worktrees, writing-skills, using-superpowers — карта §12.2) | ❌ не применяются | TDD/debug — нет кода для написания/багов для починки; worktrees — аудит на чистом дереве, не нужно изоляции; remaining — out-of-scope |
|
||||
|
||||
### CLI-тулы (НЕ плагины)
|
||||
### 12.2. Встроенные плагины Claude (paired stack)
|
||||
|
||||
`markdownlint-cli2`, `cspell`, `lychee`, `pa11y`, `squawk`, `pgFormatter`, `Pest`, `Larastan`, `vue-tsc`, `ESLint`, `Vitest`, `Pint`, `composer outdated`, `npm outdated`, `composer audit` — через `Bash`.
|
||||
| Плагин | Статус | R-обоснование |
|
||||
|---|---|---|
|
||||
| **Frontend Design plugin** (Anthropic, paired со Superpowers) | ❌ НЕ призывается в аудите | R10: внешние плагины как инструменты — FD активируется только для UI-дизайн-задач; **аудит ≠ дизайн**, это диагностика существующего. R13 decision matrix: «аудит/инспекция» — это process-задача (§12 superpowers), не дизайн-задача. R6 стек-фильтр будет применяться только если найдены reference-вопросы (тогда — через FD MCP запрос с фильтром Vue+Vuetify, отбрасывая React/Tailwind/shadcn) — но в текущем плане таких запросов нет. Если в этапе 2 D5 найдёт UI-нестыковку, требующую reference-паттерна — это фиксируется как **находка в отчёте**, FD plugin не призывается на ходу |
|
||||
| `claude-md-management` | ❌ НЕ призывается в аудите | CLAUDE.md §5 п.10: единственный путь правок CLAUDE.md. Аудит = диагностика, не правки. **Применится в Phase 5 (вне DoD аудита)**, если по итогам отчёта решим править CLAUDE.md/Pravila/Plugin_stack_rules_v1. На сам spec правок не делает — этот файл живёт под `docs/superpowers/specs/` и не входит в scope claude-md-management |
|
||||
|
||||
### 12.3. Внешние плагины (по R10 — только по явному /команде)
|
||||
|
||||
| Плагин | Статус | R-обоснование |
|
||||
|---|---|---|
|
||||
| `simplify` | ❌ НЕ призывается | R10: внешний плагин, только по явному /команде. Функционально перекрывает O-refactor, но: (а) нет явного /simplify от заказчика; (б) формат аудита = отчёт без автофиксов, simplify сразу фиксит |
|
||||
| `security-review` | ❌ НЕ призывается | R10: только по явному /команде. Технически: работает на pending changes (uncommitted/diff vs main), у нас clean tree → запуск даст 0 findings. Security-аспекты (RLS, secrets, encrypted-cast) — в чеклисте D4 backend в режиме статического аудита |
|
||||
| `review` | ❌ НЕ призывается | R10: только по явному /review. Это PR-review, у нас не PR-задача |
|
||||
| `init` | ❌ НЕ призывается | R10: только по явному /init. Инициализация CLAUDE.md, не релевантно |
|
||||
| `ui-ux-pro-max` | ❌ НЕ призывается | R10/R11: «резерв-библиотека», уровень 5 в иерархии R11 (ниже FD, ниже Boost). Аудит ≠ дизайнная работа |
|
||||
| остальные user-invocable skills из списка (`update-config`, `keybindings-help`, `loop`, `schedule`, `claude-api`, `fewer-permission-prompts`, `revise-claude-md`, `claude-md-improver`) | ❌ НЕ призываются | Out-of-scope для аудита |
|
||||
|
||||
### 12.4. MCP-серверы (.mcp.json)
|
||||
|
||||
| MCP | Статус | Что зовём | R-обоснование |
|
||||
|---|---|---|---|
|
||||
| `laravel-boost` | ✅ применяется в этапах 1, 2 (D2, D4) | `database-schema` (live snapshot для сверки с `db/schema.sql`), `last-error`, `read-log-entries` (контекст для O-perf), `search-docs` (O-stack — упущенные фичи Laravel/Pest) | R11: Boost guidelines = уровень 4 в иерархии источников истины UI/UX, ниже ТЗ/Brandbook/FD. Для backend (D4) и db (D2) — основной MCP для live-проверки |
|
||||
| `github` | ❌ НЕ применяется | — | Формат отчёта = один .md в `docs/`, не GitHub Issues (выбор заказчика на этапе brainstorming) |
|
||||
| `playwright` | ⚠️ опционально в D3 | визуальная сверка `web/v8/*.html` (axe-violations) | По умолчанию out-of-scope: `web/v8/*` это старые концепты, не продакшен. Если D3 решит проверить визуально — допустимо |
|
||||
|
||||
### 12.5. CLI-тулы (НЕ плагины, через `Bash`)
|
||||
|
||||
`markdownlint-cli2`, `cspell`, `lychee`, `pa11y`, `squawk`, `pgFormatter`, `Pest`, `Larastan`, `vue-tsc`, `ESLint`, `Vitest`, `Pint`, `composer outdated`, `npm outdated`, `composer audit` — это CLI из `npm`/`composer`, **не плагины Claude**. Не подпадают под R-правила Plugin_stack_rules_v1 — их применение регулируется CLAUDE.md §3 / Tooling Прил. Н.
|
||||
|
||||
## 13. Риски и предположения
|
||||
|
||||
@@ -257,9 +296,35 @@ IMPROVEMENT (O)
|
||||
- **Риск:** агенты этапа 2 могут локально переоценить приоритет — митигация в §8.3 (переклассификация в этапе 3).
|
||||
- **Риск:** O-stack находки могут предлагать апгрейды, которые сломают стенд (например, мажор npm-deps). Митигация — в шаблоне `O-XX` обязательное поле «Риск: low/medium/high», заказчик решает по каждой отдельно.
|
||||
- **Предположение:** PG-метрики (56/12/95/37/5/13) — текущее на 09.05.2026 после schema v8.10. Если за время аудита будет правка `db/schema.sql` — перепрогнать §7 отчёта.
|
||||
- **Риск (новый):** субагент D5 может «подсказать» вызвать FD plugin за reference-паттерном при обнаружении UI-нестыковки. Митигация — в чеклист D5 явный запрет на призыв FD/simplify/security-review «на ходу» (R10): любая такая нестыковка → находка в отчёт, не делегирование плагину. Self-review в этапе 4 проверяет это.
|
||||
- **Риск (новый):** агенты могут спутать иерархию приоритетов CLAUDE.md §1 (Pravila §12 → Pravila → CLAUDE.md → Plugin_stack_rules_v1 → settings.json → memory) и попытаться обосновать находку через нижний уровень (memory). Митигация — каждому агенту даётся выдержка CLAUDE.md §1 + Plugin_stack_rules_v1 R0.1 на вход.
|
||||
- **Риск (новый):** агенты могут предложить править Pravila/Plugin_stack_rules_v1 как «исправление stack-нарушения». Это правки СТРУКТУРЫ правил, требующие brainstorming + согласования с заказчиком, не правка по аудиту. Митигация — любая R-находка фиксируется как **диагноз**, предлагаемая правка = **рекомендация для отдельного обсуждения**, не «делай немедленно».
|
||||
|
||||
## 14. Не входит в этот spec
|
||||
|
||||
- Сам прогон аудита (это будет implementation plan через `superpowers:writing-plans`).
|
||||
- Реализация правок по итогам отчёта.
|
||||
- Регулярное расписание (если потребуется — отдельный routine через `superpowers:schedule` skill).
|
||||
- Правки самих Pravila / Plugin_stack_rules_v1 / CLAUDE.md по итогам R-находок — это отдельный flow через `claude-md-management`.
|
||||
|
||||
## 15. Карта соответствия Plugin_stack_rules_v1 v1.3 → spec
|
||||
|
||||
Каждое правило Plugin_stack_rules_v1, которое влияет на этот spec, явно отображено:
|
||||
|
||||
| R | Правило (краткое) | Где в spec'е применяется |
|
||||
|---|---|---|
|
||||
| R0.1 | scope «головенства» stack-правил | §1 Метаправило (приоритет источников); §12 (метаправило inventory'я); §13 риск priority chain |
|
||||
| R0.4.A | исключения для байпаса stack-gate | §12.3 (внешние плагины — без явной /команды не призываются) |
|
||||
| R0.6 | classification confidence | §12.1 (R-обоснования каждого superpowers-skill'а) |
|
||||
| R6 | стек-фильтр Vue+Vuetify | §6 D5 frontend; §7 общий R-CHECKS |
|
||||
| R6.1 | hard-override Forest | §6 D5 frontend (palette неприкосновенна) |
|
||||
| R10 | внешние плагины как инструменты | §12.3 (полный inventory с явным «не призывается») |
|
||||
| R11 | иерархия 6 источников истины UI/UX | §6 D3 handoff; §7 общий R-CHECKS |
|
||||
| R12 | три паттерна дизайн-решений | НЕ применимо — аудит не дизайн-задача |
|
||||
| R13 | decision matrix 14 типов задач | §12.1 (классификация каждого superpowers-skill'а как §12-задачи); §13 риск misuse |
|
||||
| Pravila §12 | Superpowers hard rule | §12.1 (brainstorming сейчас, writing-plans следующим, parallel-agents/verify/review в этапах 1/2/4) |
|
||||
| Pravila §13.9 | hard-link на R10 | §3 P0 (stack-нарушения), §7 R-CHECKS |
|
||||
| CLAUDE.md §1 | priority chain | §1 Метаправило, §13 риск |
|
||||
| CLAUDE.md §5 п.10 | claude-md-management как единственный путь правок CLAUDE.md | §12.2 (применится в Phase 5 вне DoD); §14 (правки правил вне scope spec'а) |
|
||||
| CLAUDE.md §5 п.11 | Superpowers hard rule в CLAUDE.md | §12.1 (применение всех 6 skills в плане) |
|
||||
| Tooling Прил. Н v1.10 | реестр 29 инструментов (19 активных) + #30 FD plugin | §12.2 FD plugin как paired stack; §12.5 CLI-тулы как не-плагины |
|
||||
|
||||
Reference in New Issue
Block a user