docs(spec): ruflo big-bang integration design v0.1 + cspell vocab

Full architectural inversion: ruflo Queen-led routing as top entry-point,
existing Pravila §12 / CLAUDE.md §5 п.10 / Pravila §5 ПДн / PSR_v1 R0
become sub-policies. 14 sections: goals, architecture (8→9 levels),
scope (32 plugins), big-bang sequencing (~1.5h compressed in-session),
map fork, memory bridge HNSW, cost-budget controls (\$10/day cap),
Windows daemon, safety walls, cost-benefit deliverable (9 benefits +
8 costs + 10 risks), verification, open questions (10 Q's pre-flight
Task 0), termination, self-review.

Brainstorming via superpowers:brainstorming, economy 0%. User chose
Approach A (Full big-bang) + «чистый верх» architectural model +
map fork (vs side-by-side / new layout) + cost-benefit table deliverable
+ compressed in-session execution path (vs 7-day staged).

cspell-words.txt additions (lowercase per user-dict case rule):
ruflo, ruvnet, hnsw, sona, ruvllm, многоагентный, форк, форка, bak.

Awaiting user review of written spec before invoking writing-plans.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-15 09:19:24 +03:00
parent 72a00641fa
commit e55572e22c
2 changed files with 488 additions and 0 deletions
+15
View File
@@ -1155,3 +1155,18 @@ DFS
# Sprint 1 P0 plan (2026-05-15) — dev-process vocab
unpushed
# ruflo integration spec (2026-05-15) — multi-agent orchestration vocab
# Project name (ruvnet/ruflo, ex-Claude-Flow), HNSW vector store, SONA neural
# routing, plus Russian inflections (форк/форка/многоагентный) and ruflo
# sub-package names (ruvllm). Also: bak suffix for CLAUDE.md backup file.
# Lowercase entries match any case per cspell user-dict rule.
ruflo
ruvnet
hnsw
sona
ruvllm
многоагентный
форк
форка
bak
@@ -0,0 +1,473 @@
---
title: "ruflo integration — full big-bang («чистый верх»)"
date: 2026-05-15
author: Claude (через superpowers:brainstorming, economy 0%)
status: design — awaiting user review
related:
- docs/automation-graph.html (текущая iter3 карта — source для форка)
- docs/automation-graph-ruflo.html (artefact — будет создан Day 5)
- docs/Pravila_raboty_Claude_v1_1.md (v1.13 → v1.14 sub-policy)
- docs/Plugin_stack_rules_v1.md (v2.1 → v3.0 sub-policy)
- docs/Tooling_v8_3.md (v1.17 → v2.0 +ruflo chapter §4.10)
- CLAUDE.md (v1.93 → v2.0 — priority chain rewrite)
- https://github.com/ruvnet/ruflo (upstream, MIT, v3.7.0-alpha.33)
---
# Ruflo integration — full big-bang («чистый верх»)
## 0. Контекст и триггер
**Триггер 15.05.2026 сессия:** заказчик «продолжим работать с картой. изучи ruflo многоагентный ии», далее «я хочу его внедрить в нашу систему, но для начала хочу понять как он будет интегрироваться в нашу систему и что мы получим от этого внедрения». После brainstorming 7-вопросного цикла принят **Подход A (Full big-bang)** + **архитектурная инверсия «чистый верх»** (все hard rules становятся sub-policies ruflo).
**ruflo** (ruvnet/ruflo, v3.7.0-alpha.33 на момент design, MIT, экс-Claude-Flow) — orchestration sidecar: CLI + MCP server + daemon, 32 plugins, ~210 MCP tools, 100+ specialized agents (Queen-led hierarchy: Raft/Byzantine/Gossip protocols), HNSW vector memory, SONA neural routing, 9 RL algos. Source: WebFetch 15.05.2026 на upstream GitHub.
## 1. Цели и не-цели
**Цели:**
1. Установить `ruflo@latest` (CLI + MCP server + daemon) + все 32 plugins как новый верхний уровень оркестрации Лидерра CRM.
2. ruflo Queen-led routing становится единой точкой входа для любой задачи. Old `PSR_v1 R0 stack-gate` — sub-policy.
3. Переписать Pravila §§1-13, CLAUDE.md §1/§5, PSR_v1 R0-R14, Tooling §0/§3 — все становятся **sub-policies ruflo**, формализованные через `CLAUDE.local.md` (ruflo scaffold, gitignored).
4. Создать форк карты `docs/automation-graph-ruflo.html` с TO-BE структурой: ruflo Queen + 9 swarm-роли + 73 существующих узла как sub-policy слоты.
5. Cost-benefit таблица + risks как Section 10 этого spec (основной deliverable «что получим»).
6. Big-bang migration в **одну сессию ≤1.5 часа** (compressed по запросу заказчика «не ждём»), не 7 дней.
**Не-цели:**
1. **Не сохраняем** R0 stack-gate в текущей форме — он становится ruflo sub-policy («paired-stack delegation pattern»).
2. **Не сохраняем** Pravila §12 hard rule на уровне 0 — он становится routing-подсказкой ruflo Queen («prefer Superpowers for interactive turns»).
3. **Не делаем** staged migration — выбран big-bang.
4. **Не оставляем** CLAUDE.md §5 п.10 как absolute carve-out — ruflo может править CLAUDE.md (опираясь на свои hooks для дисциплины); claude-md-management остаётся как opt-in MCP target.
5. **Не оставляем** Pravila §5 ПДн как regulatory hard-rule выше ruflo — gitleaks остаётся как технический pre-commit фильтр.
6. **Не интегрируем** ruflo с production CRM data — daemon работает только в dev окружении.
7. **Не пишем** новые тесты на ruflo-интеграцию — регрессия Pest 742 / Vitest 736 проверяется after migration; ruflo-specific автотесты — отдельная задача post-MVP.
8. **Не дублируем** существующие 35 формализованных позиций tooling через ruflo — ruflo MCP tools формализуются в новой главе Tooling как «orchestration layer» (#36-67 диапазон по факту).
## 2. Архитектурная модель — чистый верх
### 2.1. Текущая 8-уровневая иерархия (до big-bang)
```
0. Pravila §12 hard rule (Superpowers-first)
1. Pravila §§1-13
2a. CLAUDE.md (оперативная карта)
2b. Tooling Прил. Н (детальный реестр 35 позиций)
3. PSR_v1 (stack-gate R0 + R1-R14)
4. .claude/settings.json (hooks, permissions)
5. memory/*.md
6. прочие плагины
```
### 2.2. Новая 9-уровневая иерархия (post big-bang)
```
NEW 1. ruflo Queen-led routing (entry-point для ВСЕХ задач)
├─ SONA neural pattern classifier
├─ swarm topology (Queen → Architect / Coder / Security / RLS / QA / Tester / Reviewer / Memory-keeper / Daemon-worker)
├─ HNSW vector memory + 9 RL алгоритмов
└─ ~210 MCP tools (Core / Intelligence / Agents / Memory / DevTools)
NEW 0. Sub-policies ruflo (CLAUDE.local.md):
├─ Pravila §12 → routing rule «prefer Superpowers for interactive turns»
├─ Pravila §5 ПДн → routing rule «gitleaks при коммите; не блок на уровне routing»
├─ CLAUDE.md §5 п.10 → routing rule «prefer claude-md-management; не absolute block»
└─ PSR_v1 R0 stack-gate → routing rule «delegate UI-фичу в paired-stack»
1–6. Старые уровни 1–6 (Pravila §§1-13 / CLAUDE.md / Tooling / PSR_v1 R1-R14 / settings / memory / прочие)
как «execution layer» под ruflo routing
```
### 2.3. Файлы, которые меняются
| Файл | Что |
|---|---|
| `CLAUDE.local.md` *(новый, ruflo scaffold)* | ruflo Queen routing config + 4 sub-policies из старых hard rules |
| `CLAUDE.md` | §1 priority chain: +уровень 1 (ruflo); §5 п.10 → sub-policy; §3 +ruflo chapter; version v1.93 → **v2.0** |
| `docs/Pravila_raboty_Claude_v1_1.md` | §12 → «Sub-policy: Superpowers preference»; §5 ПДн +note «execution-layer rule»; v1.13 → **v1.14** |
| `docs/Plugin_stack_rules_v1.md` | R0 → «Sub-policy: paired-stack delegation pattern»; R0.1 priority chain bump; v2.1 → **v3.0** |
| `docs/Tooling_v8_3.md` | §0 35 → ~67; новая §4.10 «Orchestration layer (ruflo)»; v1.17 → **v2.0** |
| `.mcp.json` | +1 entry `ruflo` (MCP server через `npx ruflo@latest mcp start`) |
| `~/.claude/settings.json` | `enabledPlugins.ruflo-*` (все 32) + watchdog hook |
| `.gitignore` | +`.claude-flow/`, +`CLAUDE.local.md`, +`.env.local` (если ещё нет) |
| `lefthook.yml` | +job `cost-watchdog` (опц.) |
### 2.4. Entry-flow
```
User prompt → ruflo Queen receives
│ SONA neural pattern classifier
┌────────────┴────────────┐
│ │
Interactive turn? Long-running / autonomous?
│ │
↓ delegate ↓ swarm dispatch
sub-policy 0: swarm-roles:
Superpowers / FD / Architect → Coder → Security → QA
UPM / 21st (parallel, federated)
(старый stack-flow) │
│ ↓
↓ PR draft → human review (R0 sub-policy)
Edit/Write/Bash → ruflo merge if approved
```
### 2.5. Acknowledged trade-off
По решению заказчика «чистый верх, всё sub-policy» — три hard rule (Pravila §12, CLAUDE.md §5 п.10, Pravila §5 ПДн) теряют hard-rule статус. Технические компенсаторы остаются (см. §9).
## 3. ruflo scope — 32 plugins (Full big-bang)
Точный enumerate — pre-flight Task 0 (см. §4 Day 1).
**Известные категории (из WebFetch upstream GitHub):**
| # | Категория | Что входит | ~Count |
|---|---|---|---|
| 1 | Core | `ruflo-core`, `ruflo-intelligence`, `ruflo-memory` | 3 |
| 2 | Agents | `ruflo-agents` — 100+ agent types | 1 plugin |
| 3 | Memory / RAG | `ruflo-rag`, `ruflo-memory-hnsw`, `ruflo-memory-bridge` | 3 |
| 4 | DevTools | `ruflo-devtools`, `ruflo-browser` (18-tool gallery) | 2 |
| 5 | Loop-workers (daemon) | `ruflo-loop-workers` | 1 |
| 6 | LLM routing | `ruflo-ruvllm` (Ollama, Claude, GPT, Gemini, Cohere) | 1 |
| 7 | Federation / swarm | `ruflo-federation` (Raft, Byzantine, Gossip) | 1 |
| 8 | Web scraping | `ruflo-bright-data` | 1 |
| 9 | MCP tools | ~210 tools через `npx ruflo@latest mcp start` (5 server groups) | exposed via MCP |
| 10 | Остальные plugins | Точные имена — Task 0 enumerate | ~19-20 |
**Disk + runtime footprint:**
- `~/.ruflo-cache/` — HNSW vector store, ~1-5 GB на dev
- `.claude-flow/` — scaffold в репо (gitignored)
- `CLAUDE.local.md` — новый файл, gitignored
- `.mcp.json` — +1 entry
- `~/.claude/settings.json` — +32 enabledPlugins entries
- Windows daemon — PM2 + pm2-windows-service (elevated PS install once)
**Pre-flight verifications (Task 0):**
1. `npm view ruflo` — точная version + dist-tags.
2. `npx ruflo@latest plugins list` — enumerate 32 plugins → polish этот раздел.
3. `npx ruflo@latest init --help` — проверить scaffold-flags для безопасного init без overwrite корневого `CLAUDE.md`.
4. `npx ruflo@latest mcp start` smoke-test — MCP-server стартует на Windows + соединяется с Claude Code.
5. `pm2-service-install` — требует elevated PowerShell (Блокер 2 в §12 Q4).
6. Disk space check — `~/.ruflo-cache/` 1-5 GB.
**Cost-budget setting в pre-flight:**
`RUFLO_DAEMON_MAX_USD_PER_DAY=10` в `.env.local` (gitignored). Default $10/день из conservative cap. Real-world calibration — Day 6 regression telemetry.
## 4. Big-bang sequencing — compressed в одну сессию (≤1.5 часа)
Заказчик выбрал «Сжатый» путь. Day-based plan (см. ниже) исполняется в **одну сессию** последовательно. Параллелизация только Day 3 через subagents.
| Day | Минут | Commits | Содержание |
|---|---|---|---|
| **0** | spec | 1 | `docs(spec): ruflo big-bang integration v0.1` — этот документ |
| **1** | 10-15 | 0-1 | Pre-flight Task 0 verifications; результаты документируются в §12 Open questions с конкретными значениями; коммит при необходимости (если изменения в spec) |
| **2** | 15-20 | 2 | `feat(ruflo): init scaffold + .mcp.json + settings.json + .gitignore`; `feat(daemon): PM2 + pm2-windows-service setup` (если elevation доступна, иначе foreground fallback) |
| **3** | 20-25 | 4 (parallel subagents) | `docs(pravila): §12 → sub-policy + v1.14`; `docs(psr_v1): R0 → sub-policy + v3.0`; `docs(claude_md): §1 + §5 п.10 sub-policy + §3 ruflo chapter + v2.0`; `docs(tooling): §0 35 → ~67 + §4.10 + v2.0` |
| **4** | 5-10 | 1 | `docs(sync): cross-refs во всех 4 normative files` |
| **5** | 15-20 | 1 | `feat(graph): automation-graph-ruflo.html — fork iter3 с ruflo Queen overlay` |
| **6** | 10-15 | 0 | Regression checkpoint: Pest --parallel --recreate-databases; Vitest; lychee; gitleaks; pm2 ruflo-daemon; vue-tsc; phpstan |
| **7** | 5 | 1 | `docs(closure): ruflo big-bang migration v2.0 — CHANGELOG sync` |
**Параллелизация Day 3:** 4 коммита через `superpowers:dispatching-parallel-agents` (она работает как execution-layer под ruflo sub-policy). Subagent'ы возвращают raw Edit-блоки, главный агент применяет последовательно — атомарность по одному коммиту на файл.
**Day 6 regression baseline (что считается «pass»):**
- Pest --parallel --recreate-databases: 742+ passed / 0 failed (3 skipped ожидаемо)
- Vitest: 736+ passed / 0 failed (3 skipped, 1 todo)
- lychee: 0 broken (на 325+ links)
- gitleaks: 0 leaks
- pm2 ruflo-daemon: online + 0 errors last 50 lines
- vue-tsc: 0 errors
- phpstan: 0 errors (baseline)
Любой regression — Day 7 closure не делается, возвращаемся к диагностике.
## 5. Map fork — automation-graph-ruflo.html
**Source:** `docs/automation-graph.html` iter3 (1609 lines, vis-network 9.1.9, 73 узла, 9 групп, 8 конфликтов).
**Target:** `docs/automation-graph-ruflo.html`.
### 5.1. Структурные изменения
1. **Новая группа `ruflo` (orange #ff8800):** Queen-узел в координатах (50, -50) — верхний-левый угол, **не пересчитываю** legacy radial-sector (preservation для daily orientation).
2. **9 swarm-роли как Queen-children:** Architect, Coder, Security, RLS-reviewer, QA, Tester, Reviewer, Memory-keeper, Daemon-worker. Точные имена — после Task 0 enumerate. Радиус ~150px от Queen.
3. **Существующие 73 узла:** сохраняются с координатами; добавляется поле `subPolicy: true` + opacity 0.7 при отрисовке.
4. **Новые рёбра:**
- Queen → каждая swarm-роль (9 рёбер, type=`подчиняет`, mandatory)
- Queen → 4 group-centroids: pravila, claude_md, psr_v1, tooling (4 рёбра, type=`перенял`, mandatory)
- swarm-роль → конкретные legacy узлы execution-layer (12-20 рёбер, type=`делегирует`)
5. **+2-3 новых ⚫ «возник на практике» конфликта:**
- Queen ↔ Pravila §12 (alpha-tool override on hard-rule)
- daemon ↔ memory dual-system (static .md vs HNSW)
- ruflo-MCP ↔ existing-MCP servers (port-conflict potential)
6. **Footer cat-legend:** +1 строка «🌊 ruflo Queen + swarm» (#ff8800).
7. **`#cat-legend` `data-filter-key`:** +`group:ruflo` (iter3 feature сохраняется).
8. **NODE_DETAILS:** +9 swarm role records + 1 Queen record + revise 73 узла с `subPolicy: true`.
9. **EDGE_DETAILS:** +12-20 новых rows для ruflo→swarm и ruflo→legacy connections.
### 5.2. Decision rationale
«Форк iter3» (заказчик): сохраняем легаси координаты, добавляем overlay. Не пересчитываем 73 координаты для нового центра — это лишний refactor, который iter3 владелец (Дмитрий) каждый день читает.
## 6. Memory bridge — HNSW vs static .md
**Текущее:** 17 файлов `*.md` в `C:\Users\Administrator\.claude\projects\c---------------------crm-------------\memory\` + `MEMORY.md` индекс. Static markdown, write-on-update.
**ruflo HNSW:** sub-millisecond vector store, content-addressable, semantic search в `~/.ruflo-cache/memory/`.
### 6.1. Гибридная модель
| Слой | Что | Backend |
|---|---|---|
| Static memory (canonical) | 17 файлов `*.md` | Markdown в filesystem (текущая) |
| Vector index (derived) | Embedded из static memory; перестраивается при изменении | HNSW в `~/.ruflo-cache/memory/` |
| Active session | ruflo Queen reads vector index при routing | Через `ruflo-memory` MCP tools |
| Reindex hook | После каждого Edit/Write на `memory/*.md``ruflo memory reindex` | settings.json PostToolUse |
### 6.2. Свойства
- **Source of truth:** static markdown. Vector index — derived.
- **Writes:** только в markdown. HNSW не записывается напрямую (write-through prohibited).
- **При сбое HNSW:** реконструируется из markdown за <1 min.
- ruflo agents читают через HNSW (быстро), но при write обновляют markdown через стандартные Edit-tools.
### 6.3. Open question
Не верифицировал, что `ruflo memory reindex` corretto обрабатывает русскоязычные memory files (cyrillic embedding качество в SONA vector pipeline) — pre-flight Task 0 smoke-test.
## 7. Cost-budget controls
| Control | Реализация |
|---|---|
| Daily cap | `RUFLO_DAEMON_MAX_USD_PER_DAY=10` в `.env.local` |
| Soft warn | 80% cap → warning, продолжает |
| Hard kill | 100% cap → PM2 kills daemon; рестарт следующий день |
| Logging | `~/.ruflo-cache/logs/cost-YYYY-MM-DD.json` per-task |
| Manual check | `npx ruflo cost --today` |
| Watchdog | lefthook pre-commit job (опц.) — abort если daemon-output в commit'е при cost >80% cap |
**Calibration:**
$10/день default — conservative. Real telemetry с Day 6 регрессии:
- 50-100k tokens/час daemon baseline (оценка ruflo docs)
- 24/7 daemon = 1.2M-2.4M tokens/день
- Anthropic Sonnet 4.6 при $3/$15 per 1M в = $3.60-$36/день
- WASM routing claim 75% cut → $0.90-$9.00/день
Итог: $10 cap покрывает heavy usage. Если ниже calibration — снижаем до $5.
## 8. Windows daemon mechanics
**Стек:** `pm2` (Node.js process manager) + `pm2-windows-service` (wraps pm2 as Windows service).
**Install procedure (Day 2.2):**
```powershell
# Elevated PowerShell (one-time)
npm i -g pm2 pm2-windows-service
pm2-service-install -n ruflo-daemon
pm2 start "npx ruflo@latest daemon start" --name ruflo-daemon
pm2 save
```
**Service properties:**
- Service name: `ruflo-daemon`
- Auto-start at boot: enabled
- Log path: `~/.ruflo-cache/logs/daemon.log` + `daemon-error.log`
- Restart on crash: yes (pm2 default)
**Subsequent operations (no elevation):**
- `pm2 status ruflo-daemon`
- `pm2 logs ruflo-daemon`
- `pm2 restart ruflo-daemon`
- `pm2 stop ruflo-daemon`
**Limitation:** install требует elevated PowerShell ONCE. Если elevation недоступна (Блокер §12 Q4) — fallback: foreground `pm2 start` (daemon живёт только пока сессия открыта; не настоящий daemon).
## 9. Safety walls (technical compensators)
По заказчику «чистый верх, всё sub-policy» — 3 regulatory hard rules сняты. Technical compensators остаются.
| Compensator | Что покрывает | Status |
|---|---|---|
| gitleaks pre-commit (lefthook job 1) | PII catches при коммите | Untouched. Технический фильтр. |
| gitleaks pre-push (full-history) | PII catches при push | Untouched. |
| RLS (PG 16 + 5 ролей + 39 policies) | Tenant-isolation на DB уровне | Untouched. ruflo на dev DB only. |
| Pest --recreate-databases | Test isolation | Untouched. |
| claude-md-management (#33 Tooling) | Опционально через ruflo MCP | Доступен, но не обязателен. |
| skill-marker hook | Дисциплина Superpowers skills | Действует на Superpowers-delegation. Не действует на ruflo Queen-direct. |
| `.gitignore` для `.claude-flow/`, `~/.ruflo-cache/` | Не коммитим runtime ruflo state | Day 2.1 |
| `.env.local` для credentials | API key + budget | Standard |
**Что НЕ покрывается технически:**
- ruflo agent edit CLAUDE.md без claude-md-management → нет hard block, только routing preference
- ruflo agent skip Superpowers TDD → нет hard block, только preference
- ruflo agent expose tenant_id из dev DB → RLS защищает на DB-уровне, но agent может SELECT из любого dev tenant'а
**Accepted residual risks** — заказчик принял §1.4-7.
## 10. Cost-benefit + risks (deliverable «что мы получим»)
### 10.1. Benefits
| # | Benefit | Класс | Мера | Validation |
|---|---|---|---|---|
| 1 | Параллельный swarm-execution для autonomous epic'ов | Productivity | Plan 6+ задачи за 1 ночь вместо недели | post-install measurement |
| 2 | ~210 MCP tools + RAG + browser gallery | Surface area | +210 tools к существующим ~50 (Sentry/Redis/Boost/Playwright/GitHub + Magic + др.) | counted post-install |
| 3 | Persistent vector memory с SONA neural routing | Context efficiency | Cross-session continuity, semantic search 17 memory + 100s docs | qualitative |
| 4 | 9 RL algorithms — agents учатся from past tasks | Learning curve | Routing accuracy улучшается со временем | measured via routing logs |
| 5 | WASM routing cost cut (~75% claimed) | $ saving | $X/мес vs current | telemetry Day 6 |
| 6 | Federated multi-machine swarm (post-Phase 3) | Scalability | Multiple dev machines coordinate | future |
| 7 | Anthropic Managed Agents (cloud) | Compute | Burst capacity без CPU lock | Anthropic billing |
| 8 | Browser UI gallery (18 tools) | Interactive debug | Component screenshots, DOM inspection | qualitative |
| 9 | Bright Data integration | Web scraping | Real-world ru/en site coverage | use-case driven |
### 10.2. Costs
| # | Cost | Класс | Мера |
|---|---|---|---|
| 1 | Migration time | Engineering | ~1-1.5 часа сжатая сессия |
| 2 | Disk space | Infrastructure | 1-5 GB на dev (`~/.ruflo-cache/`) |
| 3 | Token spend daemon | $ | $10/день cap ≈ $300/мес |
| 4 | Token spend interactive ruflo Queen | $ | Unknown — Day 6 telemetry |
| 5 | Rule rewriting | Documentation | 4 normative files + cross-refs (~30-40 min) |
| 6 | Map fork | Documentation | ~20 min для automation-graph-ruflo.html |
| 7 | Cognitive load | UX | Russian Tooling/PSR_v1/Pravila → English CLAUDE.local.md routing |
| 8 | Maintenance | Engineering | Per-release sync (alpha-ruflo ~ weekly updates) |
### 10.3. Risks (с mitigation)
| # | Risk | Likelihood | Severity | Mitigation |
|---|---|---|---|---|
| 1 | Alpha software breaks Pest/Vitest регрессию | Medium | High | Day 6 checkpoint; revert если тест failed |
| 2 | `ruflo init` overwrites CLAUDE.md | Medium | Critical | `cp CLAUDE.md CLAUDE.md.pre-ruflo.bak` Day 2 step 1 |
| 3 | Windows daemon не стартует | Low-Medium | High | Day 2.2 pre-verify; fallback foreground pm2 |
| 4 | Token cost exceeds $10/день calibration | Medium | Medium | `RUFLO_DAEMON_MAX_USD_PER_DAY=10` hard cap |
| 5 | ruflo Queen edits CLAUDE.md без claude-md-management | Medium | Low (accepted §1.4) | claude-md-management остаётся доступен |
| 6 | ruflo Queen skips Superpowers TDD | Medium | Low (accepted §1.4) | Pest регрессия catches при коммите |
| 7 | PII leak через daemon agent | Low | Critical | gitleaks remains; RLS на DB; dev DB only |
| 8 | Alpha-ruflo deprecated за 3-6 мес | Medium | Very High | Spec/plan позволяют revert; ruflo MIT — fork-able |
| 9 | Cognitive load: 2 nav layers (ruflo + legacy) | Medium | Medium | Map fork визуализирует hybrid; Tooling §4.10 объясняет |
| 10 | PostgreSQL/Memurai порт-конфликт с ruflo MCP | Low | Medium | Pre-flight Task 0 verifies; alt-port |
### 10.4. Net decision matrix
| Сценарий | Verdict |
|---|---|
| Все 4 motivator активно используются после установки | Strong positive — productivity / scalability / learning / context surface |
| Только 1-2 motivator используются (typical alpha-tool reality) | Moderate — overhead не оправдан |
| ruflo стабилизируется к v4.0 в 3-6 мес | Re-evaluate — bump до deeper integration |
| ruflo abandoned / fork-only | Migration ~5-7 часов obsolete; spec/plan историчны |
## 11. Verification & regression
### 11.1. Day 6 baseline (всё должно остаться зелёным)
```bash
cd app && ./vendor/bin/pest --parallel --recreate-databases
# Expected: 742+ passed / 0 failed / 3 skipped / ~55s
cd app && npm run test:vue
# Expected: 736+ passed / 0 failed / 3 skipped / 1 todo / ~25s
npm run links
# Expected: 0 broken на 325+ links
./bin/gitleaks.exe detect --log-opts="origin/main..HEAD"
# Expected: 0 leaks
vue-tsc --noEmit
# Expected: 0 errors
cd app && composer stan
# Expected: 0 errors (baseline)
```
### 11.2. Post-install ruflo smoke
```bash
npx ruflo doctor
# Expected: all subsystems green
pm2 status ruflo-daemon
# Expected: online
claude mcp list
# Expected: ruflo entry registered with N tools
# Опц.: curl http://localhost:<ruflo-port>/health → 200
```
### 11.3. Failure protocol
Любой regression на Day 6 — Day 7 closure НЕ делается. Возврат к диагностике:
1. Какой конкретный тест/check failed?
2. Какой Day commit его сломал?
3. Revert этого commit'а; повторить регрессию.
4. Если все green — итеративно re-apply Day commits до identifying root cause.
## 12. Open questions (resolve в pre-flight Task 0)
| # | Вопрос | Resolution |
|---|---|---|
| Q1 | Точный список 32 ruflo plugins | `npx ruflo@latest plugins list` |
| Q2 | Path к `~/.ruflo-cache/` на Windows | `npx ruflo config get cache-dir` |
| Q3 | Anthropic Managed Agents отдельная auth (vs Claude Code session) | `npx ruflo auth status` + ruflo docs |
| Q4 | PowerShell elevated сессия доступна? | User confirmation; иначе fallback foreground |
| Q5 | ruflo MCP конфликтует с existing MCP entries в `.mcp.json` | `npx ruflo@latest mcp start` smoke-test |
| Q6 | Pravila §12 переименование ломает skill-discipline hook? | Day 6 regression catches |
| Q7 | Push direct to main vs PR? | Memory `reference_github.md`: `Bash(git push origin main:*)` rule активна → direct main ОК |
| Q8 | Бэкап CLAUDE.md перед init | `cp CLAUDE.md CLAUDE.md.pre-ruflo.bak` Day 2 step 1 + commit current state as baseline |
| Q9 | Cyrillic memory files reindex качество | `ruflo memory reindex` smoke-test |
| Q10 | ruflo daemon доступ к Anthropic API key — общий с Claude Code session, или отдельный? | `npx ruflo config get auth` |
## 13. Termination conditions
Big-bang считается завершённым когда:
1. Day 0-7 коммиты применены на main (~10-12 atomic commits).
2. Day 6 regression — все 6 проверок pass (Pest / Vitest / lychee / gitleaks / vue-tsc / phpstan).
3. ruflo doctor + pm2 status ruflo-daemon — все green.
4. `docs/automation-graph-ruflo.html` открывается в Edge без ошибок console, vis-network рендерит overlay.
5. Section 10 (Cost-benefit table) подтверждена заказчиком как полный deliverable «что мы получим».
6. Memory обновлена: `project_ruflo_integration.md` создан с branch state + Day 6 baseline numbers; `MEMORY.md` индекс bump'нут.
7. Pravila/PSR_v1/CLAUDE.md/Tooling — все 4 normative files на новых major versions (v1.14 / v3.0 / v2.0 / v2.0).
---
**Author signature:** Claude (Opus 4.7) через `superpowers:brainstorming` skill, economy 0% mode.
**Next steps:** spec self-review (§14) → user reviews spec → invoke `superpowers:writing-plans` → execute Day 1-7 в одной сессии.
## 14. Self-review (post-write)
- [x] Section 1 Goals/Non-goals — единый список, mapped на §1.1-8.
- [x] Section 2 Архитектура — 8→9 уровней; таблица «что меняется» полная (9 файлов); entry-flow диаграмма понятна.
- [x] Section 3 Scope — 32 plugins, категории явные; pre-flight Task 0 фиксирован.
- [x] Section 4 Sequencing — Day 0-7, минуты на Day, commits per Day, параллелизация Day 3 явная.
- [x] Section 5 Map fork — структурные изменения нумерованы 1-9; координатное решение объяснено.
- [x] Section 6 Memory — гибрид canonical/derived; reindex hook.
- [x] Section 7 Cost-budget — конкретный cap; calibration explained.
- [x] Section 8 Windows daemon — install procedure с командами; limitation про elevation.
- [x] Section 9 Safety walls — таблица compensators; явный список accepted residual risks.
- [x] Section 10 Cost-benefit — 9 benefits + 8 costs + 10 risks + 4-line decision matrix; **это основной deliverable** заказчику.
- [x] Section 11 Verification — baseline numbers конкретные; failure protocol.
- [x] Section 12 Open questions — 10 Q's, resolve в Task 0.
- [x] Section 13 Termination — 7 acceptance criteria.
- [ ] **NB ограничение:** не верифицировал работу `npx ruflo init` на Windows этой машины — Task 0 pre-flight.
- [ ] **NB ограничение:** не верифицировал, что `pm2-service-install` работает без elevation — может потребоваться user action.
- [ ] **NB ограничение:** не верифицировал ruflo cost-budget telemetry — calibration $10/день — conservative estimate.
- [ ] **NB ограничение:** не верифицировал cyrillic embedding качество в SONA pipeline — pre-flight smoke.
**Конец spec.**