diff --git a/CLAUDE.md b/CLAUDE.md index 4d166a58..ffe35607 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # CLAUDE.md — техконтекст Лидерры -**Версия:** 1.91 от 13.05.2026 (day +1) — Session-end documentation hygiene после CTO-19 ✅ closure via Lucide migration. Содержание: (1) §0 cross-ref row Pravila v1.11 → **v1.12** (sync: §4.6 +visual smoke methodology для UI-refactor; §4.7 +п.4 plans/specs relative paths `../../../`); (2) §9 +v1.91 entry. Связано: реестр v1.82→v1.83 (CTO-19 closure в commit `0832997`); audit `docs/superpowers/audits/2026-05-12-portal-full-audit-findings.md` Q.INFO.001 +audit methodology gap note (Phase 4 SAST checks must begin с `ls .github/workflows/`); memory quirks 74-76 (Lucide+Histoire peerDep / Vuetify-internal mdi defaults gap / plans-relative-paths). Регрессия зелёная (verified в commit `0832997`): Pest --parallel 742/739/0/3 ✅, Vitest 88 files / 683 passed + 3 skipped, Vite build 3.52s, axe-core /admin/billing 0 iconography violations, lychee 252 OK / 0 errors, gitleaks 0 (372+ commits). Workflow learning: `superpowers:brainstorming` → `:writing-plans` → `:subagent-driven-development` efficient для mechanical UI-refactor (icon migration). Через `/claude-md-management:revise-claude-md`. **v1.90 наследие:** Merge R15 motion-runtime removal cleanup из `origin/main` в `plan5-frontend-projects` (commits `0fd93fd` planning + `615db99` нормативная правка). Plan5 ветка форкнулась 12.05 утром от `48f27b4` ДО появления `615db99` на main; после 113 атомарных коммитов на plan5 (audit fixes, Plan 5 frontend Tasks 7-11, Quiet Luxury portal redesign, Q.DEFER.002/003/004 closures, audit-cleanup tail) — merge синхронизирует R15 changes. **§5 п.12** → маркер «Резерв (снят 12.05.2026, см. CHANGELOG)» (нумерация п.1–11 сохранена, чтобы cross-refs в memory не сломать). **§2 строка «Animation default stack»** переписана с regulatory denylist на guidance recommendation (motion-v/gsap/anime.js/lottie-web/popmotion/@motionone/dom — ✅ разрешены без обоснования; framer-motion остаётся technical block — React-only peerDep, runtime crash в Vue, не regulatory rule). **§0 cross-refs** обновлены — Pravila v1.10 → **v1.11**, PSR_v1 v1.7 → **v2.0**, Tooling v1.15 → **v1.16**. **§6 фаза** + **§8 self-review** строки (Plan 4/5 + Quiet Luxury + Q.DEFER closures context + schema baseline v8.19 + dev-actual factual) — preserved из plan5 v1.88/v1.89 base. Plan5 v1.89 factual fix §6 (615db99 = R15 removal, ≠ Plan 4) подтверждён и сохранён. NB: §9 содержит **две v1.88 entries** — plan5 audit schema-sync + origin/main R15-removal — это collision версионной нумерации parallel-branch bump'ов; обе валидны исторически, явно labelled в §9. Files fast-forwarded без conflict: `Plugin_stack_rules_v1.md` (R15 удалён, 162 lines diff), `Pravila_raboty_Claude_v1_1.md` (§11.5/§13.2 счётчик 16→15 + cross-refs), `Tooling_v8_3.md` (§9.2 reformulated). Через ручное conflict resolution на 2 файлах (CLAUDE.md + CHANGELOG_claude_md.md) + post-merge `/claude-md-management:revise-claude-md` polish (per §5 п.10). **v1.89 наследие:** factual fix §6 + шапка v1.88 changelog (615db99 ≠ Plan 4). **v1.88 наследие (plan5 branch):** audit-driven sync §0/§2/§6/§8 после полного аудита портала. Schema-метрики §0/§2/§8 разделены на «commit baseline v8.19» (62/12/117/39/5/13/5) + «dev-actual factual» (75/102/289/39/5/19/0). **v1.88 наследие (origin/main):** снятие R15 motion-runtime restrictions per user decision 12.05.2026 («сними все запреты на использование framer motion»); conscious rollback v1.83 audited construction. **v1.87 наследие:** sync schema-метрик после Plan 4 (Billing+CSV+Admin) на ветке `plan4-billing`. Schema **v8.11 → v8.19**. Предыдущая v1.86 — закрытие 13 находок третьего аудита (детали в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md)). +**Версия:** 1.92 от 13.05.2026 (day +1) — Task 9 sync нормативки после merge PR #3 `cc5f63b`: §3.3 +#34 Sentry MCP + #35 Redis MCP (off-phase debug-runtime category, отдельная от UI-пула UPM/21st и от infrastructure claude-md-management); §3 title «33» → «35»; §3.3 footer count 33 → 35 (29 phase-active + 5 off-phase + 1 historic); §0 cross-refs Tooling v1.16 → v1.17, PSR_v1 v2.0 → v2.1, Pravila v1.12 → v1.13. Branch `feat/claude-automation-norm-sync` commits: 763aeae (Tooling §4.8 + §4.9) + c1f9719 (PSR_v1 R10.1 Блок 3) + 318aed4 (Pravila §13.2 +Off-phase MCP debug-runtime). CLAUDE.md правки через `/claude-md-management:claude-md-improver` per §5 п.10. NB: PR #3 уже добавил 4 plan/spec/drafts files в `docs/superpowers/` от feat/claude-automation; CLAUDE.md §0 cross-refs к ним не нужны (operational map указывает на нормативку и schema, не на implementation plans). **v1.91 наследие:** Session-end documentation hygiene после CTO-19 ✅ closure via Lucide migration. Содержание: (1) §0 cross-ref row Pravila v1.11 → **v1.12** (sync: §4.6 +visual smoke methodology для UI-refactor; §4.7 +п.4 plans/specs relative paths `../../../`); (2) §9 +v1.91 entry. Связано: реестр v1.82→v1.83 (CTO-19 closure в commit `0832997`); audit `docs/superpowers/audits/2026-05-12-portal-full-audit-findings.md` Q.INFO.001 +audit methodology gap note (Phase 4 SAST checks must begin с `ls .github/workflows/`); memory quirks 74-76 (Lucide+Histoire peerDep / Vuetify-internal mdi defaults gap / plans-relative-paths). Регрессия зелёная (verified в commit `0832997`): Pest --parallel 742/739/0/3 ✅, Vitest 88 files / 683 passed + 3 skipped, Vite build 3.52s, axe-core /admin/billing 0 iconography violations, lychee 252 OK / 0 errors, gitleaks 0 (372+ commits). Workflow learning: `superpowers:brainstorming` → `:writing-plans` → `:subagent-driven-development` efficient для mechanical UI-refactor (icon migration). Через `/claude-md-management:revise-claude-md`. **v1.90 наследие:** Merge R15 motion-runtime removal cleanup из `origin/main` в `plan5-frontend-projects` (commits `0fd93fd` planning + `615db99` нормативная правка). Plan5 ветка форкнулась 12.05 утром от `48f27b4` ДО появления `615db99` на main; после 113 атомарных коммитов на plan5 (audit fixes, Plan 5 frontend Tasks 7-11, Quiet Luxury portal redesign, Q.DEFER.002/003/004 closures, audit-cleanup tail) — merge синхронизирует R15 changes. **§5 п.12** → маркер «Резерв (снят 12.05.2026, см. CHANGELOG)» (нумерация п.1–11 сохранена, чтобы cross-refs в memory не сломать). **§2 строка «Animation default stack»** переписана с regulatory denylist на guidance recommendation (motion-v/gsap/anime.js/lottie-web/popmotion/@motionone/dom — ✅ разрешены без обоснования; framer-motion остаётся technical block — React-only peerDep, runtime crash в Vue, не regulatory rule). **§0 cross-refs** обновлены — Pravila v1.10 → **v1.11**, PSR_v1 v1.7 → **v2.0**, Tooling v1.15 → **v1.16**. **§6 фаза** + **§8 self-review** строки (Plan 4/5 + Quiet Luxury + Q.DEFER closures context + schema baseline v8.19 + dev-actual factual) — preserved из plan5 v1.88/v1.89 base. Plan5 v1.89 factual fix §6 (615db99 = R15 removal, ≠ Plan 4) подтверждён и сохранён. NB: §9 содержит **две v1.88 entries** — plan5 audit schema-sync + origin/main R15-removal — это collision версионной нумерации parallel-branch bump'ов; обе валидны исторически, явно labelled в §9. Files fast-forwarded без conflict: `Plugin_stack_rules_v1.md` (R15 удалён, 162 lines diff), `Pravila_raboty_Claude_v1_1.md` (§11.5/§13.2 счётчик 16→15 + cross-refs), `Tooling_v8_3.md` (§9.2 reformulated). Через ручное conflict resolution на 2 файлах (CLAUDE.md + CHANGELOG_claude_md.md) + post-merge `/claude-md-management:revise-claude-md` polish (per §5 п.10). **v1.89 наследие:** factual fix §6 + шапка v1.88 changelog (615db99 ≠ Plan 4). **v1.88 наследие (plan5 branch):** audit-driven sync §0/§2/§6/§8 после полного аудита портала. Schema-метрики §0/§2/§8 разделены на «commit baseline v8.19» (62/12/117/39/5/13/5) + «dev-actual factual» (75/102/289/39/5/19/0). **v1.88 наследие (origin/main):** снятие R15 motion-runtime restrictions per user decision 12.05.2026 («сними все запреты на использование framer motion»); conscious rollback v1.83 audited construction. **v1.87 наследие:** sync schema-метрик после Plan 4 (Billing+CSV+Admin) на ветке `plan4-billing`. Schema **v8.11 → v8.19**. Предыдущая v1.86 — закрытие 13 находок третьего аудита (детали в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md)). **Назначение:** оперативная карта для Claude Code. Не первоисточник — первоисточники указаны в §0. **Владелец и режим правок:** все изменения этого файла — **только** через плагин `claude-md-management` (skills `/claude-md-management:claude-md-improver` для audit/targeted-updates и `/claude-md-management:revise-claude-md` для capture session-learnings). Прямые правки запрещены — см. §5 п.11. @@ -12,9 +12,9 @@ | Тема | Документ | |---|---| -| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.12 от 13.05.2026 day +1** — methodology additions: §4.6 +«Для UI-refactor (icon migration / palette swap / layout overhaul)» subsection (visual smoke verification обязательна, unit tests jsdom недостаточны, Vuetify-internal default mdi-* gap learning от CTO-19); §4.7 +п.4 plans/specs относительные пути `../../../` (lychee catches broken paths, прецедент CTO-19 fixup `f6e1e64`). v1.11 наследие — sync после PSR_v1 v2.0 (R15 снят): §11.5/§13.2 счётчик 16→15 правил R0–R14; §13.9/§13.10 cross-ref v1.6→v2.0; §13.10 НЕ удалено — про R14, не R15. v1.10 наследие — §0 +note про §11 override) | -| **Правила совместного использования плагинов Claude** | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (**v2.0 от 12.05.2026** — major bump: removal of R15 motion-runtime restrictions per user decision; conscious rollback v1.4 audited construction. Удалено: R15 целиком (R15.1–R15.7), R0.6 п.11, R8 motion тай-брейкеры (3), R11.6 motion иерархия, R13 motion-сценарии (5). Шапка count: «16 правил R0–R15» → «15 правил R0–R14». framer-motion переведён из regulatory hard-запрета в technical-guidance уровень: peerDep на react+react-dom, не работает в Vue физически; v1.7 наследие — sync cross-refs; v1.6 наследие — R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT, R0.6 пронумерован 1–11) | -| Полный реестр 33 формализованных позиций тулчейна (29 active + 3 off-phase + 1 historic) | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (**Прил. Н v1.16 от 12.05.2026** — §9.2 «Motion runtime библиотеки» переформулирован из regulatory denylist в technical guidance синхронно с PSR_v1 v2.0 (R15 снят): motion-v/gsap/anime.js/lottie-web/popmotion/@motionone/dom — ✅ разрешено без обоснования; framer-motion + react-spring — ❌ technical block (React-only peerDep), не regulatory rule. Cross-refs шапки sync: PSR_v1 v1.7+ → v2.0+, CLAUDE.md v1.86+ → v1.88+, Pravila v1.10+ → v1.11+; v1.15 наследие — sync cross-refs + «28 инструментов» → «33 формализованные позиции») | +| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.13 от 13.05.2026 day +1** — §13.2 +новый абзац «Off-phase MCP debug-runtime (отдельная категория)»: `@sentry/mcp-server` (Tooling #34) + `@modelcontextprotocol/server-redis` (Tooling #35) — retrospective formalization после PR #3 merge. Категория отдельная от UI-пула и от infrastructure (claude-md-management). READ-ONLY usage обязателен. v1.12 наследие — methodology additions §4.6 visual smoke для UI-refactor + §4.7 п.4 plans/specs relative paths `../../../`) | +| **Правила совместного использования плагинов Claude** | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (**v2.1 от 13.05.2026 day +1** — R10.1 Блок 3 (MCP-серверы) +2 строки sentry + redis с категорией **debug-runtime**: `@sentry/mcp-server@0.33.0+` (Tooling #34, pending Б-1) + `@modelcontextprotocol/server-redis@2025.4.25` (Tooling #35, deprecated Anthropic source, Memurai PONG verified Task 4). Не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline UI-генераторов. v2.0 наследие — major bump: removal of R15 motion-runtime restrictions per user decision 12.05.2026; conscious rollback v1.4 audited construction; framer-motion переведён из regulatory hard-запрета в technical-guidance уровень) | +| Полный реестр 35 формализованных позиций тулчейна (29 active + 5 off-phase + 1 historic) | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (**Прил. Н v1.17 от 13.05.2026 day +1** — §0 счётчик off-phase 3 → 5; итого 33 → 35; §4.8 (новый) — #34 Sentry MCP (`@sentry/mcp-server@0.33.0+`, official; pending Sentry instance deployment Б-1); §4.9 (новый) — #35 Redis MCP (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source, рабочий с Memurai localhost:6379). Категория **debug-runtime**, отдельная от UI-пула. v1.16 наследие — §9.2 «Motion runtime библиотеки» переформулирован из regulatory denylist в technical guidance) | | Главное ТЗ | [docs/CRM_bp-gr_Инструкция_v8_5.md](docs/CRM_bp-gr_Инструкция_v8_5.md) (v8.5 от 07.05.2026 — реализация 27 решений аудита C; in-place hygiene v1.20 от 08.05.2026 поздний вечер: §2.4/§5.5/§5.6/§6.5/§11/§20.12.3/§21.1/§27.1 синхронизированы под schema v8.6 двустадийный dedup) | | Схема БД | [db/schema.sql](db/schema.sql) (**v8.19 от 11.05.2026** — Plan 4 (Billing+CSV+Admin): +1 таблица `supplier_csv_reconcile_log` SaaS-level, +3 колонки `tenants.delivered_in_month` / `lead_charges.charge_source` / `supplier_leads.recovered_from_csv_at`, +3 индекса, +2 CHECK. **Schema baseline (commit-факт):** 62 базовые таблицы + 12 партиций + 117 индексов + 39 RLS-политик + 5 функций (`audit_block_mutation`, `audit_chain_hash`, `calc_lead_score`, `report_jobs_log_export`, `set_pd_subject_request_deadline`) + 13 триггеров. **Dev `liderra` factual** после `migrate:fresh` + накопленных `partitions:create-months`: **75 root tables + 102 partition children + 289 indexes + 39 RLS + 5 user funcs + 19 triggers + 0 dev roles** (на prod 5 ролей через `db/00_create_roles.sql`). Verified 2026-05-12 audit Phase 3.) | | Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (**v1.83 от 13.05.2026 (day +1) — CTO-19 ✅ closed** через Lucide migration: `npm i lucide-vue-next ^1.0.0` + custom Vuetify `IconSet` в `app/resources/js/plugins/vuetify.ts` с 103-entry mapping (78 user-grep'нутых mdi-* + 25 Vuetify-internal defaults). 51 view untouched. CLAUDE.md §2 «Иконки: Lucide» бренд-spec compliance achieved. **Сводка §0 после v1.83: 87 продуктовых / 71 ✅ / 5 🟦 / 11 ⏸ / 1 P0 + 5 P1 + 3 P2 + 2 P3**. **Регрессия: Pest --parallel 742/739/0/3 / Vitest 88 files / 683 passed + 3 skipped / Vite build 3.52s / axe-core /admin/billing 0 iconography violations**. Spec/plan в docs/superpowers/. v1.82 — Catch-up bump v1.77 → v1.82. v1.77 — Sprint 4 «Audit tail» (Pest 421 / Vitest 416). Section ## 13 collision fixed: Plan 4 → ## 14, Аудит C ## 13) | @@ -36,7 +36,7 @@ 1. docs/Pravila_raboty_Claude_v1_1.md (продуктовые правила, утверждены заказчиком) ↓ 2a. CLAUDE.md (общая оперативная карта) -2b. docs/Tooling_v8_3.md Прил. Н (детальный реестр 33 инструментов) +2b. docs/Tooling_v8_3.md Прил. Н (детальный реестр 35 инструментов) ↑ оба operational maps уровня 2; при конфликте между ними — приоритет CLAUDE.md ↓ 3. docs/Plugin_stack_rules_v1.md (координация Superpowers + Frontend Design — gate, фазы, разделения) @@ -77,7 +77,7 @@ --- -## 3. Карта 33 инструментов — «когда что использовать» +## 3. Карта 35 инструментов — «когда что использовать» Полный реестр с командами установки и конфликтами — [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md). Здесь — оперативная карта для частых задач. @@ -123,6 +123,8 @@ | 31 | Резерв-библиотека UI (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков) — *off-phase tool* | **UI UX Pro Max** (skill `ui-ux-pro-max@ui-ux-pro-max-skill`) | автоматически через `~/.claude/settings.json`; активация — только через PSR_v1 v1.6 R14.3 pipeline (фаза 2 R2 fallback к FD ИЛИ фаза 1 R2 «третий вариант» в R12 архитектурном); R6.0 фильтр + R6.1 hard-override Forest обязательны | | 32 | Генератор стартовых шаблонов для UI-компонентов (LLM-based) — *off-phase tool* | **21st.dev Magic MCP** (`magic` сервер в `~/.claude.json`, tools `mcp__magic__21st_magic_component_*` + `logo_search`) | активация — только через PSR_v1 v1.6 R14.4 pipeline (pre-check R0.6 пунктов 9–10: брендовый App*? Vuetify-эквивалент? существующий компонент? — все «нет» обязательно) → R6.0 фильтр (JSX→Vue, Tailwind→utility, shadcn→Vuetify) → R6.1 hard-override → FD адаптация; Pa11y обязателен на deployable | | 33 | Инфраструктурный плагин для CLAUDE.md edits — *off-phase tool, инфраструктурная категория* | **claude-md-management** (skills `claude-md-improver` + `revise-claude-md`, marketplace `anthropics/claude-plugins-official`) | автоматически через `~/.claude/settings.json`; **обязательный канал** правок CLAUDE.md (§5 п.10). Категория **инфраструктурная** (не UI), **вне UI-пула §13** Pravila (но в §13.2 как infrastructure subsection v1.9+) — поэтому не проходит R6.0/R6.1 фильтр и R14 pipeline. Регулируется PSR_v1 R10.1 блок 1 | +| 34 | Off-phase MCP — отладка production runtime errors через self-hosted Sentry в Yandex Cloud — *off-phase tool, debug-runtime категория* | **Sentry MCP** (`@sentry/mcp-server@0.33.0+`, official, repo `getsentry/sentry-mcp`, bin `sentry-mcp`, server `sentry` в `.mcp.json`, tools `mcp__sentry__*`) | автоматически через `.mcp.json`. Env vars `SENTRY_URL` + `SENTRY_AUTH_TOKEN` через PowerShell User scope. Установлен 13.05.2026 day +1 (commit `6f7e7d7`); merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.92. Pending: Sentry instance deployment (зависит от Б-1 ООО registration). Категория **debug-runtime**, отдельная от UI-пула (UPM/21st) и infrastructure (claude-md-management) — не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline. READ-ONLY scope (`org:read`/`project:read`/`event:read`). Регулируется PSR_v1 R10.1 блок 3 | +| 35 | Off-phase MCP — отладка Redis/Memurai очередей, кэша, Pest --parallel race conditions (quirks 72/77) — *off-phase tool, debug-runtime категория* | **Redis MCP** (`@modelcontextprotocol/server-redis@2025.4.25` — DEPRECATED Anthropic source; migration plan на `@easy-mcps/redis-mcp-server@1.0.8` post-MVP; server `redis` в `.mcp.json`, tools `mcp__redis__*`) | автоматически через `.mcp.json`. URL `redis://localhost:6379` (Memurai Windows service, verified Task 4 `memurai-cli ping → PONG`). Установлен 13.05.2026 day +1 (commit `bd4ec48`); merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.92. READ-ONLY usage обязателен (никаких DEL/FLUSHDB/SET/LPUSH из Claude — только read-операции). Cosmetic deprecation warning в stderr на startup. Категория **debug-runtime**. Регулируется PSR_v1 R10.1 блок 3 | ### 3.4. Фаза 3 — pre-production (+5, итого 29) @@ -134,7 +136,7 @@ | 28 | Audit-логи PostgreSQL | pg_audit | расширение БД | | 29 | Маскирование ПДн в дампах | pg_anonymizer | расширение БД | -(Нумерация: #1–#29 — phase-slot (фазы 0–3) в порядке введения; #30 Frontend Design plugin добавлен post-MVP в фазу 2 после закрытия фазы 3 в реестре; #31 UPM, #32 21st Magic MCP, #33 claude-md-management — off-phase tools (формализованы post-факт, см. §6). **Phase-slot активных: 29** — из 30 phase-номеров минус #1 PostgreSQL MCP (заменён #10 Boost). Off-phase tools — отдельная категория, не входят в фазовую раскладку. **Total формализованных позиций: 33** = 29 phase-active + 3 off-phase + 1 historic (#1).) +(Нумерация: #1–#29 — phase-slot (фазы 0–3) в порядке введения; #30 Frontend Design plugin добавлен post-MVP в фазу 2 после закрытия фазы 3 в реестре; #31 UPM, #32 21st Magic MCP, #33 claude-md-management, #34 Sentry MCP, #35 Redis MCP — off-phase tools (формализованы post-факт, см. §6). **Phase-slot активных: 29** — из 30 phase-номеров минус #1 PostgreSQL MCP (заменён #10 Boost). Off-phase tools — отдельная категория, не входят в фазовую раскладку (UI-пул UPM #31 + 21st #32; infrastructure claude-md-management #33; debug-runtime Sentry #34 + Redis #35 — три разные подкатегории off-phase). **Total формализованных позиций: 35** = 29 phase-active + 5 off-phase + 1 historic (#1).) ### 3.5. Заметки к `.claude/settings.json` @@ -255,6 +257,7 @@ trivy image liderra:latest Полная история — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) (вынесена 09.05.2026 при правке v1.73→v1.74 ради лаконичности шапки). Здесь — последние правки: +- **v1.92 от 13.05.2026 (day +1)** — Task 9 sync нормативки после merge PR #3 (`cc5f63b`). **Изменения:** **§3.3 +#34 Sentry MCP + #35 Redis MCP** (off-phase debug-runtime category, отдельная от UI-пула UPM/21st и infrastructure claude-md-management); **§3 title** «Карта 33 инструментов» → «35»; **§1 priority chain row 2b** «33 инструментов» → «35»; **§3.3 footer count** 33 → 35 (29 phase-active + 5 off-phase + 1 historic); **§0 cross-refs** Tooling v1.16 → v1.17 (§4.8 Sentry + §4.9 Redis новые subsections), PSR_v1 v2.0 → v2.1 (R10.1 Блок 3 +sentry+redis с категорией debug-runtime), Pravila v1.12 → v1.13 (§13.2 +новый абзац «Off-phase MCP debug-runtime»). **NB:** PR #3 уже добавил 4 plan/spec/drafts files в `docs/superpowers/` от feat/claude-automation; CLAUDE.md §0 cross-refs к ним не нужны (operational map указывает на нормативку и schema, не на implementation plans). **Branch:** `feat/claude-automation-norm-sync` commits 763aeae (Tooling) + c1f9719 (PSR_v1) + 318aed4 (Pravila); этот commit для CLAUDE.md через `/claude-md-management:claude-md-improver` per §5 п.10. **Sentry/Redis MCP установлены:** sentry@6f7e7d7 (env `SENTRY_URL`+`SENTRY_AUTH_TOKEN` через PowerShell User scope; pending Sentry instance deployment Б-1), redis@bd4ec48 (deprecated `@modelcontextprotocol/server-redis@2025.4.25`, рабочий с Memurai PONG verified Task 4). READ-ONLY usage обязателен для обоих. **Без изменений:** §2-§8 контент invariant (кроме точечных edit'ов §3); код / schema / tests — нетронуты. - **v1.91 от 13.05.2026 (day +1)** — Session-end documentation hygiene после CTO-19 ✅ closure via Lucide migration. **§0 row Pravila** bumped v1.11 → v1.12 (methodology additions: §4.6 +UI-refactor visual smoke; §4.7 +п.4 plans/specs relative paths). **Связано:** реестр v1.82→v1.83 (CTO-19 closure в commit `0832997`, `f6e1e64` link fixup); audit `findings.md` Q.INFO.001 +audit methodology gap note (Phase 4 SAST coverage check must begin с `ls .github/workflows/` — пропустил `.github/workflows/sast.yml` 12.05.2026); memory quirks 74-76 (Lucide+Histoire `--legacy-peer-deps` / Vuetify-internal default mdi-* gap / plans-relative-paths `../../../`). **Без изменений:** §0 cross-refs PSR_v1 v2.0 / Tooling v1.16 / реестр v1.83 (актуальные); §2-§8 контент invariant; код / schema / migrations / тесты — нетронуты. Регрессия (фактическая, не verified в этом bump'е — verified в предыдущем commit `0832997`): Pest --parallel 742/739/0/3, Vitest 88 files / 683 / 3 skipped, Vite build 3.52s, axe-core 0 iconography violations. **Через:** `superpowers:brainstorming` (F-option scope clarification) → `:writing-plans` → `/claude-md-management:revise-claude-md` (для этого CLAUDE.md bump per §5 п.10) + ручные Edit (Pravila §4.6/§4.7 + audit findings.md). Workflow learning (capture для future sessions): для mechanical UI-refactor пайплайн brainstorming → writing-plans → subagent-driven-development efficient (CTO-19 case). - **v1.90 от 13.05.2026 (day)** — Merge R15 motion-runtime removal cleanup из `origin/main` в `plan5-frontend-projects`. Merge-base `48f27b4`; plan5 был 113 ahead / 2 behind. Origin/main за этот период получила 2 коммита: `0fd93fd` (planning artefacts spec+plan, +2 files) + `615db99` (нормативная правка 5 файлов: PSR_v1 v1.7→v2.0, Pravila v1.10→v1.11, Tooling v1.15→v1.16, CLAUDE.md v1.87→v1.88, CHANGELOG entry). `git merge-tree` показал ровно 2 conflict'а: CLAUDE.md (шапка version + §9 entries) и CHANGELOG_claude_md.md (entries). Остальные 3 нормативных файла fast-forward без conflict'а (plan5 не редактировал их после fork). **Конфликт-resolution:** шапка → v1.90 unified; §0 cross-refs → take origin/main (Pravila v1.11 / PSR_v1 v2.0 / Tooling v1.16); §2 Animation default stack → take origin/main (motion-runtime guidance); §5 п.12 → take origin/main (marker «Резерв (снят 12.05.2026)»); §6 фаза + §8 self-review → keep plan5 (Plan 4 MERGED + Plan 5 frontend + Quiet Luxury context); §9 история версий → keep both v1.88 entries explicitly labelled (plan5 audit schema-sync + origin/main R15 removal — distinct concerns, version-number collision result of parallel-branch bump'ов), plus v1.89 plan5 factual fix + new v1.90 merge entry. **Через ручное conflict resolution + post-merge `/claude-md-management:revise-claude-md` polish (per §5 п.10).** Memory updates после push: `feedback_plugin_paired_stack.md` (remove branch-divergent note + bump tier-структуру к v2.0), `project_state.md` (branch counters), `reference_archive.md` (file version refs). - **v1.89 от 12.05.2026 (ночь, post-audit continuation)** — factual fix §6 + шапка v1.88 changelog: коммит `615db99` ошибочно представлен как Plan 4 merge (фактически `615db99` это R15 motion-runtime removal commit «chore(rules): remove R15 motion-runtime restrictions (PSR_v1 v2.0)»; правильный Plan 4 closure marker на origin/main — `8681040` «docs: Plan 4 closure — CLAUDE.md v1.87 + Открытые_вопросы v1.78», backend task-коммиты Plan 4 `a907fea..174dbae` (Tasks 9-11) merged ранее). Дополнительно: коммит `f4ec5dc` («fix(redesign): sidebar position:fixed + main padding-left — restore main content visibility» — Quiet Luxury hotfix на ветке `plan5-frontend-projects`) ошибочно представлен в v1.88 §6 как PSR_v1 R15 removal — убран из §6 формулировки (Quiet Luxury hotfix не связан с R15 motion-runtime removal и не находится на origin/main). Связанные документы НЕ требуют изменений: Pravila v1.10 / PSR_v1 v1.7 / Tooling v1.15 / реестр v1.77 на ветке `plan5-frontend-projects` остаются как есть; фактологический фикс локален в CLAUDE.md. Verified через `git show 615db99 --stat` (subject «chore(rules): remove R15 motion-runtime restrictions (PSR_v1 v2.0)») + `git show 8681040` (subject «docs: Plan 4 closure — CLAUDE.md v1.87 + Открытые_вопросы v1.78») + `git show f4ec5dc` (subject «fix(redesign): sidebar position:fixed + main padding-left — restore main content visibility»). Заказчик: «доделывать аудит, поправить ошибку в CLAUDE.md». Через `/claude-md-management:claude-md-improver`. *(NB v1.90 post-merge: связанные документы Pravila/PSR_v1/Tooling всё-таки обновились — но не из-за фактологического фикса плана5, а из-за подтянутого R15 removal из origin/main. Этот NB не отменяет v1.89 logic — он добавляет post-merge context.)* diff --git a/cspell-words.txt b/cspell-words.txt index b1f0afb5..dbb4f207 100644 --- a/cspell-words.txt +++ b/cspell-words.txt @@ -5,6 +5,12 @@ лидерра liderra +# Tooling v1.17 — off-phase MCP debug-runtime (Sentry + Redis MCP) +wenit +FLUSHDB +LPUSH +нормативку + # Audit-cited mixed-script artifacts (из исходников web/v8/*.html + design-spec'ов; # сохраняются как finding'и для manual review, добавлены в словарь чтобы audit-docs # не валили cspell) diff --git a/docs/Plugin_stack_rules_v1.md b/docs/Plugin_stack_rules_v1.md index cdfbf918..c90a2c0e 100644 --- a/docs/Plugin_stack_rules_v1.md +++ b/docs/Plugin_stack_rules_v1.md @@ -1,7 +1,7 @@ -# Plugin Stack Rules — Superpowers + Frontend Design (v2.0) +# Plugin Stack Rules — Superpowers + Frontend Design (v2.1) -**Дата:** 12.05.2026 -**Назначение:** свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро `obra/superpowers` (14 skills) + `anthropics/frontend-design`, плюс расширенный пул UI-инструментов `ui-ux-pro-max` (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) и `21st.dev Magic MCP` (MCP-сервер `magic`), плюс инфраструктурный `claude-md-management` (skills, marketplace `anthropics/claude-plugins-official`). Снимает запрет CLAUDE.md §5 п.5 на Frontend Design plugin (действовал до v1.77 включительно). Документ — внутренне непротиворечив: 8 первичных конфликтов закрыты в v1.0 + 5 патчей по реальным трениям A–E в v1.1 + 4 новых правила R10–R13 против перекрытий с другими плагинами в v1.2 + 6 уточняющих патчей F–K по найденным трениям второго порядка в v1.3 + 1 новое правило R14 (pipeline внешних UI-генераторов: UPM + 21st Magic MCP) в v1.4 (R15 motion-системы введены в v1.4 и удалены в v2.0) + 5 структурных правок аудита в v1.5 (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка) + 3 правки второго аудита в v1.6 (R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устраняет дрейф формулировок; R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling Прил. Н slot уровня 2b) + 1 правка третьего аудита в v1.7 (sync cross-refs на актуальные версии связанных документов после bump'ов CLAUDE.md v1.86 / Tooling v1.15; description-fix описки «уровня 2.5»→«уровня 2b» внутри changelog'а v1.6, сверка с фактическим R0.1) + 1 правка четвёртого аудита в v2.0 (12.05.2026 — снят R15 motion-runtime по решению заказчика; conscious rollback v1.4 audited construction; framer-motion переведён из regulatory hard-запрета в technical-guidance уровень: peerDep на react+react-dom, не работает в Vue физически). +**Дата:** 13.05.2026 (day +1) +**Назначение:** свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро `obra/superpowers` (14 skills) + `anthropics/frontend-design`, плюс расширенный пул UI-инструментов `ui-ux-pro-max` (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) и `21st.dev Magic MCP` (MCP-сервер `magic`), плюс инфраструктурный `claude-md-management` (skills, marketplace `anthropics/claude-plugins-official`), плюс **debug-runtime MCP** `@sentry/mcp-server` + `@modelcontextprotocol/server-redis` (v2.1+, R10.1 Блок 3). Снимает запрет CLAUDE.md §5 п.5 на Frontend Design plugin (действовал до v1.77 включительно). Документ — внутренне непротиворечив: 8 первичных конфликтов закрыты в v1.0 + 5 патчей по реальным трениям A–E в v1.1 + 4 новых правила R10–R13 против перекрытий с другими плагинами в v1.2 + 6 уточняющих патчей F–K по найденным трениям второго порядка в v1.3 + 1 новое правило R14 (pipeline внешних UI-генераторов: UPM + 21st Magic MCP) в v1.4 (R15 motion-системы введены в v1.4 и удалены в v2.0) + 5 структурных правок аудита в v1.5 (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка) + 3 правки второго аудита в v1.6 (R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устраняет дрейф формулировок; R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling Прил. Н slot уровня 2b) + 1 правка третьего аудита в v1.7 (sync cross-refs на актуальные версии связанных документов после bump'ов CLAUDE.md v1.86 / Tooling v1.15; description-fix описки «уровня 2.5»→«уровня 2b» внутри changelog'а v1.6, сверка с фактическим R0.1) + 1 правка четвёртого аудита в v2.0 (12.05.2026 — снят R15 motion-runtime по решению заказчика; conscious rollback v1.4 audited construction; framer-motion переведён из regulatory hard-запрета в technical-guidance уровень: peerDep на react+react-dom, не работает в Vue физически) + 2 строки R10.1 Блок 3 в v2.1 (13.05.2026 day +1 — debug-runtime MCP формализованы retrospective после PR #3 merge). **Принцип-аксиома (v1.2, уточнён в v1.3, расширен в v1.4):** **Stack (Superpowers + Frontend Design) — головной при решении любой задачи** в части плагинов и поведенческих слоёв. Stack-gate (R0) — единственная и **первая** точка входа. Все остальные плагины (ui-ux-pro-max, 21st Magic MCP, claude-md-management, review, security-review, init, simplify и др.) — **инструменты**, инвокируемые **внутри** stack-flow как подзадачи, не как альтернативы или параллельные решатели. Stack **исполняет** Pravila/CLAUDE.md, а не перебивает их (см. R0.1 для точного scope «головенства»). Другие плагины могут получить работу только по делегированию из stack'а или по явному `/имя-плагина` от пользователя. @@ -411,6 +411,8 @@ Stack — **головной**. Все плагины вне stack'а — **ин | **Boost MCP** *(`laravel-boost` сервер, 9 tools)* | `.mcp.json` (`php app/artisan boost:mcp`) | стек-знания (PHP/Laravel/Vue/Vuetify/Pest) + БД-инструменты (database-query, database-schema, database-connections) + диагностика (last-error, read-log-entries, browser-logs) + docs (search-docs) | **автоматически** на работе с `.vue`/`.php`/`.sql` файлами; **слой ниже** stack'а — служебный, не конкурирует за gate. Через Roster auto-detect серверит только релевантные guidelines (Inertia/Livewire/Tailwind/Filament/Sail/PHPUnit не серверятся, у нас их нет) | | **playwright** | `.mcp.json` (`@playwright/mcp@latest`) | браузерная автоматизация — открыть `web/*.html`, screenshot, проверка интерактива | при работе с HTML-прототипами или для UI-смоук-тестов | | **github** | `.mcp.json` (HTTP `api.githubcopilot.com/mcp`, требует `GITHUB_TOKEN`) | официальный hosted GitHub MCP — issues, PRs, search-code, list-commits и т.д. | при работе с GitHub-объектами (PR, issues, branches) | +| **sentry** *(`@sentry/mcp-server@0.33.0+`, official; tools `mcp__sentry__*`)* | `.mcp.json` (env `SENTRY_URL` + `SENTRY_AUTH_TOKEN` через PowerShell User scope) | **debug-runtime MCP** — production error investigation в self-hosted Sentry (Yandex Cloud per CLAUDE.md §2). Категория **debug-runtime** (v2.1+) — отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management). Tooling #34. Pending Sentry instance deployment (Б-1) | при investigation runtime error / post-incident debug. READ-ONLY scope (`org:read`/`project:read`/`event:read`). Не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline UI-генераторов | +| **redis** *(`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source)* | `.mcp.json` (`redis://localhost:6379` к Memurai Windows service) | **debug-runtime MCP** — Redis/Memurai inspection (очереди, кэш, Pest --parallel race conditions per quirk 72/77). Категория **debug-runtime** (v2.1+). Tooling #35. Memurai PONG verified Task 4. Migration plan на community alternative (e.g., `@easy-mcps/redis-mcp-server@1.0.8`) post-MVP | при debug Redis runtime. **READ-ONLY usage обязателен** — никаких DEL/FLUSHDB/SET/LPUSH из Claude. Manual mutations — через `memurai-cli` напрямую заказчиком. Cosmetic deprecation warning в stderr | **Отмена:** через удаление из `~/.claude.json` или `.mcp.json`. Live-override через `/команду` для MCP не предусмотрен — MCP-серверы не имеют slash-интерфейса. @@ -736,6 +738,18 @@ Pipeline активируется при одновременном выполн ## История версий +- **v2.1 от 13.05.2026 (day +1)** — формализация retrospective двух off-phase **debug-runtime MCP** серверов установленных на feat/claude-automation (commits `6f7e7d7` sentry, `bd4ec48` redis), merged в main через PR #3 (`cc5f63b`). + + **Изменено:** + - **R10.1 Блок 3 (MCP-серверы) +2 строки:** `sentry` (`@sentry/mcp-server@0.33.0+`, official, Tooling #34, pending Б-1 instance) + `redis` (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source, Tooling #35, Memurai PONG verified Task 4). Категория **debug-runtime** introduced — отличная от UI-пула (UPM/21st) и infrastructure (claude-md-management). Не trigger'ит R6.0/R6.1 фильтры стека (READ-ONLY, не модифицируют code/UI/CLAUDE.md), не входит в R14 pipeline UI-генераторов. + - **Шапка** date: 12.05.2026 → 13.05.2026 (day +1); version: v2.0 → v2.1; L4 narrative +упоминание debug-runtime MCP в v2.1. + + **НЕ затронуто:** R0–R14 целиком (стек-фильтр R6.0/R6.1, paired-stack R10.1 Блоки 1+2, R10.4 transitive hard-rule, иерархия источников R11.1–R11.5, decision matrix R12/R13, UI-pipeline R14 — все в силе). Pravila §12 hard rule Superpowers инвокации — без изменений. + + **Rationale:** sentry + redis MCP уже active в `.mcp.json` после PR #3 merge. Без формализации в R10.1 — повтор precedent v1.83 audit gap («5 инструментов активно без формализации»). Категория **debug-runtime** — distinguished от UI-пула чтобы не trigger'ить R6/R14 pipeline для не-UI MCP. READ-ONLY constraint enforced (нет mutations). + + Связанные обновления: Tooling v1.16 → v1.17 (§0 +#34/#35, §4.8 + §4.9 новые subsections), CLAUDE.md v1.91 → v1.92 (§3.3 +#34/#35, §0 cross-refs), Pravila v1.12 → v1.13 (§13.2 +Off-phase MCP debug-runtime subsection), Memory MEMORY.md + reference_archive.md version refs sync. Через ручные Edit (PSR_v1/Tooling/Pravila) + `/claude-md-management:claude-md-improver` (CLAUDE.md per §5 п.10). + - **v2.0 от 12.05.2026** — major bump: removal of R15 motion-runtime restrictions per user decision. Conscious rollback of v1.4 audited construction (10.05.2026, R15 двухуровневая motion + R0.6 п.11 + R8 motion-tie-breakers + R11.6 motion-иерархия + R13 motion-сценарии). **Удалено:** diff --git a/docs/Pravila_raboty_Claude_v1_1.md b/docs/Pravila_raboty_Claude_v1_1.md index 28d74d30..c09a12d5 100644 --- a/docs/Pravila_raboty_Claude_v1_1.md +++ b/docs/Pravila_raboty_Claude_v1_1.md @@ -1,10 +1,17 @@ # Правила работы Claude в проекте «Лидерра» -**Версия:** v1.12 (утверждена заказчиком 13.05.2026 day +1) +**Версия:** v1.13 (утверждена заказчиком 13.05.2026 day +1) **Дата:** 13.05.2026 **Назначение:** настройки проекта (Project instructions) — Claude читает этот файл в каждом чате и следует правилам ниже. **Статус документа:** ✅ утверждён. Содержимое скопировано в поле "Project instructions" Claude.ai. Файл хранится в архиве как служебный документ. +**Что изменилось в v1.13 относительно v1.12:** + +- **§13.2 расширен** — добавлен абзац про «Off-phase MCP debug-runtime (отдельная категория)» для двух retrospectively формализованных off-phase MCP серверов установленных на feat/claude-automation (commits `6f7e7d7` sentry, `bd4ec48` redis) после merge PR #3 в main (`cc5f63b`): `@sentry/mcp-server` (Tooling #34, pending Б-1 instance) + `@modelcontextprotocol/server-redis` (Tooling #35, deprecated Anthropic source, Memurai PONG verified Task 4). Категория **отдельная** от UI-пула (§13.1-§13.8 — UPM/21st) и от infrastructure (claude-md-management) — не trigger'ит R6.0/R6.1 stack-фильтры и не входит в R14 pipeline UI-генераторов. READ-ONLY usage обязателен. +- **§13.2 cross-ref на PSR_v1:** «v2.0 (15 правил R0–R14)» → «v2.1 (15 правил R0–R14 + R10.1 Блок 3 +sentry+redis MCP)». +- **Связано:** PSR_v1 v2.0 → v2.1 (R10.1 Блок 3 +2 строки), Tooling v1.16 → v1.17 (§4.8 + §4.9 новые subsections), CLAUDE.md v1.91 → v1.92 (§3.3 +#34/#35; §0 cross-refs), Memory MEMORY.md + reference_archive.md version refs sync. Через ручные Edit (Pravila/PSR_v1/Tooling) + `/claude-md-management:claude-md-improver` (для CLAUDE.md per §5 п.10). +- Без других содержательных изменений в §§1–12 + §§13.1, 13.3–13.10. + **Что изменилось в v1.12 относительно v1.11:** - **§4.6 self-review** — добавлен subsection «Для UI-refactor (icon migration, palette swap, layout overhaul)»: обязательная visual smoke verification на ключевых views через Playwright MCP / browser. Unit tests (Vitest jsdom) НЕДОСТАТОЧНЫ для icon/visual refactor — иконки рендерятся в production HTML через CSS/SVG, не в jsdom test environment. Lesson learned от CTO-19 Lucide migration (13.05.2026): pagination/v-select default icons возвращали fallback HelpCircle до Task 2.b extension (+25 Vuetify-internal mdi mappings) — visual smoke на /admin/billing обнаружил gap, unit tests не показали. @@ -635,7 +642,7 @@ P0 = блокер старта спринта или регуляторного ### 13.2. Парность со Superpowers + расширенный пул UI-инструментов (v1.8) -Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный stack одного приоритетного уровня**. Оба плагина подключены к gate stack'а одновременно, между ними нет иерархии. Координация — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) **v2.0 (15 правил R0–R14)**. +Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный stack одного приоритетного уровня**. Оба плагина подключены к gate stack'а одновременно, между ними нет иерархии. Координация — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) **v2.1 (15 правил R0–R14 + R10.1 Блок 3 +sentry+redis MCP debug-runtime)**. **Расширенный пул UI-инструментов (v1.8)** добавляет к paired-stack ядру два внешних плагина в роли **инструментов** (R10.1 PSR_v1, не решателей): @@ -652,6 +659,8 @@ Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный sta **Инфраструктурные плагины (вне расширенного UI-пула, v1.9+):** `claude-md-management` (skills `claude-md-improver` + `revise-claude-md`, marketplace `anthropics/claude-plugins-official`) — единственный интерфейс правок CLAUDE.md (CLAUDE.md §5 п.10). Категория **инфраструктурная**, не UI — поэтому не попадает под §13 (расширенный UI-пул) и не проходит R6.0/R6.1 фильтр / R14 pipeline. Регулируется PSR_v1 R10.1 блок 1 (`enabledPlugins`-плагины) как off-pool tool. Аналогичные инфраструктурные категории — built-in skills Claude Code (`review`, `security-review`, `init`, `simplify`, `update-config`, `keybindings-help`, `fewer-permission-prompts`, `loop`, `schedule`, `claude-api`) — активируются по явному `/имя` от пользователя; PSR_v1 R10.1 блок 2. +**Off-phase MCP debug-runtime (отдельная категория, введена v1.13 Pravila, 13.05.2026 day +1):** `@sentry/mcp-server@0.33.0+` (Tooling #34, server `sentry` в `.mcp.json`) — отладка production errors в self-hosted Sentry (Yandex Cloud per CLAUDE.md §2; pending Б-1 ООО registration); `@modelcontextprotocol/server-redis@2025.4.25` (Tooling #35, server `redis` в `.mcp.json`; deprecated Anthropic source; Memurai PONG verified Task 4) — отладка Redis/Memurai runtime (очереди, кэш, Pest --parallel races per quirk 72/77). **Категория отдельная** от UI-пула (§13.2 paired-stack + UPM + 21st) и от infrastructure (claude-md-management §13.2 paragraph выше) — **не trigger'ит R6.0/R6.1 stack-фильтры** (READ-ONLY, не модифицируют code/UI/CLAUDE.md) и **не входит в R14 pipeline** UI-генераторов. Регулируется PSR_v1 R10.1 Блок 3 (`.mcp.json`-серверы) как debug-runtime off-phase tool. READ-ONLY usage обязателен — никаких mutation операций (DEL/FLUSHDB/SET/LPUSH для Redis; write actions для Sentry). Установлены retrospective на feat/claude-automation `6f7e7d7` (sentry) + `bd4ec48` (redis), merged через PR #3 (`cc5f63b`). + ### 13.3. Скоуп | Тип задачи | Кто отвечает | diff --git a/docs/Tooling_v8_3.md b/docs/Tooling_v8_3.md index 2f4e5984..72a9c41a 100644 --- a/docs/Tooling_v8_3.md +++ b/docs/Tooling_v8_3.md @@ -1,8 +1,8 @@ # Приложение Н — Tooling, скиллы и плагины Claude (v8.3) -**Дата:** 12.05.2026 -**Версия:** 1.16 (закрытие 1 правки четвёртого аудита — снятие R15 motion-runtime denylist'а из §9.2 синхронно с PSR_v1 v1.7 → v2.0 + CLAUDE.md v1.87 → v1.88 + Pravila v1.10 → v1.11. Заказчик 12.05.2026: «сними все запреты на использование framer motion». Через `/claude-md-management:claude-md-improver` + ручные Edit.) -**Предыдущая версия:** 1.15 (закрытие 4 находок третьего аудита: sync cross-refs шапки после bump'ов CLAUDE.md v1.85 → v1.86 и PSR_v1 v1.6 → v1.7, формулировка «28 инструментов» → «33 формализованных позиции»). +**Дата:** 13.05.2026 (day +1) +**Версия:** 1.17 (формализация retrospective двух off-phase MCP debug-инструментов установленных на feat/claude-automation `6f7e7d7` + `bd4ec48` после merge PR #3 в main `cc5f63b`: §0 счётчик off-phase 3 → 5, итого 33 → 35; §4.8 новый — #34 Sentry MCP; §4.9 новый — #35 Redis MCP. Категория debug-runtime, отдельная от UI-пула. Связано: PSR_v1 v2.0 → v2.1, CLAUDE.md v1.91 → v1.92, Pravila v1.12 → v1.13.) +**Предыдущая версия:** 1.16 (12.05.2026 — снятие R15 motion-runtime denylist'а из §9.2 синхронно с PSR_v1 v1.7 → v2.0 + CLAUDE.md v1.87 → v1.88 + Pravila v1.10 → v1.11. Через `/claude-md-management:claude-md-improver` + ручные Edit.) **Адресат:** Claude + разработчики проекта Лидерра **Назначение:** единый источник истины по 33 формализованным позициям тулчейна (29 «активных» номеров фаз + 3 off-phase инструмента-резерв в категориях UI-пул и инфраструктура — UPM, 21st, claude-md-management; +1 заменённый PG MCP исторически), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент. @@ -81,9 +81,9 @@ | **1 — старт Laravel** | `composer create-project laravel/laravel` | **17** | +9 новых, −1 заменённый (PostgreSQL MCP → Laravel Boost) | | **2 — старт frontend** | первый коммит в `resources/js/` (Vue 3 + Vuetify 3) | **24** | +7 (включая #30 Frontend Design plugin, добавлен post-MVP в v1.10) | | **3 — pre-production** | ~спринт 12, перед публичным релизом | **29** | +5 | -| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` | **+3** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits) | +| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` / `.mcp.json` | **+5** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits), #34 Sentry MCP (debug self-hosted Sentry в Yandex Cloud), #35 Redis MCP (debug Memurai/Redis runtime) | -**Итого формализованных позиций:** 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7 (off-phase). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9. +**Итого формализованных позиций:** 35 (29 активных по фазам + 5 off-phase + 1 заменённый PG MCP исторически). Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7/§4.8/§4.9 (off-phase). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9. **Ключевой принцип фазирования:** не активируем фазу N+1, пока не закрыт триггер фазы N. Без `composer create-project` Boost не работает; без Vuetify-приложения Histoire бесполезен. @@ -323,6 +323,48 @@ **Аналогичные категории (built-in skills Claude Code, не плагины через marketplace):** `review`, `security-review`, `init`, `simplify`, `update-config`, `keybindings-help`, `fewer-permission-prompts`, `loop`, `schedule`, `claude-api`. Активируются по явному `/имя` от пользователя; не входят в `enabledPlugins`. См. PSR_v1 R10.1 блок 2 для полного реестра. +### 4.8. Debug-инструмент Sentry — Sentry MCP (off-phase tool) + +> **Введено 13.05.2026 day +1 (v1.17 Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `6f7e7d7` в `.mcp.json`, merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.17. Категория **debug-runtime**, отличная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — поэтому отдельная нумерация. Pending Sentry instance deployment в Yandex Cloud (зависит от Б-1 ООО registration P0). + +| # | Инструмент | Установка | Состав | Когда использовать | +|---|---|---|---|---| +| 34 | **Sentry MCP** (`@sentry/mcp-server@0.33.0+`, official, repo `getsentry/sentry-mcp`, bin `sentry-mcp`) | `.mcp.json`: `mcpServers.sentry.command="npx" args=["-y", "@sentry/mcp-server"] env={SENTRY_URL, SENTRY_AUTH_TOKEN}`. Env vars — через PowerShell User scope (`[Environment]::SetEnvironmentVariable("SENTRY_URL", ..., "User")`). Credentials НЕ commit'ятся (gitleaks gate). | MCP tools: `mcp__sentry__get_issue`, `_list_events`, `_search_errors` (+ другие per @sentry/mcp-server@0.33.0 spec) | (1) production runtime error в self-hosted Sentry → прямой запрос issue details из Claude session; (2) post-incident debug (CLAUDE.md §2: Sentry self-hosted в Yandex Cloud); (3) READ-ONLY usage — scope auth token `org:read`, `project:read`, `event:read` only | + +**Обязательные правила использования:** + +| Правило | Где | Что значит | +|---|---|---| +| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Sentry MCP в **отдельной категории** от UPM/21st и от claude-md-management; не попадает в R14 pipeline UI-генераторов и не модифицирует CLAUDE.md | +| **CLAUDE.md §5 п.4** не commit'ить ПДн/токены | CLAUDE.md | `SENTRY_AUTH_TOKEN` — секрет, НИКОГДА не в репозиторий. Только через PowerShell User scope env или `.env.local` (gitignored) | +| **R7** не закрывает задачу | R7 PSR_v1 | Sentry MCP — источник информации, не gate (не deployable artifact) | +| **Pre-MVP блокер** | — | Sentry instance в Yandex Cloud зависит от Б-1 ООО registration. До deployment — MCP startup fail gracefully (env пустые), tools не enumerable; это OK | + +**Live-отмена (R0.4.B PSR_v1):** «не используй sentry-mcp сейчас» — отключает на текущее действие. По умолчанию активен после reload session с непустыми env vars. + +**Безопасность:** Token `SENTRY_AUTH_TOKEN` — bearer secret. PowerShell User scope = encrypted per-user (Windows DPAPI). Не shared между пользователями. При утечке — немедленно revoke через Sentry web UI (`Settings → Account → API → Auth Tokens`). + +### 4.9. Debug-инструмент Redis — Redis MCP (off-phase tool) + +> **Введено 13.05.2026 day +1 (v1.17 Прил. Н):** формализован как «инструмент-резерв вне фаз, debug-категория». Установлен на feat/claude-automation `bd4ec48` в `.mcp.json`, merged в main через PR #3 (`cc5f63b`); формализован retrospectively в v1.17. Package `@modelcontextprotocol/server-redis@2025.4.25` **deprecated** по статусу npm («Package no longer supported»), но Anthropic source, рабочий. Post-MVP migration на community alternative (e.g., `@easy-mcps/redis-mcp-server@1.0.8` или `@wenit/redis-mcp-server@1.0.3`) когда подтвердим trust. + +| # | Инструмент | Установка | Состав | Когда использовать | +|---|---|---|---|---| +| 35 | **Redis MCP** (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source) | `.mcp.json`: `mcpServers.redis.command="npx" args=["-y", "@modelcontextprotocol/server-redis", "redis://localhost:6379"]`. Memurai (Windows Redis 7-совместимый service) running на `localhost:6379` — verified Task 4 (`memurai-cli ping → PONG`). | MCP tools: Redis operations (KEYS, GET, LRANGE, etc.) | (1) debug очередей (`route:supplier:*`); (2) debug кэша (`supplier:session` per quirk 72); (3) debug Pest --parallel race conditions; (4) READ-ONLY usage — НЕ для prod (нет prod пока). Если в будущем prod Redis с auth — отдельный entry `redis-prod` с url через env var | + +**Обязательные правила использования:** + +| Правило | Где | Что значит | +|---|---|---| +| **R10.1** debug-runtime, не UI и не инфраструктура | R10.1 PSR_v1 (v2.1+) | Redis MCP в той же категории что #34 sentry-mcp | +| **READ-ONLY usage** | соглашение проекта | Никаких `DEL`, `FLUSHDB`, `SET`, `LPUSH` от Claude в runtime debug. Только read-операции. Manual Redis mutations — через `memurai-cli` напрямую заказчиком | +| **Package deprecation** | npm | На startup `npx` emits deprecation warning в stderr. Это **cosmetic**, не functional. При выходе supported alternative (community OR official replacement) — migrate в Tooling v1.18+ | +| **R7** не закрывает задачу | R7 PSR_v1 | Redis MCP — источник информации, не gate | + +**Live-отмена (R0.4.B PSR_v1):** «не используй redis-mcp сейчас» — отключает на текущее действие. + +**Безопасность:** Локальный Memurai на 6379 **без auth** — это dev-only setup. Если в будущем будут prod Redis с auth — entry `redis-prod` с url через env var `${REDIS_PROD_URL}`, credentials через PowerShell User scope (как Sentry). Сейчас prod нет (зависит от Б-1). + --- ## 5. Фаза 3 — pre-production (+5 новых, итого 29 активных) @@ -605,9 +647,15 @@ Vuetify-тема — `liderraLight` и `liderraDark` — определена в | **v1.13** | 10.05.2026 | **Закрытие 4 структурных находок аудита нормативной документации:** **§7 «Source of truth»** обновлён с 5-уровневой на 7-уровневую цепочку — добавлен `Plugin_stack_rules_v1.md` (PSR_v1) уровнем 3 (координирующий слой между paired-stack ядром и расширенным UI-пулом); явно вынесен Pravila §12 (Superpowers hard rule) уровнем 0; sync с CLAUDE.md §1. **§4.7 (новый) — #33 claude-md-management plugin** формализован как off-phase инфраструктурный инструмент (был фактически включён в `~/.claude/settings.json` с момента CLAUDE.md §5 п.10, но без формализации); отдельная категория **инфраструктурная**, не UI — поэтому не попадает под Pravila §13 (расширенный UI-пул) и не проходит R6.0/R6.1/R14 pipeline. **§6 «Конфликты и решения»** расширен с 5 до 10 строк — добавлены 5 новых конфликтов из PSR_v1 v1.4: UPM↔FD, 21st↔Vuetify-эквивалент, 21st↔брендовый App*, framer-motion↔motion-v, UPM↔21st. **§4.6 — settings.json → ~/.claude.json:** уточнено, что API-ключ 21st хранится в `~/.claude.json`, **не** в `~/.claude/settings.json`. **§0 — счётчик 31 → 33** (3 off-phase: UPM #31, 21st #32, claude-md-management #33). Total формализованных: 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Связано: Pravila v1.8 → v1.9, PSR_v1 v1.4 → v1.5, CLAUDE.md v1.83 → v1.84. | | **v1.14** | 10.05.2026 (вечер) | **Закрытие 3 находок второго аудита правил использования плагинов и скилов** (P0-01, P0-04, P2-01 в Tooling — из 15 общих находок). **P0-01: §10.3 шаг 2 sync с §4.1** — раньше шаг гласил «Установить Superpowers с конфигом enabled_skills = только 3» (политика v1.7), но §4.1 того же файла говорит «v1.8 снятие запретов через §11 override (полное снятие); v1.9 hard rule §12 первоочерёдное использование» — внутри-документная контрадикция. v1.14: §10.3 шаг 2 переписан на 14 skills с пометкой об устаревшей версии. **P0-04: §13 +v1.13 +v1.14 entries** — раньше история обрывалась на v1.12, хотя шапка описывала v1.13. v1.14: таблица синхронизирована (добавлены v1.13 + v1.14 строки). **P2-01: §7 priority chain +Tooling explicit slot** — раньше Tooling Прил. Н формально не было в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Tooling»; формальная дыра при конфликте «Tooling vs PSR_v1». v1.14: добавлен note про Tooling уровнем 2b alongside CLAUDE.md (оба operational maps; при прямом конфликте — приоритет CLAUDE.md). Total формализованных: **33** (без изменений; правки касаются формулировок и priority chain). Связано: Pravila v1.9 → v1.10, PSR_v1 v1.5 → v1.6, CLAUDE.md v1.84 → v1.85. Через `/claude-md-management:claude-md-improver`. | | **v1.15** | 10.05.2026 (поздний вечер) | **Закрытие 4 находок третьего аудита правил использования плагинов и скилов** (P1-03/04/05 + §11.5/§12 «28→33» в Tooling — из 13 общих находок). **P1-03/04/05: sync cross-refs шапки** на актуальные версии связанных документов после bump'ов CLAUDE.md v1.85 → v1.86 и PSR_v1 v1.6 → v1.7: «Pravila v1.9+» → «v1.10+», «PSR_v1 v1.5+» → «v1.7+», «CLAUDE.md v1.84+» → «v1.86+». «+»-нотация сохранена (forward-compat). **§11.5/§12 — формулировка «28 инструментов» → «33 формализованные позиции»:** в DevOps-разделе текст застрял с эпохи v1.0, когда счётчик был 28; смысловое назначение фразы — «реестр Лидерры», который теперь имеет 33 формализованных позиции. История версий ниже и changelog'и в шапках v1.0/v1.10/v1.12 — это снимки эпох и не правятся. Total формализованных: **33** (без изменений; правки касаются формулировок и cross-refs). Связано: PSR_v1 v1.6 → v1.7, CLAUDE.md v1.85 → v1.86. Pravila v1.10 — без правок. Через `/claude-md-management:claude-md-improver`. | +| **v1.16** | 12.05.2026 | **Закрытие 1 правки четвёртого аудита — снятие R15 motion-runtime denylist'а из §9.2** синхронно с PSR_v1 v1.7 → v2.0 + CLAUDE.md v1.87 → v1.88 + Pravila v1.10 → v1.11. **§9.2 «Motion runtime библиотеки» переформулирован из regulatory denylist в technical guidance.** R15 PSR_v1 снят целиком (v1.7 → v2.0); motion-v / gsap / anime.js / lottie-web / popmotion / @motionone/dom — безусловно разрешены к установке. framer-motion / react-spring остаются как **technical block** — peerDep на React, не правило проекта. Cross-refs шапки sync: PSR_v1 v1.7+ → v2.0+; CLAUDE.md v1.86+ → v1.88+; Pravila v1.10+ → v1.11+. §6 строка «framer-motion ↔ motion-v» оставлена как historical record v1.4 audited construction. Total формализованных: **33** (без изменений). Через `/claude-md-management:claude-md-improver` + manual Edit. Заказчик: «сними все запреты на использование framer motion». | +| **v1.17** | 13.05.2026 (day +1) | **Формализация retrospective двух off-phase MCP debug-инструментов** установленных на feat/claude-automation (commits `6f7e7d7` sentry, `bd4ec48` redis), merged в main через PR #3 (`cc5f63b`): **§0 счётчик off-phase 3 → 5; итого формализованных позиций 33 → 35**. **§4.8 (новый)** — #34 Sentry MCP (`@sentry/mcp-server@0.33.0+`, official, pending Sentry instance deployment Б-1). **§4.9 (новый)** — #35 Redis MCP (`@modelcontextprotocol/server-redis@2025.4.25`, deprecated Anthropic source, рабочий с Memurai localhost:6379; migration plan на community alternative post-MVP). Категория **debug-runtime**, отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management) — не попадает в R14 pipeline и не trigger'ит R6.0/R6.1 фильтры. Связано: PSR_v1 v2.0 → v2.1 (R10.1 +sentry+redis); CLAUDE.md v1.91 → v1.92 (§3.3 #34/#35; §0 cross-refs); Pravila v1.12 → v1.13 (§13.2 +Off-phase MCP debug-runtime подсекция). Через manual Edit для Tooling/PSR_v1/Pravila + `/claude-md-management:claude-md-improver` для CLAUDE.md. | --- +*Прил. Н v1.17 от 13.05.2026 (day +1) — формализация retrospective off-phase MCP #34 Sentry + #35 Redis (debug-runtime category). 35 позиций (29 активных по фазам + 5 off-phase + 1 заменённый PG MCP исторически).* + +*Прил. Н v1.16 от 12.05.2026 — снятие R15 motion-runtime denylist'а из §9.2 синхронно с PSR_v1 v1.7 → v2.0. 33 позиций (без изменений).* + *Прил. Н v1.15 от 10.05.2026 (поздний вечер) — закрытие 4 находок третьего аудита (P1-03/04/05 sync cross-refs, §11.5/§12 «28→33»). 33 позиций (без изменений).* *Прил. Н v1.14 от 10.05.2026 (вечер) — закрытие 3 находок второго аудита (P0-01 §10.3 sync, P0-04 §13 +v1.13 +v1.14 entries, P2-01 §7 +Tooling explicit slot). 33 позиций (без изменений).*