diff --git a/CLAUDE.md b/CLAUDE.md index 76a7a314..37f76763 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # CLAUDE.md — техконтекст Лидерры -**Версия:** 2.27 от 22.05.2026 — C1 marketing-tooling integration: §3.3 +#74-#83 (10 узлов, 18-я off-phase подкатегория marketing-tooling); §0 cross-refs Pravila v1.38→**v1.39** / PSR_v1 v3.21→**v3.22** / Tooling Прил.Н v2.22→**v2.23**; §6 +абзац; §9 +запись. ADR-015. Прямой Edit — worktree-эксцепшн §5 п.10. **v2.26 наследие:** pg_audit #28 + pg_anonymizer #29 **установлены на боевом `liderra.ru` 22.05.2026** (расширения PostgreSQL фазы 3, ранее недоступные на dev native-Windows): §3.4 строки #28/#29 → ✅ прод; §6 +абзац; §0 cross-ref Tooling Прил.Н v2.21→**v2.22**; §9 +запись; setup-док `docs/security/pgaudit-anonymizer-setup.md`. pg_audit закрывает 152-ФЗ аудит-журнал БД (`pgaudit.log='ddl, role, write'`, `log_parameter=off`); pg_anonymizer (anon 3.0.13/Rust, собран из исходников) — маскированные выгрузки, загрузка по требованию. NB: установка PGDG-dev потянула минорный апгрейд PG 16.13→16.14 (данные целы, версия закреплена `apt-mark hold`). runbook `docs/deploy/test-server-runbook.md` (ветка feat/test-deploy) — sync отдельно. Прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A8/A11/finance). **v2.25 наследие:** A8 infosec-tooling install-sync: ZAP #68 + Ward #70 **установлены портативно 21.05.2026** (без choco — Go 1.26.3 / Temurin JRE 17 zip с проверкой SHA256, бинари в `bin/*` gitignored) → статус PENDING INSTALL снят (§3.3 строки 68/70, §6); setup-доки `docs/security/zap-setup.md` + `docs/security/ward-setup.md`; §0 cross-refs Pravila v1.37→**v1.38** / PSR_v1 v3.20→**v3.21** / Tooling Прил.Н v2.20→**v2.21**; §9 +запись. Прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A8/A11/finance). **v2.24 наследие:** A8 infosec-tooling integration: §3.3 +#68 OWASP ZAP (DAST, PENDING INSTALL) / #69 Nuclei (CLI, installed+verified) / #70 Ward (CLI, заменил abandoned Enlightn, PENDING INSTALL) / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live (self-authored скилы); §0 cross-refs Pravila v1.37 / PSR_v1 v3.20 / Tooling Прил.Н v2.20; §6 +абзац; §9 +запись; новая 17-я off-phase подкатегория infosec-tooling (раздел A8); ADR-014 (IS1–IS9); провенанс-вет IS9 (риск ToxicSkills); серверный слой защиты → open questions SEC-1..SEC-7 (Б-1). Перенумеровано v2.23→v2.24 при ребейзе на origin/main (v2.23 параллельно занят observer). **v2.23 наследие:** observer missed-activations: §0 cross-ref Pravila v1.35→**v1.36** (§16.4 условное missed-activation правило — профильная задача без активации релевантного узла → сигнал в STATUS.md C5 + /brain-retro; маппинг `tools/observer-classification-map.json` + `tools/.node-dormancy.json` двойной сигнал dormant/DEFERRED); §3.6 +абзац missed-activation; §9 +запись. План `docs/superpowers/plans/2026-05-21-observer-missed-activations.md`. **v2.22 наследие:** A1 backend-tooling integration: §3.3 +#64 Rector / #65 PHP Insights / #66 laravel-backend-patterns / #67 NightOwl (DEFERRED); §0 cross-refs Pravila v1.35 / PSR_v1 v3.19 / Tooling Прил.Н v2.19; §6 +абзац; §9 +запись; новая 16-я off-phase подкатегория backend-tooling (раздел A1); ADR-013. **v2.21 наследие:** finance-tooling integration (C6+C7): §3.3 +#61 finance plugin (homed C7) / #62 billing-audit (C6) / #63 ru-tax-accounting (C7); §0 cross-refs Pravila v1.34 / PSR_v1 v3.18 / Tooling Прил.Н v2.18; §6 +абзац; §9 +запись; новая 15-я off-phase подкатегория finance-tooling; ADR-012. **v2.20 наследие:** observer factor-analysis extension + phase 1.1 (ADR-011 amend): schema v2 (`decision_provenance` 3 kinds incl. `user_chose_from_options`) + двусторонний routing-gate/C5 + brain-retro analyzer; полные записи — §9 v2.19/v2.20. **v2.18 наследие:** Brain governance Phase A/B/C complete (ADR-011): §0 cross-refs Pravila v1.30→**v1.31** / PSR_v1 v3.15→**v3.16** / Tooling v2.16→**v2.17**; §3.X +cross-ref на `docs/router-procedure.md` v1.0 (single SoT для router procedure); §9 +brain governance entry. Реализованы 4 phases: Phase A normative foundation (5 tasks/15 commits — ADR-011 anchor, router-procedure.md v1.0, Tooling Прил. Н 9-attribute template на 58 узлов, Pravila §16, PSR_v1 R16); Phase B observer infrastructure (6 tasks/6 commits — scaffolding + PII filter + Stop-hook + HK1 pre-check + settings.json registration + /brain-retro skill); Phase C 4 controllers (5 tasks/5 commits — L1-watcher, cross-ref-checker (DWC, noise refinement pending), observer-of-observer 54w self-prune, STATUS.md generator, lefthook wire). Spec v1.1 `docs/superpowers/specs/2026-05-19-brain-governance-design.md` (factor analysis amendment: routing_decision events + primary_rationale). План `docs/superpowers/plans/2026-05-19-brain-governance.md`. C1+C2 surface 9+150 pre-existing drifts (known); WARN-only lefthook pending follow-up alias/scope refinement. **v2.17 наследие:** компакция «мозга» (SYSTEM-аудит findings 2/3/6/7): §3 title — убран счётчик «60 инструментов»; §3.3 строки #31–#60 (30 off-phase) свёрнуты из многострочных абзацев в однострочный индекс с пином на Tooling §4.NN (finding 2 — устранён дубль реестра с Tooling); §3.3 footer / §1 row 2b / §0 row-label — счётчик «60» → пин на Tooling Прил. Н §0 как канон (finding 3); §2 БД + §8 self-review — schema-метрики → пин на header `db/schema.sql` (finding 3); §3.5 ruflo свёрнут в dormant-стаб, исторические абзацы убраны (finding 6); §0 cross-refs Pravila v1.29→**v1.30** / PSR_v1 v3.14→**v3.15** / Tooling v2.15→**v2.16**; §9 +запись. Finding 1 (раздувание шапки/§0) и finding 5 (баг хука экономии) — заказчиком не выбраны, вне scope. План `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`. **v2.16 наследие:** SYSTEM-аудит «мозга» Rec1–Rec5 closure: §0 cross-refs Pravila v1.28→**v1.29** / Tooling v2.14→**v2.15** / Plugin_stack_rules v3.13→**v3.14**; §3.5 +bold-блок «СТАТУС 18.05.2026: ИЗОЛИРОВАН (dormant)» — live-связи ruflo (hooks/MCP/daemon) отключены без удаления артефактов; §3.7 (новый) — cross-ref на `docs/routing-off-phase.md` v1.0 (off-phase routing-аид: 30 узлов триггер→узел + 12 канонических связок L1–L12); §3.6 → §3.8 renumber; §6 +абзац «2026-05-18 SYSTEM-аудит мозга + Rec1–Rec5 закрытие». Snapshot — `docs/discovery/2026-05-18-system-audit-brain.md`. Rec2 закрыл 2 из 3 ⚫-конфликтов карты. Связано: Pravila v1.29 (+§14.9 ruflo dormant), Tooling v2.15 (§4.10 status-block), PSR_v1 v3.14 (+R15 off-phase routing), `docs/routing-off-phase.md` v1.0 (новый), memory `feedback_ruflo_isolated.md` + `feedback_automation_map_not_sot.md` + `feedback_hard_rule_no_alt_question.md`. **v2.15 наследие:** Anthropic dev-tooling integration: формализованы 5 Anthropic dev-плагинов из marketplace `anthropics/claude-plugins-official`, уже включённых в `~/.claude/settings.json` `enabledPlugins` user-level без формализации — #56 skill-creator / #57 plugin-dev / #58 hookify (новая тринадцатая off-phase подкатегория «authoring-tooling») + #59 claude-code-setup / #60 context7 (новая четырнадцатая «dev-support»); §3 title 55→60, §1 row 2b 55→60, §3.3 +5 строк #56–#60, §3.3 footer 55→60 (14 off-phase подкатегорий), §0 cross-refs Pravila v1.28 / PSR_v1 v3.13 / Tooling v2.14, §6 +абзац, §9 +запись. Триггер — аудит «мозга» через discovery-interview SYSTEM-режим: вскрыт L1-паттерн «плагин включён в settings.json без формализации в правилах» (повтор UPM/21st 10.05, Sentry/Redis 13.05). ADR-010. hookify HK1 — pre-check на коллизию с 6-компонентной economy/skill-discipline хук-архитектурой; закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. **NB:** ветка `feat/anthropic-dev-tooling` ребейзнута на parallel-sessions §15 (origin/main `781a59c`) — v2.14 и Pravila v1.27 параллельно заняты §15-эпиком; перенумеровано v2.14→v2.15, Pravila v1.27→v1.28. План `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (прецедент A11/C10/discovery). **v2.14 наследие:** parallel-sessions-coordination: sync §0 cross-ref Pravila v1.26→v1.27 + §1 priority chain footer-абзац «Hard-rules вне §9» (упомянуты §12/§14/**§15**); §15 — третье hard-rule после §12 и §14, лечит два класса инцидентов параллельных Claude-сессий (Sprint 6 субагент-угон-ветки + Tooling v2.11 collision 17.05.2026). Spec — `docs/superpowers/specs/2026-05-18-parallel-sessions-coordination-design.md`, план — `docs/superpowers/plans/2026-05-18-parallel-sessions-coordination.md`. v1.27 в Pravila добавила hard-rule с фиксированным списком 8 нормативных файлов (Pravila/CLAUDE.md/Tooling/PSR_v1/MEMORY.md/Открытые_вопросы/docs/adr/*/db/schema.sql) — pre-flight `git fetch && git log HEAD..origin/main --oneline` обязателен перед правкой любого. Связанные артефакты (на этой же ветке `feat/parallel-sessions-coordination`): `docs/sessions/CURRENT.md` заявочный лог + `tools/subagent-prompt-prefix.mjs` PreToolUse Task auto-inject хук + `.claude/skills/subagent-driven-development/` wrapper-скил с git-safety-checklist (Tasks 2/4/7 плана). PSR_v1 и Tooling **не правятся** — §15 про координацию сессий, не плагинов. Через `/claude-md-management:claude-md-improver`. **v2.13 наследие:** discovery-interview integration: формализован #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/` — структурированное интервью-discovery до проектирования, два режима: FEATURE интервью заказчика перед фичей + SYSTEM ориентация по мета-слою) как новая двенадцатая off-phase подкатегория «discovery-tooling»; §3 title 54→55, §1 row 2b 54→55, §3.3 +строка #55, §3.3 footer 54→55, §0 cross-refs Pravila v1.26 / PSR_v1 v3.12 / Tooling v2.13, §6 +абзац discovery-interview, §9 +запись. ADR-009. Триггер-eval 20/20. Конфликт-аудит DI1–DI6 — разрез по слою-источнику с C10-скилом process-analysis #53 (тот вскрывает бизнес-процесс из app-кода; discovery-interview интервьюирует человека). План `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент A11/C10). **v2.12 наследие:** C10 business-process integration: формализованы #51 operations (Claude Code marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified — 9 скилов, 0 lifecycle-хуков) + #52 process-modeling + #53 process-analysis (self-authored project-скилы `.claude/skills/`) + #54 n8n-mcp (workflow-движок — DEFERRED, у портала нет n8n) — новая одиннадцатая off-phase подкатегория «business-process»; §3 title 50→54, §1 row 2b 50→54, §3.3 +4 строки #51/#52/#53/#54, §3.3 footer 50→54, §0 cross-refs Pravila v1.25 / PSR_v1 v3.11 / Tooling v2.12, §6 +абзац C10, §9 +запись. ADR-008. Конфликт-аудит OPS1/OPS5/N8N1/LINT1/BPMN1/PA1. План `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент A11/ruflo). **v2.11 наследие:** ADR-006 Decision-4 icon-path boundary mirror: §3.3 строка #45 +граница «Lucide-иконки → канонический путь `lucide-vue-next` + Vuetify IconSet; raw-SVG Universal Icons MCP — только для не-Lucide коллекций». Источник — ADR-006 (поправка 17.05.2026, Decision item 4 — закрывает ранее нерегламентированную границу #45 ↔ `lucide-vue-next`, выявленную конфликт-аудитом карты). §0 cross-ref Tooling v2.10→**v2.11** (Pravila v1.24 / PSR_v1 v3.10 — без изменений: assess показал, что Pravila §13.2 делегирует к ADR-006, PSR_v1 R10.1 — role-registry). Счётчики инструментов без изменений (50 позиций). §9 +запись. Через `/claude-md-management:claude-md-improver` в worktree от origin/main (прямой Edit — worktree-constraint эксцепшн §5 п.10, прецедент A11 v2.10). **v2.10 наследие:** A11 ml-ai-tooling integration: формализованы #48 promptfoo (npm devDependency `promptfoo`, CLI-eval LLM-промптов, MIT) + #49 Data Scientist skill (вендоренный сторонний скил `.claude/skills/data-scientist/`, классический ML-воркфлоу) + #50 Jupyter MCP (исполняемые ноутбуки — DEFERRED, требует Python ML-окружения) — новая десятая off-phase подкатегория «ml-ai-tooling»; §3 title 47→50, §1 row 2b 47→50, §3.3 +3 строки #48/#49/#50, §3.3 footer 47→50, §0 cross-refs Pravila v1.24 / PSR_v1 v3.10 / Tooling v2.10, §6 +абзац A11, §9 +запись. ADR-007. Конфликт-аудит ML1 (promptfoo платные вызовы → вручную/CI) / ML3 (Data Scientist skill вендорен) / ML7 (bus-factor → вендоринг). План `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент ruflo big-bang v2.0). **v2.9 наследие:** A3 integration-tooling integration: формализован #47 openapi-mcp-server (+ api-docs agent — узел карты A3 без Tooling-номера), новая девятая off-phase подкатегория «integration-tooling»; §3 title 46→47, §1 row 2b 46→47, §3.3 +строка #47, §3.3 footer 46→47, §0 cross-refs Pravila v1.23 / PSR_v1 v3.9 / Tooling v2.9, §6 +абзац A3, §9 +запись. Карта A3 0→7 узлов / 116→118. План `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.8 наследие:** A4 design-tooling integration: формализованы #44 Figma MCP (DEFERRED — у проекта нет Figma-аккаунта) + #45 Universal Icons MCP + #46 Design plugin — новая восьмая off-phase подкатегория «design-tooling»; §3 title 43→46, §1 row 2b 43→46, §3.3 +3 строки #44/#45/#46, §3.3 footer 43→46, §0 cross-refs Pravila v1.22 / PSR_v1 v3.8 / Tooling v2.8, §6 +абзац A4, §9 +запись. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.7 наследие:** deptrac architecture-fitness integration: формализован #43 deptrac (Composer dev-dependency `deptrac/deptrac` v4.6.1, BSD-3) — 4-й инструмент off-phase подкатегории architecture-tooling; архитектурный fitness-гейт направления зависимостей / границ слоёв, врезан как lefthook pre-commit job 10; §3 title 42→43, §1 row 2b 42→43, §3.3 +строка #43, §3.3 footer 42→43, §0 cross-refs Pravila v1.21 / PSR_v1 v3.7 / Tooling v2.7, §6 +абзац deptrac, §9 +запись. План `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.6 наследие:** C9 project-management integration: формализованы #41 CCPM (вендоренный скил) + #42 product-management (Anthropic marketplace-плагин) — новая седьмая off-phase подкатегория «project-management»; §3 title 40→42, §1 row 2b 40→42, §3.3 +2 строки #41/#42, §3.3 footer 40→42 + семь подкатегорий, §0 cross-refs Pravila v1.20 / PSR_v1 v3.6 / Tooling v2.6, §6 +абзац C9, §9 +запись. План `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.5 наследие:** фактическая правка #40 Security Guidance: это **блокирующий** PreToolUse-хук (`sys.exit(2)`), не warn-only — при первом за сессию срабатывании уязвимого паттерна в файле блокирует правку (одноразовый speed-bump per «файл+правило», retry проходит); §3.3 строка #40 переписана (+SG2 Windows-починка python3-резолва), §6 абзац D3 уточнён, §0 cross-refs Pravila v1.19 / PSR_v1 v3.5 / Tooling v2.5, §9 +запись. Счётчики инструментов без изменений (40 позиций). План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.4 наследие:** D3 audit-security: формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) — новая шестая off-phase подкатегория «audit-security»; §3 title 35→40 (исправляет A6-пропуск: title оставался «35»), §1 row 2b 38→40, §3.3 +2 строки, §3.3 footer 38→40, §0 cross-refs Pravila v1.18 / PSR_v1 v3.4 / Tooling v2.4, §6 +абзац интеграции. План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.3 наследие:** A6 architecture-tooling: формализованы 3 инструмента раздела A6 карты «Архитектура систем» — #36 adr-kit, #37 mermaid-skill, #38 architecture-patterns; §3 title 35→38, §3.3 +3 строки, §1 row 2b 35→38, §3.3 footer 35→38 (пятая off-phase подкатегория architecture-tooling), §0 cross-refs Pravila v1.17 / PSR_v1 v3.3 / Tooling v2.3, §6 +абзац интеграции. План `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.2 наследие:** реколлаж ruflo: §1 убран уровень −1 (entry-point framing → advisory-подсистема); §3/§3.5 advisory-подсистема; §0 cross-refs Pravila v1.16 / PSR_v1 v3.2 / Tooling v2.2. **v2.1 наследие:** §14 queen-trigger: §1 priority chain уровень −1 +триггер queen/королева → Pravila §14; §3.5 +абзац «Queen trigger»; §0 cross-ref Pravila v1.15. **v2.0 наследие:** Ruflo big-bang integration: 8-level → 9-level priority chain, ruflo Queen-led routing на уровне −1 (entry-point); §1 +уровень −1 ruflo; §3 title «35 инструментов» → «35 + ruflo orchestration layer»; §3.5 added (off-phase orchestration «ruflo»; «Заметки к settings.json» renumber §3.5 → §3.6); §5 п.10 → sub-policy note (claude-md-management остаётся preferred channel через ruflo routing); §6 +2026-05-15 ruflo phase paragraph. Major bump reflects architectural inversion (paper-level: ruflo daemon/swarm not yet running, technical compensators retained: gitleaks/RLS/dev DB only). Через прямой Edit (plan §1.4 user-authorized exception к §5 п.10). **v1.93 наследие:** Audit #3 deferred fixes sprint closure: sync schema header drift «62 → 63 базовые таблицы (61 regular + 2 partitioned parents: deals + supplier_lead_costs)» в §0 row «Схема БД», §2 БД row, §8 self-review row. Цифра 62 была commit-baseline артефактом; фактический count base-tables (regular + partitioned parents) — 63 (audit-verified в Audit #3 Phase 3). Sprint commits: `8ba9c55` (plan) + `0c36b7a` (Pa11y migration) + `e746b3c` (dead code cleanup, incl. schema.sql:4 header) + `c5c0e76` (coverage debt F-COV-01/02/03 → ≥95%) + `c524227` (P3 tooling). Pushed `f9d2452..c524227 main -> main`. Через `/claude-md-management:claude-md-improver`. **v1.92 наследие:** 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. **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)). +**Версия:** 2.28 от 24.05.2026 — Project-local AI-agents delegation rule: §3.9 (новая подсекция) + Pravila §2.4 — контроллер обязан звать `normative-sync` (#84) после крупной задачи и `prod-deploy-validator` (#85) перед каждым выкатом на liderra.ru; +2 узла в `docs/registry/nodes.yaml` (subcategory `project-agent`) для missed-activation детектора (Pravila §16.4). Tooling канон счётчиков **НЕ изменился** (#1-#83 сохраняются — project-агенты не входят в Tooling-канон). §0 cross-ref Pravila v1.39→**v1.40**. Spec `docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md`. Через прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A11/C10/discovery/finance/A8/marketing). **v2.27 наследие:** C1 marketing-tooling integration: §3.3 +#74-#83 (10 узлов, 18-я off-phase подкатегория marketing-tooling); §0 cross-refs Pravila v1.38→**v1.39** / PSR_v1 v3.21→**v3.22** / Tooling Прил.Н v2.22→**v2.23**; §6 +абзац; §9 +запись. ADR-015. Прямой Edit — worktree-эксцепшн §5 п.10. **v2.26 наследие:** pg_audit #28 + pg_anonymizer #29 **установлены на боевом `liderra.ru` 22.05.2026** (расширения PostgreSQL фазы 3, ранее недоступные на dev native-Windows): §3.4 строки #28/#29 → ✅ прод; §6 +абзац; §0 cross-ref Tooling Прил.Н v2.21→**v2.22**; §9 +запись; setup-док `docs/security/pgaudit-anonymizer-setup.md`. pg_audit закрывает 152-ФЗ аудит-журнал БД (`pgaudit.log='ddl, role, write'`, `log_parameter=off`); pg_anonymizer (anon 3.0.13/Rust, собран из исходников) — маскированные выгрузки, загрузка по требованию. NB: установка PGDG-dev потянула минорный апгрейд PG 16.13→16.14 (данные целы, версия закреплена `apt-mark hold`). runbook `docs/deploy/test-server-runbook.md` (ветка feat/test-deploy) — sync отдельно. Прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A8/A11/finance). **v2.25 наследие:** A8 infosec-tooling install-sync: ZAP #68 + Ward #70 **установлены портативно 21.05.2026** (без choco — Go 1.26.3 / Temurin JRE 17 zip с проверкой SHA256, бинари в `bin/*` gitignored) → статус PENDING INSTALL снят (§3.3 строки 68/70, §6); setup-доки `docs/security/zap-setup.md` + `docs/security/ward-setup.md`; §0 cross-refs Pravila v1.37→**v1.38** / PSR_v1 v3.20→**v3.21** / Tooling Прил.Н v2.20→**v2.21**; §9 +запись. Прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A8/A11/finance). **v2.24 наследие:** A8 infosec-tooling integration: §3.3 +#68 OWASP ZAP (DAST, PENDING INSTALL) / #69 Nuclei (CLI, installed+verified) / #70 Ward (CLI, заменил abandoned Enlightn, PENDING INSTALL) / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live (self-authored скилы); §0 cross-refs Pravila v1.37 / PSR_v1 v3.20 / Tooling Прил.Н v2.20; §6 +абзац; §9 +запись; новая 17-я off-phase подкатегория infosec-tooling (раздел A8); ADR-014 (IS1–IS9); провенанс-вет IS9 (риск ToxicSkills); серверный слой защиты → open questions SEC-1..SEC-7 (Б-1). Перенумеровано v2.23→v2.24 при ребейзе на origin/main (v2.23 параллельно занят observer). **v2.23 наследие:** observer missed-activations: §0 cross-ref Pravila v1.35→**v1.36** (§16.4 условное missed-activation правило — профильная задача без активации релевантного узла → сигнал в STATUS.md C5 + /brain-retro; маппинг `tools/observer-classification-map.json` + `tools/.node-dormancy.json` двойной сигнал dormant/DEFERRED); §3.6 +абзац missed-activation; §9 +запись. План `docs/superpowers/plans/2026-05-21-observer-missed-activations.md`. **v2.22 наследие:** A1 backend-tooling integration: §3.3 +#64 Rector / #65 PHP Insights / #66 laravel-backend-patterns / #67 NightOwl (DEFERRED); §0 cross-refs Pravila v1.35 / PSR_v1 v3.19 / Tooling Прил.Н v2.19; §6 +абзац; §9 +запись; новая 16-я off-phase подкатегория backend-tooling (раздел A1); ADR-013. **v2.21 наследие:** finance-tooling integration (C6+C7): §3.3 +#61 finance plugin (homed C7) / #62 billing-audit (C6) / #63 ru-tax-accounting (C7); §0 cross-refs Pravila v1.34 / PSR_v1 v3.18 / Tooling Прил.Н v2.18; §6 +абзац; §9 +запись; новая 15-я off-phase подкатегория finance-tooling; ADR-012. **v2.20 наследие:** observer factor-analysis extension + phase 1.1 (ADR-011 amend): schema v2 (`decision_provenance` 3 kinds incl. `user_chose_from_options`) + двусторонний routing-gate/C5 + brain-retro analyzer; полные записи — §9 v2.19/v2.20. **v2.18 наследие:** Brain governance Phase A/B/C complete (ADR-011): §0 cross-refs Pravila v1.30→**v1.31** / PSR_v1 v3.15→**v3.16** / Tooling v2.16→**v2.17**; §3.X +cross-ref на `docs/router-procedure.md` v1.0 (single SoT для router procedure); §9 +brain governance entry. Реализованы 4 phases: Phase A normative foundation (5 tasks/15 commits — ADR-011 anchor, router-procedure.md v1.0, Tooling Прил. Н 9-attribute template на 58 узлов, Pravila §16, PSR_v1 R16); Phase B observer infrastructure (6 tasks/6 commits — scaffolding + PII filter + Stop-hook + HK1 pre-check + settings.json registration + /brain-retro skill); Phase C 4 controllers (5 tasks/5 commits — L1-watcher, cross-ref-checker (DWC, noise refinement pending), observer-of-observer 54w self-prune, STATUS.md generator, lefthook wire). Spec v1.1 `docs/superpowers/specs/2026-05-19-brain-governance-design.md` (factor analysis amendment: routing_decision events + primary_rationale). План `docs/superpowers/plans/2026-05-19-brain-governance.md`. C1+C2 surface 9+150 pre-existing drifts (known); WARN-only lefthook pending follow-up alias/scope refinement. **v2.17 наследие:** компакция «мозга» (SYSTEM-аудит findings 2/3/6/7): §3 title — убран счётчик «60 инструментов»; §3.3 строки #31–#60 (30 off-phase) свёрнуты из многострочных абзацев в однострочный индекс с пином на Tooling §4.NN (finding 2 — устранён дубль реестра с Tooling); §3.3 footer / §1 row 2b / §0 row-label — счётчик «60» → пин на Tooling Прил. Н §0 как канон (finding 3); §2 БД + §8 self-review — schema-метрики → пин на header `db/schema.sql` (finding 3); §3.5 ruflo свёрнут в dormant-стаб, исторические абзацы убраны (finding 6); §0 cross-refs Pravila v1.29→**v1.30** / PSR_v1 v3.14→**v3.15** / Tooling v2.15→**v2.16**; §9 +запись. Finding 1 (раздувание шапки/§0) и finding 5 (баг хука экономии) — заказчиком не выбраны, вне scope. План `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`. **v2.16 наследие:** SYSTEM-аудит «мозга» Rec1–Rec5 closure: §0 cross-refs Pravila v1.28→**v1.29** / Tooling v2.14→**v2.15** / Plugin_stack_rules v3.13→**v3.14**; §3.5 +bold-блок «СТАТУС 18.05.2026: ИЗОЛИРОВАН (dormant)» — live-связи ruflo (hooks/MCP/daemon) отключены без удаления артефактов; §3.7 (новый) — cross-ref на `docs/routing-off-phase.md` v1.0 (off-phase routing-аид: 30 узлов триггер→узел + 12 канонических связок L1–L12); §3.6 → §3.8 renumber; §6 +абзац «2026-05-18 SYSTEM-аудит мозга + Rec1–Rec5 закрытие». Snapshot — `docs/discovery/2026-05-18-system-audit-brain.md`. Rec2 закрыл 2 из 3 ⚫-конфликтов карты. Связано: Pravila v1.29 (+§14.9 ruflo dormant), Tooling v2.15 (§4.10 status-block), PSR_v1 v3.14 (+R15 off-phase routing), `docs/routing-off-phase.md` v1.0 (новый), memory `feedback_ruflo_isolated.md` + `feedback_automation_map_not_sot.md` + `feedback_hard_rule_no_alt_question.md`. **v2.15 наследие:** Anthropic dev-tooling integration: формализованы 5 Anthropic dev-плагинов из marketplace `anthropics/claude-plugins-official`, уже включённых в `~/.claude/settings.json` `enabledPlugins` user-level без формализации — #56 skill-creator / #57 plugin-dev / #58 hookify (новая тринадцатая off-phase подкатегория «authoring-tooling») + #59 claude-code-setup / #60 context7 (новая четырнадцатая «dev-support»); §3 title 55→60, §1 row 2b 55→60, §3.3 +5 строк #56–#60, §3.3 footer 55→60 (14 off-phase подкатегорий), §0 cross-refs Pravila v1.28 / PSR_v1 v3.13 / Tooling v2.14, §6 +абзац, §9 +запись. Триггер — аудит «мозга» через discovery-interview SYSTEM-режим: вскрыт L1-паттерн «плагин включён в settings.json без формализации в правилах» (повтор UPM/21st 10.05, Sentry/Redis 13.05). ADR-010. hookify HK1 — pre-check на коллизию с 6-компонентной economy/skill-discipline хук-архитектурой; закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. **NB:** ветка `feat/anthropic-dev-tooling` ребейзнута на parallel-sessions §15 (origin/main `781a59c`) — v2.14 и Pravila v1.27 параллельно заняты §15-эпиком; перенумеровано v2.14→v2.15, Pravila v1.27→v1.28. План `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (прецедент A11/C10/discovery). **v2.14 наследие:** parallel-sessions-coordination: sync §0 cross-ref Pravila v1.26→v1.27 + §1 priority chain footer-абзац «Hard-rules вне §9» (упомянуты §12/§14/**§15**); §15 — третье hard-rule после §12 и §14, лечит два класса инцидентов параллельных Claude-сессий (Sprint 6 субагент-угон-ветки + Tooling v2.11 collision 17.05.2026). Spec — `docs/superpowers/specs/2026-05-18-parallel-sessions-coordination-design.md`, план — `docs/superpowers/plans/2026-05-18-parallel-sessions-coordination.md`. v1.27 в Pravila добавила hard-rule с фиксированным списком 8 нормативных файлов (Pravila/CLAUDE.md/Tooling/PSR_v1/MEMORY.md/Открытые_вопросы/docs/adr/*/db/schema.sql) — pre-flight `git fetch && git log HEAD..origin/main --oneline` обязателен перед правкой любого. Связанные артефакты (на этой же ветке `feat/parallel-sessions-coordination`): `docs/sessions/CURRENT.md` заявочный лог + `tools/subagent-prompt-prefix.mjs` PreToolUse Task auto-inject хук + `.claude/skills/subagent-driven-development/` wrapper-скил с git-safety-checklist (Tasks 2/4/7 плана). PSR_v1 и Tooling **не правятся** — §15 про координацию сессий, не плагинов. Через `/claude-md-management:claude-md-improver`. **v2.13 наследие:** discovery-interview integration: формализован #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/` — структурированное интервью-discovery до проектирования, два режима: FEATURE интервью заказчика перед фичей + SYSTEM ориентация по мета-слою) как новая двенадцатая off-phase подкатегория «discovery-tooling»; §3 title 54→55, §1 row 2b 54→55, §3.3 +строка #55, §3.3 footer 54→55, §0 cross-refs Pravila v1.26 / PSR_v1 v3.12 / Tooling v2.13, §6 +абзац discovery-interview, §9 +запись. ADR-009. Триггер-eval 20/20. Конфликт-аудит DI1–DI6 — разрез по слою-источнику с C10-скилом process-analysis #53 (тот вскрывает бизнес-процесс из app-кода; discovery-interview интервьюирует человека). План `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент A11/C10). **v2.12 наследие:** C10 business-process integration: формализованы #51 operations (Claude Code marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified — 9 скилов, 0 lifecycle-хуков) + #52 process-modeling + #53 process-analysis (self-authored project-скилы `.claude/skills/`) + #54 n8n-mcp (workflow-движок — DEFERRED, у портала нет n8n) — новая одиннадцатая off-phase подкатегория «business-process»; §3 title 50→54, §1 row 2b 50→54, §3.3 +4 строки #51/#52/#53/#54, §3.3 footer 50→54, §0 cross-refs Pravila v1.25 / PSR_v1 v3.11 / Tooling v2.12, §6 +абзац C10, §9 +запись. ADR-008. Конфликт-аудит OPS1/OPS5/N8N1/LINT1/BPMN1/PA1. План `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент A11/ruflo). **v2.11 наследие:** ADR-006 Decision-4 icon-path boundary mirror: §3.3 строка #45 +граница «Lucide-иконки → канонический путь `lucide-vue-next` + Vuetify IconSet; raw-SVG Universal Icons MCP — только для не-Lucide коллекций». Источник — ADR-006 (поправка 17.05.2026, Decision item 4 — закрывает ранее нерегламентированную границу #45 ↔ `lucide-vue-next`, выявленную конфликт-аудитом карты). §0 cross-ref Tooling v2.10→**v2.11** (Pravila v1.24 / PSR_v1 v3.10 — без изменений: assess показал, что Pravila §13.2 делегирует к ADR-006, PSR_v1 R10.1 — role-registry). Счётчики инструментов без изменений (50 позиций). §9 +запись. Через `/claude-md-management:claude-md-improver` в worktree от origin/main (прямой Edit — worktree-constraint эксцепшн §5 п.10, прецедент A11 v2.10). **v2.10 наследие:** A11 ml-ai-tooling integration: формализованы #48 promptfoo (npm devDependency `promptfoo`, CLI-eval LLM-промптов, MIT) + #49 Data Scientist skill (вендоренный сторонний скил `.claude/skills/data-scientist/`, классический ML-воркфлоу) + #50 Jupyter MCP (исполняемые ноутбуки — DEFERRED, требует Python ML-окружения) — новая десятая off-phase подкатегория «ml-ai-tooling»; §3 title 47→50, §1 row 2b 47→50, §3.3 +3 строки #48/#49/#50, §3.3 footer 47→50, §0 cross-refs Pravila v1.24 / PSR_v1 v3.10 / Tooling v2.10, §6 +абзац A11, §9 +запись. ADR-007. Конфликт-аудит ML1 (promptfoo платные вызовы → вручную/CI) / ML3 (Data Scientist skill вендорен) / ML7 (bus-factor → вендоринг). План `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. Через прямой Edit — worktree-constraint эксцепшн §5 п.10 (claude-md-management не наводится на worktree-копию CLAUDE.md; прецедент ruflo big-bang v2.0). **v2.9 наследие:** A3 integration-tooling integration: формализован #47 openapi-mcp-server (+ api-docs agent — узел карты A3 без Tooling-номера), новая девятая off-phase подкатегория «integration-tooling»; §3 title 46→47, §1 row 2b 46→47, §3.3 +строка #47, §3.3 footer 46→47, §0 cross-refs Pravila v1.23 / PSR_v1 v3.9 / Tooling v2.9, §6 +абзац A3, §9 +запись. Карта A3 0→7 узлов / 116→118. План `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.8 наследие:** A4 design-tooling integration: формализованы #44 Figma MCP (DEFERRED — у проекта нет Figma-аккаунта) + #45 Universal Icons MCP + #46 Design plugin — новая восьмая off-phase подкатегория «design-tooling»; §3 title 43→46, §1 row 2b 43→46, §3.3 +3 строки #44/#45/#46, §3.3 footer 43→46, §0 cross-refs Pravila v1.22 / PSR_v1 v3.8 / Tooling v2.8, §6 +абзац A4, §9 +запись. План `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.7 наследие:** deptrac architecture-fitness integration: формализован #43 deptrac (Composer dev-dependency `deptrac/deptrac` v4.6.1, BSD-3) — 4-й инструмент off-phase подкатегории architecture-tooling; архитектурный fitness-гейт направления зависимостей / границ слоёв, врезан как lefthook pre-commit job 10; §3 title 42→43, §1 row 2b 42→43, §3.3 +строка #43, §3.3 footer 42→43, §0 cross-refs Pravila v1.21 / PSR_v1 v3.7 / Tooling v2.7, §6 +абзац deptrac, §9 +запись. План `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.6 наследие:** C9 project-management integration: формализованы #41 CCPM (вендоренный скил) + #42 product-management (Anthropic marketplace-плагин) — новая седьмая off-phase подкатегория «project-management»; §3 title 40→42, §1 row 2b 40→42, §3.3 +2 строки #41/#42, §3.3 footer 40→42 + семь подкатегорий, §0 cross-refs Pravila v1.20 / PSR_v1 v3.6 / Tooling v2.6, §6 +абзац C9, §9 +запись. План `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.5 наследие:** фактическая правка #40 Security Guidance: это **блокирующий** PreToolUse-хук (`sys.exit(2)`), не warn-only — при первом за сессию срабатывании уязвимого паттерна в файле блокирует правку (одноразовый speed-bump per «файл+правило», retry проходит); §3.3 строка #40 переписана (+SG2 Windows-починка python3-резолва), §6 абзац D3 уточнён, §0 cross-refs Pravila v1.19 / PSR_v1 v3.5 / Tooling v2.5, §9 +запись. Счётчики инструментов без изменений (40 позиций). План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.4 наследие:** D3 audit-security: формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) — новая шестая off-phase подкатегория «audit-security»; §3 title 35→40 (исправляет A6-пропуск: title оставался «35»), §1 row 2b 38→40, §3.3 +2 строки, §3.3 footer 38→40, §0 cross-refs Pravila v1.18 / PSR_v1 v3.4 / Tooling v2.4, §6 +абзац интеграции. План `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.3 наследие:** A6 architecture-tooling: формализованы 3 инструмента раздела A6 карты «Архитектура систем» — #36 adr-kit, #37 mermaid-skill, #38 architecture-patterns; §3 title 35→38, §3.3 +3 строки, §1 row 2b 35→38, §3.3 footer 35→38 (пятая off-phase подкатегория architecture-tooling), §0 cross-refs Pravila v1.17 / PSR_v1 v3.3 / Tooling v2.3, §6 +абзац интеграции. План `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. Через `/claude-md-management:claude-md-improver`. **v2.2 наследие:** реколлаж ruflo: §1 убран уровень −1 (entry-point framing → advisory-подсистема); §3/§3.5 advisory-подсистема; §0 cross-refs Pravila v1.16 / PSR_v1 v3.2 / Tooling v2.2. **v2.1 наследие:** §14 queen-trigger: §1 priority chain уровень −1 +триггер queen/королева → Pravila §14; §3.5 +абзац «Queen trigger»; §0 cross-ref Pravila v1.15. **v2.0 наследие:** Ruflo big-bang integration: 8-level → 9-level priority chain, ruflo Queen-led routing на уровне −1 (entry-point); §1 +уровень −1 ruflo; §3 title «35 инструментов» → «35 + ruflo orchestration layer»; §3.5 added (off-phase orchestration «ruflo»; «Заметки к settings.json» renumber §3.5 → §3.6); §5 п.10 → sub-policy note (claude-md-management остаётся preferred channel через ruflo routing); §6 +2026-05-15 ruflo phase paragraph. Major bump reflects architectural inversion (paper-level: ruflo daemon/swarm not yet running, technical compensators retained: gitleaks/RLS/dev DB only). Через прямой Edit (plan §1.4 user-authorized exception к §5 п.10). **v1.93 наследие:** Audit #3 deferred fixes sprint closure: sync schema header drift «62 → 63 базовые таблицы (61 regular + 2 partitioned parents: deals + supplier_lead_costs)» в §0 row «Схема БД», §2 БД row, §8 self-review row. Цифра 62 была commit-baseline артефактом; фактический count base-tables (regular + partitioned parents) — 63 (audit-verified в Audit #3 Phase 3). Sprint commits: `8ba9c55` (plan) + `0c36b7a` (Pa11y migration) + `e746b3c` (dead code cleanup, incl. schema.sql:4 header) + `c5c0e76` (coverage debt F-COV-01/02/03 → ≥95%) + `c524227` (P3 tooling). Pushed `f9d2452..c524227 main -> main`. Через `/claude-md-management:claude-md-improver`. **v1.92 наследие:** 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. **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,7 +12,7 @@ | Тема | Документ | |---|---| -| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.39 от 22.05.2026** — C1 marketing-tooling: §13.2 +абзац «Off-phase marketing-tooling» (#74 marketing / #75 marketingskills / #76 brand-voice / #77 marketing-ru / #78 Яндекс.Метрика MCP / #79 Яндекс.Директ+Wordstat MCP / #80 Telegram MCP / #81 Postiz / #82 DataForSEO MCP DEFERRED / #83 Unisender Go MCP DEFERRED), 18-я off-phase подкатегория; провенанс-вет IS9 (`docs/security/marketing-vet.md`); VK out-of-scope; ADR-015. **v1.38 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → статус PENDING снят (§13.2). **v1.37 наследие** — A8 infosec-tooling §13.2 +абзац «Off-phase infosec-tooling» (A8: #68 OWASP ZAP DAST PENDING / #69 Nuclei CLI / #70 Ward CLI PENDING / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live), 17-я off-phase подкатегория; провенанс-вет IS9; ADR-014. **v1.36 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → статус PENDING снят (§13.2). **v1.37 наследие** — A8 infosec-tooling §13.2 +абзац «Off-phase infosec-tooling» (A8: #68 OWASP ZAP DAST PENDING / #69 Nuclei CLI / #70 Ward CLI PENDING / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live), 17-я off-phase подкатегория; провенанс-вет IS9; ADR-014. **v1.36 наследие** — §16.4 расширен симметрией missed activation (условное правило): эпизод с профильной классификацией (`tools/observer-classification-map.json`) при `node_chosen === 'direct'` и наличии non-dormant рекомендуемого узла → сигнал, surface в STATUS.md C5 + /brain-retro; DEFERRED-исключения через `tools/.node-dormancy.json`. **v1.35 наследие** — A1 backend-tooling §13.2 +абзац «Off-phase backend-tooling» (A1: #64 Rector / #65 PHP Insights / #66 laravel-backend-patterns / #67 NightOwl DEFERRED), 16-я off-phase подкатегория. **v1.34 наследие** — finance-tooling §13.2 +абзац «Off-phase finance-tooling» (C6+C7: #61 finance plugin / #62 billing-audit / #63 ru-tax-accounting). **v1.33 наследие** — observer factor-analysis phase 1.1 (ADR-011 amend): §16.2 — `decision_provenance.kind` расширен до 3 значений (`autonomous` \| `user_directed_method` \| `user_chose_from_options`); 3-й kind — collaborative-choice case (заказчик выбирает один из предложенных Claude вариантов в предыдущем ходе); §16.7 +абзац «Граница `user_chose_from_options`» — routing-gate НЕ блокирует этот kind (выбор из choice-space самого Claude, не навязанный извне метод). **v1.32 наследие** — observer factor-analysis extension (ADR-011 amend): §16.2 +абзац «Схема эпизода v2» (`schema_version`, `decision_provenance`, `environment`, `task_size`, `task_ref`, `prompt_signal`; `outcome` `unknown` при записи; +`hook_fired`/`interrupt`/`retry`/`time_burn`/`parse_gap`; `observer_error` маркер); §16.3 4→5 контролёров (+C5 observer-coverage-checker, warn-only); §16.7 (новое) routing-тег-дисциплина — Stop-хук `decision: block` при навязанном методе без тега, `stop_hook_active` guard против петли; §16.8 (новое) самодисциплина наблюдателя (`observer_error` маркер вместо тихого пропуска, `parse_gap` событие, C5 контролёр); §16.6 +cross-ref на factor-analysis spec. **v1.31 наследие** — Brain governance §16 implementation (ADR-011): §16.1 router-only, §16.2 observer scope B (5 mandatory fields incl. primary_rationale, 7 event kinds incl. routing_decision per spec v1.1), §16.3 4 controllers, §16.4 поведенческое правило «не использован ≠ проблема», §16.5 не override-floor §9, §16.6 cross-refs. **v1.30 наследие** — компакция «мозга» finding 3: §13.2 счётчики off-phase подкатегорий → пин на Tooling Прил. Н §0 (канон счётчиков); §14 заголовок +метка «(dormant — §14.9)». **v1.29 наследие** — +§14.9 «Текущий статус: изолирован (18.05.2026, dormant)» — Rec2 SYSTEM-аудита: ruflo изолирован от Claude-потока, артефакты сохранены; live-связи hooks/MCP/daemon отключены; queen-триггер §14.1 dormant. **v1.28 наследие** — §13.2 +абзац «Off-phase authoring-tooling + dev-support» (#56 skill-creator / #57 plugin-dev / #58 hookify — тринадцатая off-phase подкатегория authoring-tooling; #59 claude-code-setup / #60 context7 — четырнадцатая dev-support); ADR-010. **v1.27 наследие** — §15 hard-rule «Параллельные сессии» (15.1 субагенты+git Sonnet/Opus only, 15.2 нормативка+pre-flight sync с 8-позиционным списком файлов: Pravila/CLAUDE.md/Tooling/PSR_v1/MEMORY.md/Открытые_вопросы/docs/adr/*/db/schema.sql, 15.3 cross-refs); третье hard-rule после §12 и §14; +§10 changelog entry v1.27. **v1.26 наследие** — §13.2 +абзац «Off-phase discovery-tooling» (#55 discovery-interview — проектный скил, режимы FEATURE+SYSTEM); двенадцатая off-phase подкатегория. **v1.25 наследие** — §13.2 +абзац «Off-phase business-process» (#51 operations / #52 process-modeling / #53 process-analysis / #54 n8n-mcp DEFERRED — раздел C10 карты); одиннадцатая off-phase подкатегория. **v1.24 наследие** — §13.2 +абзац «Off-phase ml-ai-tooling» (#48 promptfoo / #49 Data Scientist skill / #50 Jupyter MCP DEFERRED — раздел A11 карты); десятая off-phase подкатегория. **v1.23 наследие** — §13.2 +абзац «Off-phase integration-tooling» (#47 openapi-mcp-server / api-docs agent — раздел A3 карты); девятая off-phase подкатегория. **v1.22 наследие** — §13.2 +абзац «Off-phase design-tooling» (#44 Figma MCP / #45 Universal Icons MCP / #46 Design plugin — раздел A4 карты); восьмая off-phase подкатегория. **v1.21 наследие** — §13.2 абзац «Off-phase architecture-tooling» расширен: +#43 deptrac (4-й инструмент категории, Composer dev-dep). **v1.20 наследие** — §13.2 +абзац «Off-phase project-management» (#41 CCPM / #42 product-management — раздел C9 карты); новая седьмая off-phase подкатегория. **v1.19 наследие** — §13.2 факт-правка #40 Security Guidance: блокирующий хук (`sys.exit 2`), не warn-only. **v1.18 наследие** — §13.2 +абзац «Off-phase audit-security» (#39 Trail of Bits Skills / #40 Security Guidance — раздел D3 карты). **v1.17 наследие** — §13.2 +абзац «Off-phase architecture-tooling» (#36 adr-kit / #37 mermaid-skill / #38 architecture-patterns — раздел A6 карты). **v1.16 наследие** — реколлаж ruflo: §1 убран уровень −1, ruflo переописан в advisory-подсистему; §14 queen-триггер сохранён. **v1.15 наследие** — §14 (new) Ruflo Queen routing hard-rule (триггер queen/королева). **v1.14 наследие** — §12 → sub-policy под ruflo routing (commit `9c3057b`); Superpowers hard-rule сохраняется. **v1.13 наследие** — §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/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.40 от 24.05.2026** — Делегирование проектным AI-агентам: §2.4 (новая подсекция) — контроллер обязан звать `normative-sync` (#84) после крупной задачи + `prod-deploy-validator` (#85) перед каждым выкатом liderra.ru; прежние `pest-parallel-debugger` + `rls-reviewer` тоже формализованы в одной таблице. Project-агенты в `docs/registry/nodes.yaml` subcategory `project-agent`, **не входят в Tooling канон счётчиков** #1-#83. Связано: CLAUDE.md v2.28, spec `docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md`. **v1.39 наследие** — C1 marketing-tooling: §13.2 +абзац «Off-phase marketing-tooling» (#74 marketing / #75 marketingskills / #76 brand-voice / #77 marketing-ru / #78 Яндекс.Метрика MCP / #79 Яндекс.Директ+Wordstat MCP / #80 Telegram MCP / #81 Postiz / #82 DataForSEO MCP DEFERRED / #83 Unisender Go MCP DEFERRED), 18-я off-phase подкатегория; провенанс-вет IS9 (`docs/security/marketing-vet.md`); VK out-of-scope; ADR-015. **v1.38 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → статус PENDING снят (§13.2). **v1.37 наследие** — A8 infosec-tooling §13.2 +абзац «Off-phase infosec-tooling» (A8: #68 OWASP ZAP DAST PENDING / #69 Nuclei CLI / #70 Ward CLI PENDING / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live), 17-я off-phase подкатегория; провенанс-вет IS9; ADR-014. **v1.36 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → статус PENDING снят (§13.2). **v1.37 наследие** — A8 infosec-tooling §13.2 +абзац «Off-phase infosec-tooling» (A8: #68 OWASP ZAP DAST PENDING / #69 Nuclei CLI / #70 Ward CLI PENDING / #71 pdn-152fz-audit / #72 threat-model / #73 security-go-live), 17-я off-phase подкатегория; провенанс-вет IS9; ADR-014. **v1.36 наследие** — §16.4 расширен симметрией missed activation (условное правило): эпизод с профильной классификацией (`tools/observer-classification-map.json`) при `node_chosen === 'direct'` и наличии non-dormant рекомендуемого узла → сигнал, surface в STATUS.md C5 + /brain-retro; DEFERRED-исключения через `tools/.node-dormancy.json`. **v1.35 наследие** — A1 backend-tooling §13.2 +абзац «Off-phase backend-tooling» (A1: #64 Rector / #65 PHP Insights / #66 laravel-backend-patterns / #67 NightOwl DEFERRED), 16-я off-phase подкатегория. **v1.34 наследие** — finance-tooling §13.2 +абзац «Off-phase finance-tooling» (C6+C7: #61 finance plugin / #62 billing-audit / #63 ru-tax-accounting). **v1.33 наследие** — observer factor-analysis phase 1.1 (ADR-011 amend): §16.2 — `decision_provenance.kind` расширен до 3 значений (`autonomous` \| `user_directed_method` \| `user_chose_from_options`); 3-й kind — collaborative-choice case (заказчик выбирает один из предложенных Claude вариантов в предыдущем ходе); §16.7 +абзац «Граница `user_chose_from_options`» — routing-gate НЕ блокирует этот kind (выбор из choice-space самого Claude, не навязанный извне метод). **v1.32 наследие** — observer factor-analysis extension (ADR-011 amend): §16.2 +абзац «Схема эпизода v2» (`schema_version`, `decision_provenance`, `environment`, `task_size`, `task_ref`, `prompt_signal`; `outcome` `unknown` при записи; +`hook_fired`/`interrupt`/`retry`/`time_burn`/`parse_gap`; `observer_error` маркер); §16.3 4→5 контролёров (+C5 observer-coverage-checker, warn-only); §16.7 (новое) routing-тег-дисциплина — Stop-хук `decision: block` при навязанном методе без тега, `stop_hook_active` guard против петли; §16.8 (новое) самодисциплина наблюдателя (`observer_error` маркер вместо тихого пропуска, `parse_gap` событие, C5 контролёр); §16.6 +cross-ref на factor-analysis spec. **v1.31 наследие** — Brain governance §16 implementation (ADR-011): §16.1 router-only, §16.2 observer scope B (5 mandatory fields incl. primary_rationale, 7 event kinds incl. routing_decision per spec v1.1), §16.3 4 controllers, §16.4 поведенческое правило «не использован ≠ проблема», §16.5 не override-floor §9, §16.6 cross-refs. **v1.30 наследие** — компакция «мозга» finding 3: §13.2 счётчики off-phase подкатегорий → пин на Tooling Прил. Н §0 (канон счётчиков); §14 заголовок +метка «(dormant — §14.9)». **v1.29 наследие** — +§14.9 «Текущий статус: изолирован (18.05.2026, dormant)» — Rec2 SYSTEM-аудита: ruflo изолирован от Claude-потока, артефакты сохранены; live-связи hooks/MCP/daemon отключены; queen-триггер §14.1 dormant. **v1.28 наследие** — §13.2 +абзац «Off-phase authoring-tooling + dev-support» (#56 skill-creator / #57 plugin-dev / #58 hookify — тринадцатая off-phase подкатегория authoring-tooling; #59 claude-code-setup / #60 context7 — четырнадцатая dev-support); ADR-010. **v1.27 наследие** — §15 hard-rule «Параллельные сессии» (15.1 субагенты+git Sonnet/Opus only, 15.2 нормативка+pre-flight sync с 8-позиционным списком файлов: Pravila/CLAUDE.md/Tooling/PSR_v1/MEMORY.md/Открытые_вопросы/docs/adr/*/db/schema.sql, 15.3 cross-refs); третье hard-rule после §12 и §14; +§10 changelog entry v1.27. **v1.26 наследие** — §13.2 +абзац «Off-phase discovery-tooling» (#55 discovery-interview — проектный скил, режимы FEATURE+SYSTEM); двенадцатая off-phase подкатегория. **v1.25 наследие** — §13.2 +абзац «Off-phase business-process» (#51 operations / #52 process-modeling / #53 process-analysis / #54 n8n-mcp DEFERRED — раздел C10 карты); одиннадцатая off-phase подкатегория. **v1.24 наследие** — §13.2 +абзац «Off-phase ml-ai-tooling» (#48 promptfoo / #49 Data Scientist skill / #50 Jupyter MCP DEFERRED — раздел A11 карты); десятая off-phase подкатегория. **v1.23 наследие** — §13.2 +абзац «Off-phase integration-tooling» (#47 openapi-mcp-server / api-docs agent — раздел A3 карты); девятая off-phase подкатегория. **v1.22 наследие** — §13.2 +абзац «Off-phase design-tooling» (#44 Figma MCP / #45 Universal Icons MCP / #46 Design plugin — раздел A4 карты); восьмая off-phase подкатегория. **v1.21 наследие** — §13.2 абзац «Off-phase architecture-tooling» расширен: +#43 deptrac (4-й инструмент категории, Composer dev-dep). **v1.20 наследие** — §13.2 +абзац «Off-phase project-management» (#41 CCPM / #42 product-management — раздел C9 карты); новая седьмая off-phase подкатегория. **v1.19 наследие** — §13.2 факт-правка #40 Security Guidance: блокирующий хук (`sys.exit 2`), не warn-only. **v1.18 наследие** — §13.2 +абзац «Off-phase audit-security» (#39 Trail of Bits Skills / #40 Security Guidance — раздел D3 карты). **v1.17 наследие** — §13.2 +абзац «Off-phase architecture-tooling» (#36 adr-kit / #37 mermaid-skill / #38 architecture-patterns — раздел A6 карты). **v1.16 наследие** — реколлаж ruflo: §1 убран уровень −1, ruflo переописан в advisory-подсистему; §14 queen-триггер сохранён. **v1.15 наследие** — §14 (new) Ruflo Queen routing hard-rule (триггер queen/королева). **v1.14 наследие** — §12 → sub-policy под ruflo routing (commit `9c3057b`); Superpowers hard-rule сохраняется. **v1.13 наследие** — §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) (**v3.22 от 22.05.2026** — C1 marketing-tooling: R10.1 Блок 1 +marketing (#74 plugin + #75 marketingskills + #76 brand-voice + #77 marketing-ru) + note (+Яндекс.Метрика MCP #78 / Яндекс.Директ+Wordstat MCP #79 / Telegram MCP #80 / Postiz #81 / DataForSEO MCP #82 DEFERRED / Unisender Go MCP #83 DEFERRED); R15.6 +marketing-tooling; 18-я off-phase подкатегория; не UI → вне R6/R14. **v3.21 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → R10.1 Блок 1 note + Блок 3 ZAP-row статус PENDING INSTALL снят. **v3.20 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → R10.1 Блок 1 note + Блок 3 ZAP-row статус PENDING INSTALL снят. **v3.20 наследие** — A8 infosec-tooling: R10.1 Блок 1 note +infosec (#69 Nuclei / #70 Ward — CLI; #71-73 self-authored скилы) + Блок 3 +OWASP ZAP MCP (#68, PENDING INSTALL); R15.6 +infosec-tooling; 17-я off-phase подкатегория. **v3.19 наследие** — A1 backend-tooling: R10.1 Блок 1 note +backend-tooling (#64 Rector / #65 PHP Insights — Composer dev-deps; #66 laravel-backend-patterns — self-authored; #67 NightOwl DEFERRED); R15.6 +backend-tooling; 16-я off-phase подкатегория. **v3.18 наследие** — finance-tooling: R10.1 Блок 1 +finance plugin (#61) + note (+billing-audit #62 / ru-tax-accounting #63). **v3.17 наследие** — observer schema v2 sync (ADR-011 amend): R16.1 +предложение про `schema_version` / `decision_provenance` / `environment` / `task_size` / `prompt_signal` + расширенные события (`hook_fired`/`interrupt`/`retry`/`time_burn`/`parse_gap`) + `observer_error` маркер; R16.4 +cross-ref на factor-analysis spec и plan. R0–R15 без изменений. Routing-gate / C5 / `/brain-retro` analyzer — нормативно в Pravila §16.7/§16.8 + ADR-011 §5; R16 фиксирует evidence-сбор, не enforcement. **v3.16 наследие** — Brain governance R16 «Brain evidence loop» (ADR-011): R16.1 observer scope (5 mandatory fields), R16.2 plugin stack-conscious events (routing_decision + factor matrix 5 axes), R16.3 не override (R16 evidence-сбор, не правило выбора), R16.4 cross-refs. 17 правил R0-R16. **v3.15 наследие** — компакция «мозга» finding 3: R10.1 счётчики позиций → пин на Tooling Прил. Н §0 (канон счётчиков). **v3.14 наследие** — +R15 «Off-phase routing» на свободном слоте (motion удалён v2.0): R15.1 off-phase узлы вне R6.0/R6.1/R14, R15.2 routing-таблица — `docs/routing-off-phase.md` v1.0+, R15.3 приоритет специфичности + ADR-границы, R15.4 hard-rules Pravila §12/§14/§15 перевешивают, R15.5 live-override, R15.6 гранулярные категории, R15.7 обычное правило. UI-аппарат R0–R14 без изменений. Rec5 SYSTEM-аудита. **v3.13 наследие** — R10.1 Блок 1 +5 строк (#56 skill-creator / #57 plugin-dev / #58 hookify / #59 claude-code-setup / #60 context7) + note (v3.13); новые тринадцатая (authoring-tooling) и четырнадцатая (dev-support) off-phase подкатегории, не UI → вне R6/R14; hookify HK1 pre-check. **v3.12 наследие** — R10.1 Блок 1 note (v3.12) +discovery-interview (#55, self-authored project-скил, discovery-tooling); новая двенадцатая off-phase подкатегория discovery-tooling, не UI → вне R6/R14. **v3.11 наследие** — R10.1 Блок 1 +operations (#51, business-process, marketplace-плагин) + Блок 1 note +process-modeling (#52) + process-analysis (#53, self-authored project-скилы) + Блок 3 +n8n-mcp (#54, DEFERRED); новая одиннадцатая off-phase подкатегория business-process, не UI → вне R6/R14. **v3.10 наследие** — R10.1 Блок 3 +Jupyter MCP (#50, ml-ai-tooling, DEFERRED) + Блок 1 note +promptfoo (#48) + Data Scientist skill (#49); новая десятая off-phase подкатегория ml-ai-tooling, не UI → вне R6/R14. **v3.9 наследие** — R10.1 Блок 3 +openapi-mcp-server (#47, integration-tooling); новая девятая off-phase подкатегория integration-tooling, не UI → вне R6/R14. **v3.8 наследие** — R10.1 Блок 1 +Design plugin (#46, design-tooling); Блок 3 +Universal Icons MCP (#45) + Figma MCP (#44, DEFERRED); новая восьмая off-phase подкатегория design-tooling, не UI → вне R6/R14. **v3.7 наследие** — R10.1 Блок 1 +note: deptrac #43 (Composer dev-dep, не marketplace-плагин, architecture-tooling), не UI → вне R6/R14. **v3.6 наследие** — R10.1 Блок 1 +2 строки (CCPM + product-management); новая категория project-management, не UI → вне R6/R14. **v3.5 наследие** — R10.1 факт-правка security-guidance: блокирующий хук, не warn-only. **v3.4 наследие** — R10.1 Блок 1 +2 строки (Trail of Bits Skills + security-guidance); новая категория audit-security, не UI → вне R6/R14. **v3.3 наследие** — R10.1 Блок 1 +2 строки (adr-kit + architecture-patterns) + note (mermaid-skill вендоренный); новая категория architecture-tooling, не UI → вне R6/R14. **v3.2 наследие** — реколлаж ruflo: R0 entry-point framing убран, ruflo advisory-подсистема. **v3.1 наследие** — queen-триггер §14. **v3.0 наследие** — major bump: R0 stack-gate → paired-stack delegation pattern (commit `d30cbeb`). **v2.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 уровень) | | Полный реестр формализованных позиций тулчейна (счётчики — канон в Прил. Н §0) | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (**Прил. Н v2.23 от 22.05.2026** — C1 marketing-tooling: §4.49 marketing plugin + §4.50 marketingskills + §4.51 brand-voice + §4.52 marketing-ru + §4.53 Яндекс.Метрика MCP + §4.54 Яндекс.Директ+Wordstat MCP + §4.55 Telegram MCP + §4.56 Postiz + §4.57 DataForSEO MCP (DEFERRED) + §4.58 Unisender Go MCP (DEFERRED); §0 счётчик 73→83 (93→103 total) + 18-я подкатегория marketing-tooling (раздел C1); ADR-015; IS9-вет (`docs/security/marketing-vet.md`). **Прил. Н v2.22 наследие** — pg_audit #28 + pg_anonymizer #29 установлены на боевом `liderra.ru` (расширения PostgreSQL фазы 3): §5.1 attribute-блоки #28/#29 + §6 compliance-таблица + §10.4 шаг 2 → ✅ прод; setup-dok `docs/security/pgaudit-anonymizer-setup.md`. **Прил. Н v2.21 наследие** — pg_audit #28 + pg_anonymizer #29 установлены на боевом `liderra.ru` (расширения PostgreSQL фазы 3): §5.1 attribute-блоки #28/#29 + §6 compliance-таблица + §10.4 шаг 2 → ✅ прод; setup-док `docs/security/pgaudit-anonymizer-setup.md`. **Прил. Н v2.21 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 установлены портативно 21.05 → §4.43/§4.45 dormant true→false, §4.48 уточнён, setup-доки `docs/security/{zap,ward}-setup.md`; счётчики без изменений (73/93). **Прил. Н v2.20 наследие** — A8 infosec-tooling: §4.43 OWASP ZAP #68 + §4.44 Nuclei #69 + §4.45 Ward #70 + §4.46 pdn-152fz-audit #71 + §4.47 threat-model #72 + §4.48 security-go-live #73; §0 счётчик 67→73 (87→93 total) + 17-я подкатегория infosec-tooling (раздел A8); ADR-014. **Прил. Н v2.19 наследие** — A1 backend-tooling: §4.39 Rector #64 + §4.40 PHP Insights #65 + §4.41 laravel-backend-patterns #66 + §4.42 NightOwl #67 (DEFERRED); §0 счётчик 63→67 (83→87 total) + 16-я подкатегория backend-tooling (раздел A1); ADR-013. **Прил. Н v2.18 наследие** — finance-tooling: §4.36 finance plugin #61 + §4.37 billing-audit #62 + §4.38 ru-tax-accounting #63; §0 счётчик 60→63 + 15-я подкатегория finance-tooling. **Прил. Н v2.17 наследие** — Brain governance Task A3 (ADR-011): §0.1 row template (9 obligatory attributes) + 58 Атрибуты blocks на всех узлах реестра. Дамп-блоки для phase-active (§2.4/§3.5/§5.1 для phase 0/1/3) + inline-блоки для phase-2 (§4.1-§4.4) и off-phase (§4.5-§4.35). dormant=true для #1 PG MCP (replaced), #17 pg_partman (no native Windows PG ext), ruflo §4.10. 6 atomic sub-batches: 1f77134/0718e41/16f7f1c/ca4da69/39231ef/3e73396 + header bump 8170527. Структурный реестр — вход для router-procedure.md (commit 8a2e701) step 3. **Прил. Н v2.16 наследие** — компакция «мозга» finding 3: §0 +«КАНОН СЧЁТЧИКОВ» anchor (Прил. Н §0 — единственный источник числовых счётчиков тулчейна); §12 заголовок — убран stale-счётчик «35». **v2.15 наследие** — §4.10 +status-block «ruflo ИЗОЛИРОВАН 18.05.2026» (live-связи hooks/MCP/daemon отключены, артефакты сохранены, queen-триггер dormant). Счётчики тулчейна без изменений — 60 формализованных позиций + 20 ruflo plugins = 80 total. Rec2 SYSTEM-аудита. **v2.14 наследие** — §4.31–§4.35 (#56 skill-creator / #57 plugin-dev / #58 hookify — authoring-tooling; #59 claude-code-setup / #60 context7 — dev-support — новые тринадцатая и четырнадцатая off-phase подкатегории); §0 счётчик 55→60 (75→80 total). **v2.13 наследие** — §4.30 (#55 discovery-interview, discovery-tooling — новая двенадцатая off-phase подкатегория); §0 счётчик 54→55. **v2.12 наследие** — §4.26/§4.27/§4.28/§4.29 (#51 operations / #52 process-modeling / #53 process-analysis / #54 n8n-mcp DEFERRED, business-process — новая одиннадцатая off-phase подкатегория); §0 счётчик 50→54. **v2.11 наследие** — §4.20 +UI3 (ADR-006 Decision-4 icon-path boundary mirror: Lucide-иконки канонически через `lucide-vue-next` + Vuetify IconSet, raw-SVG MCP — только не-Lucide коллекции). **v2.10 наследие** — §4.23/§4.24/§4.25 (#48 promptfoo / #49 Data Scientist skill / #50 Jupyter MCP DEFERRED, ml-ai-tooling — новая десятая off-phase подкатегория); §0 счётчик 47→50. **v2.9 наследие** — §4.22 (#47 openapi-mcp-server, integration-tooling — новая девятая off-phase подкатегория); §0 счётчик 46→47. **v2.8 наследие** — §4.19/§4.20/§4.21 (#44 Figma MCP / #45 Universal Icons MCP / #46 Design plugin, design-tooling — новая восьмая off-phase подкатегория); §0 счётчик 43→46. **v2.7 наследие** — §4.18 (#43 deptrac, architecture-tooling — 4-й инструмент категории); §0 счётчик 42→43. **v2.6 наследие** — §4.16/§4.17 (#41 CCPM / #42 product-management), новая седьмая off-phase подкатегория project-management; §0 счётчик 40→42. **v2.5 наследие** — §4.15 факт-правка #40 Security Guidance: блокирующий хук (`sys.exit 2`), не warn-only; +SG2 Windows-починка python3-резолва. **v2.4 наследие** — §4.14/§4.15 (#39 Trail of Bits Skills / #40 Security Guidance), новая шестая off-phase подкатегория audit-security; §0 счётчик 38→40. **v2.3 наследие** — §4.11–4.13 (#36 adr-kit / #37 mermaid-skill / #38 architecture-patterns), новая пятая off-phase подкатегория architecture-tooling; §0 счётчик 35→38. **v2.2 наследие** — реколлаж ruflo: §4.10 переписан из «entry-point оркестратора уровня −1» в «advisory/automation-подсистема». **v2.1 наследие** — queen-триггер §14. **v2.0 наследие** — §4.10 (новый) «Orchestration layer (ruflo)»: ruflo v3.7.0-alpha.38+ (off-phase, orchestration category). **v1.17 наследие** — §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) | @@ -213,6 +213,19 @@ Quick-reference «триггер задачи → off-phase узел» для 30 - **Источник истины**: см. [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) Прил. Н §8 — source of truth для всех конфигов проекта. - **`$schema`**: канонический URL — `https://json.schemastore.org/claude-code-settings.json` (только этот валиден для Claude Code; кастомные `_comments` / `comment` в файле — нельзя, схема их отвергает). +### 3.9. Project-local AI-агенты (v2.28) + +В `.claude/agents/` лежат 4 узко-специализированных Sonnet 4.6 агента, которым контроллер ОБЯЗАН делегировать соответствующие классы задач — формальный контракт оформлен в [Pravila §2.4](docs/Pravila_raboty_Claude_v1_1.md). Регистрация в `docs/registry/nodes.yaml` (`subcategory: project-agent`) для missed-activation детектора. Project-агенты **не входят в Tooling канон счётчиков** (#1-#83 — реестр инструментов), их ID идут #84+ с атрибутом `agent_file:`. + +| ID | Агент | Когда зовём | Файл | +|----|-------|-------------|------| +| #84 | `normative-sync` | После закрытия крупной off-phase интеграции / brain governance артефакта / принятого ADR — синк 4 нормативных файлов | [.claude/agents/normative-sync.md](.claude/agents/normative-sync.md) | +| #85 | `prod-deploy-validator` | Перед любым выкатом на боевой liderra.ru — 8 SSH pre-flight проверок, GO/NO-GO вердикт | [.claude/agents/prod-deploy-validator.md](.claude/agents/prod-deploy-validator.md) | +| — | `pest-parallel-debugger` | Диагностика Pest 4 `--parallel` failures (квирки 72/73/77) | [.claude/agents/pest-parallel-debugger.md](.claude/agents/pest-parallel-debugger.md) | +| — | `rls-reviewer` | RLS-compliance review при правке `db/schema.sql` или `db/migrations/` | [.claude/agents/rls-reviewer.md](.claude/agents/rls-reviewer.md) | + +Полный perimeter триггеров — в `description`-frontmatter каждого файла; настоящая таблица — индекс контракта, не дублирующая декларация. Спек обоих новых агентов: [docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md](docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md). + --- ## 4. Команды быстрого доступа @@ -363,6 +376,8 @@ trivy image liderra:latest Полная история — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) (вынесена 09.05.2026 при правке v1.73→v1.74 ради лаконичности шапки). Здесь — последние правки: +- **v2.28 от 24.05.2026** — Project-local AI-agents delegation rule per spec `docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md`. **§0 cross-refs:** Pravila v1.39→**v1.40** (CLAUDE.md шапка + §0 table). PSR_v1 / Tooling — **не правятся** (project-агенты не плагины Claude и не в Tooling-каноне #1-#83). **§3.9 (новая подсекция)** — таблица 4 project-агентов (#84 normative-sync, #85 prod-deploy-validator, прежние pest-parallel-debugger + rls-reviewer без Tooling-ID), их триггеры, ссылки на agent-файлы и spec. **Pravila §2.4 (новая подсекция)** — формальный hard-rule «контроллер ОБЯЗАН делегировать» с дисциплиной делегирования (live-отмена возможна, эскалации без угадывания). **Уровень 2 (наблюдатель):** +2 узла #84/#85 в `docs/registry/nodes.yaml` с `subcategory: "project-agent"`, `agent_file:` атрибутом и `triggers.classification: "normative_sync_needed" / "prod_deploy_imminent"` (классификации авто-подхватываются `tools/registry-to-classification-map.mjs` build-функцией; deprecated `tools/observer-classification-map.json` не правится). `tools/registry-load.test.mjs` fixtures bumped 83→85 / 75→77. **§9 +this entry.** Header v2.27→**v2.28**. Уровень 1+2 одновременно (level 3 хуки — defer). Через прямой Edit — worktree-эксцепшн §5 п.10. + - **v2.27 от 22.05.2026** — C1 marketing-tooling integration per plan `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`. **§0 cross-refs:** Pravila v1.38→**v1.39** / PSR_v1 v3.21→**v3.22** / Tooling Прил.Н v2.22→**v2.23**. **§3.3** +#74 marketing / #75 marketingskills / #76 brand-voice / #77 marketing-ru / #78 Яндекс.Метрика MCP / #79 Яндекс.Директ+Wordstat MCP / #80 Telegram MCP / #81 Postiz / #82 DataForSEO MCP (DEFERRED) / #83 Unisender Go MCP (DEFERRED) — 18-я off-phase подкатегория marketing-tooling, раздел C1. **§6** +абзац C1 marketing-tooling сверху. **§9 +this entry.** Header v2.26→**v2.27**. **Узлы:** #74 marketing (Anthropic plugin, 8 скилов, primary resolver) + #75 marketingskills (вендоренный, 40 фреймворков, модель UPM/материал, MKT3) + #76 brand-voice (Anthropic partner, тон бренда) + #77 marketing-ru (self-authored, РФ-каналы/лендинг/152-ФЗ, eval 20/20) + #78 Яндекс.Метрика MCP (READ-ONLY `atomkraft/yandex-metrika-mcp`) + #79 Яндекс.Директ+Wordstat MCP (только Wordstat, Direct-мутации off IS9) + #80 Telegram MCP (выделенный аккаунт) + #81 Postiz (self-host AGPL-3.0 internal, VK+Telegram) + #82 DataForSEO MCP (**DEFERRED** post-Б-1) + #83 Unisender Go MCP (**DEFERRED** нет upstream). VK out-of-scope (нет MCP, прямой API → отдельный ADR). IS9-вет всех внешних → `docs/security/marketing-vet.md`. ADR-015 (MKT1–MKT9). Tasks 1 (plugin enable) + 4 (MCP installs) pending фактической установки. Через прямой Edit — worktree-эксцепшн §5 п.10 (прецедент A8/A11/C10/discovery/finance). - **v2.26 от 22.05.2026** — pg_audit #28 + pg_anonymizer #29 установлены на боевом `liderra.ru`. **§0 cross-ref:** Tooling Прил.Н v2.21→**v2.22** (Pravila/PSR_v1 без изменений — #28/#29 это phase-3 расширения БД, не off-phase плагины). **§3.4** строки #28/#29 → ✅ прод. **§6** +абзац сверху. **§9 +this entry.** Header v2.25→**v2.26**. Новый setup-док `docs/security/pgaudit-anonymizer-setup.md`. **Факт (на боевом Ubuntu 24.04 / PostgreSQL 16):** #28 pg_audit 16.0 (пакет `postgresql-16-pgaudit`, `shared_preload_libraries='pgaudit'` → 1 перезапуск ~2с, `pgaudit.log='ddl, role, write'`, `log_parameter=off` — ПДн не в логах; 152-ФЗ аудит БД ✅); #29 pg_anonymizer 3.0.13 (готового пакета нет → собран из исходников Rust/pgrx 0.18.0 ~15мин; `LOAD 'anon'` on-demand, не db-wide preload; маскирование verified). Бэкап до работ снят. **⚠️ Незапланированно:** `postgresql-server-dev-16` из PGDG потянул минорный апгрейд PG 16.13→16.14 + авто-перезапуск (данные целы, портал здоров) → версия закреплена `apt-mark hold` + PGDG-репа off. Build-тулчейн+Rust убраны (~3.5 ГБ). Tooling §5.1 (#28/#29 attribute-блоки +статус) / §6 compliance-таблица / §10.4 шаг 2 → ✅ прод. **Гейты:** cross-ref-checker + l1-watcher 0 drift. NB: runbook `docs/deploy/test-server-runbook.md` (ветка feat/test-deploy) — sync отдельно (на origin/main файла нет). Исполнено по SSH на боевом сервере + worktree от origin/main для нормативки. Через прямой Edit — worktree-эксцепшн §5 п.10. - **v2.25 от 21.05.2026** — A8 infosec install-sync (ZAP #68 + Ward #70 установлены). **§0 cross-refs:** Pravila v1.37→**v1.38** / PSR_v1 v3.20→**v3.21** / Tooling Прил.Н v2.20→**v2.21**. **§3.3** строки 68/70 — снят PENDING INSTALL, +пути установки. **§6** +абзац «установка ZAP+Ward» сверху. **§9 +this entry.** Header v2.24→**v2.25**. **Факт:** по выбору заказчика «оба портативно» (choco отклонён) — Ward собран portable Go 1.26.3 (`go install ...@v0.4.1` → `bin/ward.exe`, smoke `app/` 2 находки), ZAP cross-platform 2.17.0 + MCP-аддон на portable Temurin JRE 17 (daemon API verified), всё `bin/*` gitignored (~1.2 ГБ). Setup-доки `docs/security/zap-setup.md` + `ward-setup.md`. Полный нормативный синк всех 4 файлов (Tooling/CLAUDE/PSR/Pravila) — статус PENDING снят в Tooling §4.43/§4.45 (dormant→false) / §4.48, PSR R10.1 Блок1/Блок3, Pravila §13.2. Гейты GREEN: cross-ref-checker + l1-watcher 0 drift / markdownlint / lychee / gitleaks. Квирки установки: curl error 56 на go.dev → Invoke-WebRequest; git-bash tar ≠ zip → tar.exe/Expand-Archive; Start-Process калечит jar-путь с пробелами → -WorkingDirectory. Исполнено в worktree `a8-install-sync` от origin/main (pre-flight чист). Через прямой Edit — worktree-эксцепшн §5 п.10. diff --git a/cspell-words.txt b/cspell-words.txt index d27b1f0f..b22f9be5 100644 --- a/cspell-words.txt +++ b/cspell-words.txt @@ -1721,6 +1721,14 @@ FNS NTFS маппинге dogfooded + +# Controller-offload agents level 1+2 (24.05.2026) +бинари +ребейзе +dok +аддон +синкни +фейл пинуются маунт pgrep diff --git a/docs/Pravila_raboty_Claude_v1_1.md b/docs/Pravila_raboty_Claude_v1_1.md index e0a0974c..6982cb30 100644 --- a/docs/Pravila_raboty_Claude_v1_1.md +++ b/docs/Pravila_raboty_Claude_v1_1.md @@ -1,10 +1,12 @@ # Правила работы Claude в проекте «Лидерра» -**Версия:** v1.39 (22.05.2026) -**Дата:** 22.05.2026 +**Версия:** v1.40 (24.05.2026) +**Дата:** 24.05.2026 **Назначение:** настройки проекта (Project instructions) — Claude читает этот файл в каждом чате и следует правилам ниже. **Статус документа:** ✅ утверждён. Содержимое скопировано в поле "Project instructions" Claude.ai. Файл хранится в архиве как служебный документ. +**Что изменилось в v1.40 относительно v1.39:** Делегирование проектным AI-агентам — §2.4 (новая подсекция) описывает обязанность контроллера передавать класс задач 4 узко-специализированным агентам в `.claude/agents/`: `normative-sync` (#84, синк 4 нормативных файлов после крупной задачи), `prod-deploy-validator` (#85, 8 SSH pre-flight перед выкатом на liderra.ru), плюс прежние `pest-parallel-debugger` и `rls-reviewer`. Project-агенты регистрируются в `docs/registry/nodes.yaml` (subcategory `project-agent`) для missed-activation детектора, но **не входят в Tooling канон счётчиков** #1-#83 (footer-числа не двигаются). Архитектурных изменений §§1, §3–§16: 0. Связано: CLAUDE.md v2.28+ (§3.9), spec `docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md`, agent files `.claude/agents/{normative-sync,prod-deploy-validator}.md`. + **Что изменилось в v1.39 относительно v1.38:** C1 marketing-tooling — §13.2 +абзац «Off-phase marketing-tooling»: #74 marketing (Anthropic, первичный решатель C1), #75 marketingskills (вендорен MIT, материал/резерв), #76 brand-voice (Anthropic, вербальный бренд), #77 marketing-ru (self-authored project-скил, РФ-специфика + 152-ФЗ маркетинг), #78 Яндекс.Метрика MCP (READ-ONLY), #79 Яндекс.Директ+Wordstat MCP (**Wordstat-only**, Direct-мутации отключены per IS9), #80 Telegram MCP, #81 Postiz (self-host, AGPL-3.0 internal), #82 DataForSEO (**DEFERRED**, pending Б-1/бюджет), #83 Unisender Go (**DEFERRED**, pending согласования + 152-ФЗ). 18-я off-phase подкатегория, раздел C1. Не UI → вне R6.0/R6.1/R14. Границы — ADR-015. Счётчики — канон Tooling §0. Архитектурных изменений §§1–12, §14–§16: 0. Связано: Tooling v2.23+, PSR_v1 v3.22+, CLAUDE.md v2.27+; план `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`. **Что изменилось в v1.38 относительно v1.37:** A8 infosec install-sync — ZAP #68 + Ward #70 установлены портативно 21.05.2026 (без choco, по выбору заказчика «оба портативно») → в §13.2 абзаце «Off-phase infosec-tooling» статус **PENDING INSTALL снят** для обоих (ZAP: ZAP 2.17.0 + MCP-аддон на portable Temurin JRE 17; Ward: собран portable Go → `bin/ward.exe` v0.4.1); setup-доки `docs/security/{zap,ward}-setup.md`. Архитектурных изменений §§1–16: 0. Связано: Tooling v2.21, PSR_v1 v3.21, CLAUDE.md v2.25; план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`. @@ -238,6 +240,27 @@ Claude — **системный архитектор-документалист* - Не продолжает работу при обнаружении противоречия между файлами архива «молча» — всегда сообщает заказчику. - Не загружает в контекст всю документацию v8.0+ целиком — обращается по разделам через `project_knowledge_search`. +### 2.4. Делегирование проектным AI-агентам (v1.40) + +В `.claude/agents/` лежат проектные AI-агенты (Sonnet 4.6, узко-специализированные). Контроллер ОБЯЗАН делегировать им следующие классы задач: + +| Условие | Агент | Brief-фраза заказчика-триггер | +|---------|-------|-------------------------------| +| Закрытие крупной off-phase интеграции / brain governance артефакта / принятого ADR — синк 4 нормативных файлов (Pravila / PSR_v1 / Tooling / CLAUDE.md) | `normative-sync` (#84, [agent file](../.claude/agents/normative-sync.md), [spec §3](superpowers/specs/2026-05-24-controller-offload-agents-design.md)) | «синкни нормативку», «закрыли X — нужен синк» | +| Любой выкат на боевой `liderra.ru` (push с миграциями, scp-патч, ручной деплой) — 8 pre-flight SSH проверок | `prod-deploy-validator` (#85, [agent file](../.claude/agents/prod-deploy-validator.md), [spec §4](superpowers/specs/2026-05-24-controller-offload-agents-design.md)) | «проверь готовность боевого», «ready to deploy» | +| Диагностика Pest 4 `--parallel` failures (квирки 72/73/77) | `pest-parallel-debugger` ([agent file](../.claude/agents/pest-parallel-debugger.md)) | «pest упал на parallel», «классифицируй фейл» | +| RLS-compliance review при правке `db/schema.sql` или `db/migrations/` | `rls-reviewer` ([agent file](../.claude/agents/rls-reviewer.md)) | «проверь RLS на миграции», «RLS review» | + +**Дисциплина делегирования:** + +- Контроллер вызывает агента **по триггеру**, не дожидаясь явного запроса заказчика — для `normative-sync` сразу после крупной задачи; для `prod-deploy-validator` обязательно ДО любых SSH-команд на боевой. +- Заказчик может явно отменить вызов («не зови сейчас X»). Live-отмена — только на текущее действие. +- Если агент возвращает эскалацию — контроллер передаёт её заказчику без угадывания, не пытается обойти. +- Project-агенты **не входят в Tooling Прил. Н канон счётчиков** (#1-#83 — реестр инструментов; project-агенты идут #84+ в `docs/registry/nodes.yaml` с подкатегорией `project-agent`). Footer-счётчики «N формализованных» изменяются только при добавлении в Tooling-канон, не при добавлении project-агента. +- Полный perimeter / триггеры / границы — в `description`-frontmatter каждого агент-файла. Это первичный источник «когда звать»; настоящая таблица — индекс контракта, не дублирующая декларация. + +**Naming-convention:** `agent_file: ".claude/agents/.md"` атрибут в `docs/registry/nodes.yaml` маркирует узел как project-агент (отличает от Tooling-инструментов, у которых `tooling_section` атрибут). + --- ## 3. Формат ответов и работы с файлами diff --git a/docs/registry/nodes.yaml b/docs/registry/nodes.yaml index 45aacc09..e445720c 100644 --- a/docs/registry/nodes.yaml +++ b/docs/registry/nodes.yaml @@ -1546,6 +1546,48 @@ nodes: attributes: tooling_section: "§4.58 #83" + - id: "#84" + name: "normative-sync" + slug: "normative-sync" + category: "off-phase" + subcategory: "project-agent" + status: "active" + dormancy_reason: null + triggers: + - {classification: "normative_sync_needed", weight: 1.0} + - {keyword: "синкни нормативку", weight: 1.0} + - {keyword: "нормативный синк", weight: 1.0} + - {keyword: "закрыли задачу синк", weight: 0.9} + boundaries: + - {relation: "Контроллер обязан звать после закрытия крупной off-phase интеграции, brain governance артефакта, принятого ADR — Pravila §2.4"} + - {pair: "#85", relation: "Парный project-агент — оба не входят в Tooling-канон счётчиков (#1-#83), это .claude/agents/ файлы"} + chain_membership: [] + attributes: + agent_file: ".claude/agents/normative-sync.md" + spec: "docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md §3" + tooling_section: null + + - id: "#85" + name: "prod-deploy-validator" + slug: "prod-deploy-validator" + category: "off-phase" + subcategory: "project-agent" + status: "active" + dormancy_reason: null + triggers: + - {classification: "prod_deploy_imminent", weight: 1.0} + - {keyword: "готовность боевого", weight: 1.0} + - {keyword: "проверь прод", weight: 1.0} + - {keyword: "ready to deploy", weight: 1.0} + boundaries: + - {relation: "Контроллер обязан звать перед любым выкатом на liderra.ru — Pravila §2.4. READ-ONLY по дизайну."} + - {pair: "#84", relation: "Парный project-агент"} + chain_membership: [] + attributes: + agent_file: ".claude/agents/prod-deploy-validator.md" + spec: "docs/superpowers/specs/2026-05-24-controller-offload-agents-design.md §4" + tooling_section: null + chains: L1: name: "feature discovery & implementation chain" diff --git a/tools/registry-load.test.mjs b/tools/registry-load.test.mjs index 0ee4293b..fd43d958 100644 --- a/tools/registry-load.test.mjs +++ b/tools/registry-load.test.mjs @@ -5,9 +5,9 @@ import { loadRegistry, clearCache, findByClassification, findByKeyword, findActi describe('registry-load', () => { beforeEach(() => clearCache()); - it('loads registry (83 nodes after task 8d)', () => { + it('loads registry (85 nodes after #84/#85 project-agents added 24.05.2026)', () => { const r = loadRegistry(); - expect(r.nodes).toHaveLength(83); + expect(r.nodes).toHaveLength(85); expect(r.version).toBe('0.1.0'); }); @@ -46,8 +46,9 @@ describe('registry-load', () => { it('findActiveNodes excludes non-active', () => { const r = loadRegistry(); const active = findActiveNodes(r); - // After task 8d: 83 nodes total; #1 historic, #17 dormant, #44/#50/#54/#67/#82/#83 deferred → 75 active - expect(active).toHaveLength(75); + // 85 nodes total; #1 historic, #17 dormant, #44/#50/#54/#67/#82/#83 deferred, + // #84/#85 (project-agents added 24.05.2026) are active → 75 + 2 = 77 active + expect(active).toHaveLength(77); expect(active.map(n => n.id)).toContain('#18'); expect(active.map(n => n.id)).toContain('#19'); expect(active.map(n => n.id)).not.toContain('#1');