diff --git a/docs/automation-graph.html b/docs/automation-graph.html index 4f81da1a..a7497980 100644 --- a/docs/automation-graph.html +++ b/docs/automation-graph.html @@ -282,6 +282,10 @@ const NODES = [ { id: 'sk_audit_portal', label: 'audit-portal', group: 'skills_proj', size: 20, ring: 3, ...pos(3, 325) }, // C9 project-management-tooling (17.05.2026) — вендоренный скил раздела «Управление проектами» { id: 'ccpm', label: 'CCPM\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 335) }, + // A11 ml-ai-tooling (17.05.2026) — скилы и CLI раздела «ML / AI-разработка» + { id: 'claude_api', label: 'claude-api\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 345) }, + { id: 'data_scientist', label: 'Data Scientist\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 355) }, + { id: 'promptfoo', label: 'promptfoo', group: 'plugins', size: 20, ring: 2, ...pos(2, 365) }, // ── ХУКИ (12) — S+infra + E (economy/skill) ─── { id: 'hk_session', label: 'SessionStart:\ncontext-inject', group: 'hooks', size: 24, ring: 4, ...pos(4, 100) }, @@ -542,6 +546,11 @@ const EDGES = [ E('tooling', 'mcp_openapi', '§4.22 #47 — реестр'), E('ag_apidocs', 'mcp_openapi', 'спека → MCP-ресурс'), + // ── A11 ML-AI-TOOLING 17.05.2026 — связи новых узлов ── + E('psr_v1', 'promptfoo', 'R10.1 блок 1:\nml-ai-tooling'), + E('tooling', 'claude_api', 'reuse — built-in skill\n(PSR_v1 R10.1 блок 2)'), + E('tooling', 'data_scientist', '§4.24 #49 — реестр'), + // ══════════════════════════════════════════════════ // КОНФЛИКТЫ — 3-color classification (iter2 §4) // 🔴 не закрыт правилом / ⚫ возник на практике / 🟢 закрыт правилом @@ -851,6 +860,32 @@ const NODE_DETAILS = { [{ name: 'docs/api/', cond: 'источник OpenAPI-спеки' }] ), + // ── A11 ML-AI-TOOLING (17.05.2026) ────────────── + claude_api: nd( + 'Скил сборки AI-фич на Anthropic SDK (prompt-кэш). Reuse — раздел A11 опирается также на context7 MCP (доки) и Sentry MCP (LLM-наблюдаемость).', + 'При разработке AI-фич на Anthropic API / Claude SDK — скил задаёт паттерны prompt-кэша, batch-запросов, tool use.', + 'Reuse-узел раздела A11 (ml-ai-tooling). claude-api — встроенный скил Claude Code, не нумерованная Tooling-позиция; регистрация — Tooling «built-in skills» + PSR_v1 R10.1 блок 2. В A11 — reuse-слой (CLAUDE.md §6). Не UI → вне фильтров R6.0/R6.1/R14.', + [{ name: 'Tooling', cond: 'built-in skill — PSR_v1 R10.1 блок 2 (reuse)' }], + [], + [{ name: 'context7 MCP', cond: 'документация Anthropic SDK' }, { name: 'Sentry MCP', cond: 'LLM-наблюдаемость (off-phase reuse)' }] + ), + promptfoo: nd( + 'npm-CLI eval LLM-промптов: ассерты, регрессия, red-team. Запуск вручную/CI — не в хуках (платные LLM-вызовы).', + 'При разработке и проверке AI-промптов — запуск test-suite promptfoo вручную или в CI. Никогда в pre-commit хук (ML1: платные вызовы).', + 'Правило PSR_v1 R10.1 блок 1 note (ml-ai-tooling, off-phase). npm devDependency, тяжёлый (~1090 пакетов). Не UI → вне фильтров R6.0/R6.1/R14. Tooling §4.23 #48, CLAUDE.md §3.3 #48.', + [{ name: 'PSR_v1', cond: 'R10.1 блок 1: ml-ai-tooling' }], + [{ name: 'ML1', cond: 'никогда в хук/pre-commit — платные LLM-вызовы' }], + [] + ), + data_scientist: nd( + 'Vendored-скил: классический ML-воркфлоу — выбор алгоритма, feature engineering, оценка модели.', + 'При ML-задаче (выбор алгоритма, feature engineering, валидация модели) — knowledge-only playbook без генерации кода.', + 'Вендорен в .claude/skills/data-scientist/ (ML3 — lefthook markdownlint+cspell исключают через job-exclude). Knowledge-only, не решатель. Не UI → вне фильтров R6.0/R6.1/R14. Tooling §4.24 #49, CLAUDE.md §3.3 #49.', + [{ name: 'Tooling', cond: '§4.24 #49 — реестр' }], + [], + [] + ), + // ── СКИЛЫ SUPERPOWERS ──────────────────────────── sk_brainstorm: nd( 'Продумывает задачу вместе с заказчиком, формулирует варианты A/B/C и согласует дизайн до написания кода.', @@ -1948,6 +1983,11 @@ const NODE_META = { // ── A3 INTEGRATION-TOOLING (17.05.2026) ── ag_apidocs: { since: '17.05.2026', changed: '—', uses: null, usesSrc: '—' }, mcp_openapi: { since: '17.05.2026', changed: '—', uses: null, usesSrc: '—' }, + + // ── A11 ML-AI-TOOLING (17.05.2026) ── + claude_api: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'скил' }, + promptfoo: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'CLI' }, + data_scientist: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'скил' }, }; // Явные парные дубли (Фича 3) — попадают в кнопку «⧉ Дубли». @@ -2030,7 +2070,7 @@ const SECTIONS = [ { id: 'E7', bucket: 'E', label: 'Исследования' }, { id: 'E8', bucket: 'E', label: 'Самообучение Claude' }, ]; -// Узел -> раздел. Покрывает все 118 узлов карты. +// Узел -> раздел. Покрывает все 121 узлов карты. const NODE_SECTION = { // правила (4) pravila: 'E1', claude_md: 'E1', psr_v1: 'E1', tooling: 'E1', @@ -2082,6 +2122,8 @@ const NODE_SECTION = { mcp_figma: 'A4', mcp_icons: 'A4', design_plugin: 'A4', // A3 integration-tooling 17.05.2026 — раздел «Программирование — интеграции» наполнен ag_apidocs: 'A3', mcp_openapi: 'A3', + // A11 ml-ai-tooling 17.05.2026 — раздел «ML / AI-разработка» наполнен + claude_api: 'A11', promptfoo: 'A11', data_scientist: 'A11', }; // Вторичная классификация: узел первично в NODE_SECTION, дополнительно — в этих // разделах (кросс-реф). Введено A3-интеграцией 17.05.2026 — раздел A3 наполняется