Дмитрий
4937225da3
docs(plan): Sprint 4 — историческая миграция лидов §6 (H1-H6/H8/H9)
...
План CSV-импорта исторических лидов из crm.bp-gr.ru. 12 задач: schema delta
(import_unknown_statuses + enrichment import_log), сервисы парсинга/маппинга/
upsert'а, ImportLeadsJob, ImportController, frontend ImportView + wizard
маппинга статусов, маршрут /import + инструкция H9. H7 (импорт проектов)
вынесен — формат CSV проектов не специфицирован в ТЗ §6.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 16:28:30 +03:00
Дмитрий
42a246d633
docs(plan): Sprint 3F — API middleware (J1/J2)
2026-05-16 14:56:11 +03:00
Дмитрий
3ea86d62ff
docs(plan): Sprint 3D — Admin actions (G4/G5/G6) implementation plan
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 14:09:53 +03:00
Дмитрий
73d2733522
docs(fix): claude-brain spec — битая ссылка на CLAUDE.md (../../../../../→../../../)
...
Pre-existing баг: 5×../ перелетал repo-root на 2 уровня. Поймана pre-push lychee реколлажа. Корректный путь от docs/superpowers/specs/ до repo-root CLAUDE.md — 3×../
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 12:59:42 +03:00
Дмитрий
9b6fa50c4c
docs(plan): ruflo hierarchy factual recollage — implementation plan
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 12:59:42 +03:00
Дмитрий
b163d8a5ca
docs(sprint3c): план Reports F1+F2 — 3 провайдера + download endpoint
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 12:05:58 +03:00
Дмитрий
c5261a0b22
docs(plan): Sprint 3B dashboard & deep-links implementation plan
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 11:41:08 +03:00
Дмитрий
425d58f2a9
docs(spec): реколлаж ruflo в иерархии — декларация vs фактический рантайм
...
Дизайн-спека приведения нормативки к рантайму: убрать уровень -1 «ruflo entry-point для ВСЕХ задач» (рантайм — 0 задач, рой idle, 0 enforcement); §12 Superpowers и PSR_v1 R0 → обратно hard-rule/top-gate; §14 queen-триггер сохраняется без изменений; ruflo переописывается advisory/automation-подсистемой. Утверждена заказчиком 16.05.2026.
cspell-words.txt: +реколлажирована/реколлажем/фоллбэк.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 11:41:08 +03:00
Дмитрий
65381f2b24
docs(audit): Sprint 3A — B1 помечен won't-do (конфликт с решением заказчика)
...
B4 + B5 реализованы и закрыты; B1 «Напоминания в сайдбар» откатан как
конфликтующий с прежним решением заказчика «sidebar cleanup» (5c8ad27 ).
Отмечено в §3 расписании, §4 таблице B и §8 approval log.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 10:16:03 +03:00
Дмитрий
ad9fb9dfde
docs(economy): спека 5% — блок A/B3 (скоростные правила) + §5.2 актуализация
...
Дописана §11: 6 скоростных правил (блок A 5 пунктов + блок B п.3) внесены секцией СКОРОСТЬ в LEVELS[5] хуков; B4 (замер latency хуков) задокументирован как закрытый одноразовый bench. §5.1/§5.2 актуализированы под текущие хуки, §2 формула расширена, статус-шапка → Реализован.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 10:14:29 +03:00
Дмитрий
93bfda42c9
docs(plan): Sprint 3A layout & navigation implementation plan
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 09:38:01 +03:00
Дмитрий
d9ce953e53
docs(economy): спецификация и план уровня «экономия 5%»
...
Уровень «экономия 5%» = «0% без избыточности»: то же качество, что 0%,
вырезаны 6 пунктов дублирующей/бесполезной работы (re-read CLAUDE.md,
тесты-после-каждой-правки, gitleaks-full-history per-commit, Stop-верификатор,
авто-гейты brainstorming/plan-mode -> §12.2-floor). Уровень 0% не меняется.
cspell-words.txt: +коммитятся (валидная форма семейства коммит*).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 09:15:42 +03:00
Дмитрий
47f83dac12
docs(plan): RLS tooling boundary implementation plan
...
8-task plan for the rls-check skill <-> rls-reviewer agent boundary:
mirrored "Граница..." sections in both tool files, conflict recolor
RED->GREEN on the automation graph (4 spots), lint sweep, Playwright
visual smoke, one atomic commit, memory sync.
Spec: docs/superpowers/specs/2026-05-16-rls-tooling-boundary-design.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 08:13:16 +03:00
Дмитрий
5bc6a029f2
docs(plan): automation-graph iter6 — node meta + duplicates implementation plan
...
4-task plan for iter6 of docs/automation-graph.html: «Паспорт узла»
legend section (since/changed/uses) for all 83 nodes + 2 footer toggle
buttons (usage heatmap, duplicate highlight). NODE_META (83 records) and
DUPLICATE_GROUPS (6 pairs D1-D5/D7) carry factual values derived from
76 session transcripts (window 09-16.05.2026) + git history; method and
raw outputs in Appendix A. cspell-words.txt += pcreator, pvalid.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 08:11:57 +03:00
Дмитрий
21debac6c4
docs(spec): RLS tooling boundary — граница rls-check скил ↔ rls-reviewer агент
...
Дизайн-спек устранения конфликта 🔴 RED #1 карты автоматизации:
скил /rls-check и агент rls-reviewer оба проверяют RLS без чёткой
границы «когда какой».
Решение (Подход 1 — асимметрия как граница): оставить оба, прописать
регламент. Скил — одна названная таблица + живой дымовой тест;
агент — diff/ветка/PR, только 7 статических проверок. Дымовой тест
намеренно вне агента (Pest в ревью-субагенте медленный + задевает
квирки 72/77).
Затрагивает только проектно-локальные файлы инструментов + карту —
0 правок нормативки (Pravila/CLAUDE.md/PSR_v1/Tooling).
cspell-words.txt: +скиле +скилом (падежные формы термина «скил»).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 07:51:57 +03:00
Дмитрий
112cdc82cd
docs(plan): /regression skill — implementation plan (writing-plans)
...
9-task TDD plan implementing docs/superpowers/specs/2026-05-16-regression-skill-design.md: run.mjs split into exported pure functions (resolveBinary, parsers, computeVerdict, formatters, CHECKS registry) + main orchestrator; co-located run.test.mjs (node:test — 36 unit tests + unknown-arg subprocess test, ruflo-queen-hook.test.mjs pattern); SKILL.md; functional verification per spec §10.
Next: subagent-driven-development or executing-plans.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 07:33:56 +03:00
Дмитрий
00937b7765
docs(spec): automation-graph iter6 — dates + usage + duplicates design
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 07:32:35 +03:00
Дмитрий
e822925ded
docs(spec): /regression — amend §10, add run.test.mjs (writing-plans)
...
Spec §10 claimed run.mjs needs no unit harness, on the false premise that tools/*.mjs have no tests. In fact all 3 tools/*.mjs have a co-located .test.mjs (node:test). Amended §2/§3/§4/§10 + header note: run.mjs is split into exported pure functions (parsers, verdict, canonical-line, platform fork) + orchestrator, with a co-located run.test.mjs (node:test, ruflo-queen-hook.test.mjs pattern) — pure functions unit-tested, main subprocess-tested.
Aligns the spec with the economy-0% TDD mandate and the project tools/*.mjs convention before writing the implementation plan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 07:25:10 +03:00
Дмитрий
5e6b1b651a
docs(spec): /regression skill design — canonical regression sweep
...
Brainstorming-phase design for custom skill #1 from claude-automation-recommender: a /regression skill packaging the project regression sweep (Pest --parallel, Vitest, Larastan, vue-tsc, lint/format, lychee, gitleaks) into one invocation — two tiers (quick/full), bundled .mjs orchestrator, canonical status line, GREEN/RED exit-code verdict.
Q1-Q4 design forks approved via brainstorming; spec self-review passed. cspell-words.txt: +6 project glossary transliterations introduced by the spec. Next: superpowers:writing-plans for the implementation plan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 07:15:19 +03:00
Дмитрий
c46d6264f3
docs(plan): Sprint 2 Plan C — Billing E1/E3 (writing-plans)
...
5-task план реализации audit-эпиков E1 (TopupDialog + POST
/api/billing/topup stub) и E3 (BillingView Overview на real API:
wallet/transactions/invoices). Backend: BillingController +
BillingTopupService + TariffPlan. Frontend: api/billing.ts + 4
компонента биллинга с mock на real API.
Sprint 2 Plan C. Источник: docs/superpowers/specs/2026-05-15-portal-audit-design.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 06:40:11 +03:00
Дмитрий
6819238508
docs(plan): automation-graph iter5 — ruflo factual recollage plan
...
План реализации iter5 поверх spec efd588f : 2 задачи (реколлаж кластера
ruflo в automation-graph.html одним атомарным коммитом + синхронизация
memory). Полное литеральное содержание узлов/рёбер/деталей, верификация
через grep + visual smoke. +2 слова в cspell-words.txt (арг, греп).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 06:28:58 +03:00
Дмитрий
772cdf4109
docs(plan): Sprint 2 Plan B — Settings (D1-D5 + J5 + J6)
...
Plan B of the Sprint 2 split — the Settings subsystem, 5 atomic TDD
tasks: PATCH /api/auth/me profile endpoint (J6); ProfileTab rewired to
real API (D1); ApiKey model + api-keys endpoints (J5/D3); outbound
webhook settings endpoints (J5/D4/D5); ApiTab full wiring (D2-D5).
Schema delta = 0 — api_keys + outbound_webhook_subscriptions tables
already exist in schema.sql.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 20:51:46 +03:00
Дмитрий
7a4f8c2793
docs(plan): Sprint 2 Plan A — Auth (A2/A3 orphan delete + A7 legal pages)
...
Sprint 2 (P1 wave 1) split into 3 sub-plans per writing-plans
scope-check (Auth / Settings / Billing — independent subsystems).
Plan A covers the Auth subsystem:
- A2/A3: delete orphaned /recovery RecoveryCodesView (real flow lives
in Settings -> Безопасность; user-approved deletion 2026-05-15).
- A7: /legal/offer + /legal/privacy stub pages via one DRY LegalDocView.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 19:21:30 +03:00
Дмитрий
efd588f661
docs(spec): automation-graph iter5 — ruflo factual recollage design
...
Design spec for reworking the ruflo cluster on docs/automation-graph.html
to reflect factual runtime state (live MCP + filesystem inspection)
instead of the normative declaration: 7 fictional swarm roles removed;
real footprint added as summary nodes (100-agent catalog, 88 slash
commands, recall hook, "0 plugins / 0 skills" node); broken daemon
(spawn claude ENOENT) and idle hive (0 tasks) made explicit; fictional
delegation edges dropped. Map 85->83 nodes / 96->90 edges / 11 conflicts.
cspell-words.txt: +10 terms (Russian inflections + ENOENT).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 17:35:59 +03:00
Дмитрий
d21b6556d2
docs(plan): ruflo queen-trigger + delegation implementation plan
2026-05-15 17:12:12 +03:00
Дмитрий
cce3baea49
docs(spec): ruflo queen-trigger + delegation hard-rule design
...
Brainstorming output: trigger words queen/королева -> unconditional ruflo
Queen routing (Pravila §14, new explicit hard-rule), enforced via
tools/ruflo-queen-hook.mjs UserPromptSubmit hook. Broader: proactive
ruflo-spawn proposal for non-trivial tasks. Cost-gate: preview + confirm
before paid hive-mind spawn --claude.
cspell-words.txt: +9 Russian IT-slang inflections for the spec.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 17:00:05 +03:00
Дмитрий
6c3640c45b
docs(plan): ruflo H7 implementation addendum — onnxruntime dedupe
...
Records the key divergence found during subagent-driven execution: the
H7 fix needed onnxruntime-node dedupe in addition to the getBridge patch
(two incompatible onnxruntime-node versions => DLL collision). Documents
3 residual ruflo-alpha quirks and the post-ruflo-update re-apply step.
cspell-words.txt +dlopen (ERR_DLOPEN_FAILED token).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:50:11 +03:00
Дмитрий
b8ef4a0a7e
docs(plan): automation-graph iter4 — ruflo big-bang merge implementation plan
...
5 задач: ruflo-наслой (12 узлов / 22 ребра / 3 конфликта) → рефреш под
нормативку v2.0 (4 узла-правила + §12/sub-policy) → удаление форка →
visual smoke → синхронизация memory. 3 атомарных коммита реализации.
cspell-words.txt +2 словоформы (тулбар/скила).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:24:39 +03:00
Дмитрий
c6c6e8c0cc
docs(plan): ruflo memory H7 fix + advisory hook — implementation plan
...
8-task plan for the approved design (spec a6649e4 ):
- D1 (Tasks 1-3): install standalone claude CLI, verify spawn --claude
- D2 (Tasks 4-5): TDD ruflo-h7-patch.mjs, apply patch, verify round-trip
- D3 (Tasks 6-7): TDD ruflo-recall-hook.mjs, register UserPromptSubmit hook
- Task 8: memory update + push
cspell-words.txt +3 entries used by the plan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 14:15:14 +03:00
Дмитрий
a6649e4696
docs(spec): ruflo memory H7 fix + advisory hook — design
...
Design for 3 deliverables (brainstorming output):
- D1: install standalone claude CLI to unblock hive-mind spawn --claude
- D2: fix H7 memory-persistence bug — patch getBridge() so memory ops
use the persisting raw sql.js path instead of the non-flushing
AgentDB-v3 bridge
- D3: UserPromptSubmit advisory hook injecting ruflo memory recall
cspell-words.txt +11 Russian IT-slang inflections used by the spec.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 14:00:47 +03:00
Дмитрий
55696e5b40
docs(spec): automation-graph iter4 — ruflo big-bang merge design
...
Дизайн слияния ruflo-наслоя в каноническую docs/automation-graph.html.
Решения brainstorming: одна карта (форк удаляется), честный гибрид
(Queen уровнем −1 + конфликт-маркер «декларация ≠ parallel subsystem»),
полный рефреш под нормативку v2.0. +12 узлов / +22 ребра / 8→11 конфликтов.
cspell-words.txt +4 словоформы (форке/наслой/нормативке/рефреш).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 13:25:37 +03:00
Дмитрий
9bd1baedef
fix(plan): broken relative links in §4.1.2 CHANGELOG entry template
...
Phase 6 lychee regression выявил 2 broken-link в
docs/superpowers/plans/2026-05-15-ruflo-big-bang-integration.md:680 —
template для CHANGELOG_claude_md.md entry имел relative paths
`(specs/...)` и `(plans/...)` которые резолвились в
docs/superpowers/plans/specs/... и docs/superpowers/plans/plans/...
(double-prefix, файлы не существуют).
Fix: changed к correct relative form:
- specs/... → ../specs/... (parent dir)
- plans/... → 2026-05-15-ruflo-big-bang-integration.md (same dir, bare
filename)
Per Pravila §4.7 п.4 + memory quirk 76: relative paths from plans/specs
require explicit `../<sibling>/` или bare filename для same-dir.
Lychee post-fix: 487 OK / 0 errors (was 485 OK / 2 errors pre-fix).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 10:29:28 +03:00
Дмитрий
a68a0a0ccb
chore(spec): Phase 1 pre-flight findings — sync spec + plan + cspell vocab
...
Phase 1 Task 0 verifications executed on 2026-05-15 against live Windows
Server 2022 + native PowerShell elevation + Node.js stack:
- Task 1.1 npm view: ruflo v3.7.0-alpha.38 (not alpha.33 as spec assumed),
MIT, repository.url = ruvnet/claude-flow.git (rename Jan-2026 incomplete
in npm metadata; plugin namespace also remains @claude-flow/*).
- Task 1.2 CLI: 33+ subcommands available — init, mcp, plugins, daemon,
doctor, hive-mind (Queen-led consensus), autopilot, claims, cleanup, etc.
- Task 1.3 plugins list: 20 plugins in IPFS-registry (not 32 as spec
estimated). Registry CID QmeXmAdbWVvT84GfDXPD2Vg1HWhiTW2VdZfRLhkS96KkX2
fetched via IPFS — gateway.pinata.cloud + cloudflare-ipfs.com FAILED,
only ipfs.io worked. 6 core + 1 command + 13 integration. 11 CRM-relevant;
9 nichе (medical/legal/financial/quantum). User decision gate confirmed
«full big-bang — all 20» despite material delta from spec.
- Task 1.4 disk: 67 GB free (>> 5 GB requirement).
- Task 1.5 elevation: TRUE — pm2-service-install без эскалации заказчику.
- Task 1.5.2 PM2 not yet installed.
- Task 1.6 MCP: stdio mode confirmed (INFO [claude-flow-mcp] Starting
in stdio mode) — no port conflict with existing MCP entries. Resolves
spec §12 Q5.
Material changes vs original spec/plan:
- 32 → 20 plugins (1.6× smaller actual scope)
- 100+ → 60+ agents (per npm description)
- Plugin namespace ruflo-* → @claude-flow/* (legacy)
- Added §10.3 risks #11 (IPFS gateway), #12 (alpha version inconsistency
3.0.0-alpha.1..8), #13 (namespace mismatch documentation cost)
- §3 rewritten with concrete 20-plugin table and CLI subcommand list
- §12 Q1/Q4/Q5/Q7 marked RESOLVED with concrete answers
- §12 +Q11 (IPFS) +Q12 (version inconsistency)
cspell vocab additions: ruvector, ipfs, xenova, onnxruntime (lowercase
per user-dict case rule, see commit e55572e for prior precedent).
Plan synced: alpha.33 → alpha.38 (replace_all), 32 plugins references
patched at 8 specific locations. Tooling §0 row description updated:
+20 plugins (35 → 55 formalized), not +32 (35 → 67).
Awaiting user OK for Phase 2 (destructive scaffolding starts at Task 2.1
CLAUDE.md backup + Task 2.2 npx ruflo init).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 09:50:53 +03:00
Дмитрий
18c4463ddd
docs(plan): ruflo big-bang integration — 7-phase implementation plan
...
Spec reference: docs/superpowers/specs/2026-05-15-ruflo-integration-design.md
(commit e55572e ). Plan implements full architectural big-bang per user
choice (Approach A + «чистый верх» + map fork + cost-benefit table +
compressed in-session execution path).
Structure:
- Phase 1 Pre-flight Task 0 (~15min): 6 tasks verifying ruflo CLI/plugins
list/MCP smoke/disk/elevation → spec §12 Q1-Q10 resolution + commit.
- Phase 2 Install (~20min): backup CLAUDE.md, ruflo init, .gitignore,
.mcp.json, settings.json plugins, .env.local cost-budget, optional
PM2 daemon-as-service. Memory reindex hook (Task 2.10).
- Phase 3 Rewrite 4 normative files (~25min, parallel subagents):
Pravila v1.13→v1.14, PSR_v1 v2.1→v3.0, CLAUDE.md v1.93→v2.0,
Tooling v1.17→v2.0. 4 atomic commits. cspell vocab prep Task 3.0.
- Phase 4 Cross-refs sync (~10min): CHANGELOG +v2.0 entry, version drift
check across 4 normative files.
- Phase 5 Map fork (~20min): docs/automation-graph-ruflo.html fork iter3
with ruflo group + Queen + 9 swarm-roles + 4 Queen→centroid edges +
3 new BLACK conflicts + footer cat-legend. 73 legacy nodes get
subPolicy flag + opacity 0.7.
- Phase 6 Regression (~15min): Pest 742+, Vitest 736+, lychee, gitleaks,
vue-tsc, phpstan, ruflo doctor, pm2 status.
- Phase 7 Closure (~5min): CHANGELOG regression numbers, push origin
main, memory update.
Self-review: spec coverage 13/14 sections mapped to tasks; §6 memory
bridge hook gap closed by adding Task 2.10; cspell prep gap closed by
Task 3.0; 4 [TBD reference] placeholders documented as runtime
substitutions with explicit owner/timing.
Total compressed: ~110min in single session.
Decision gates: Phase 1 pre-flight critical fails → STOP plan + escalate.
Phase 2 step 2.2.4 CLAUDE.md modification by init → CRITICAL revert from
backup + escalate. Phase 6 regression fail → Day 7 closure NOT executed
until 0 failed.
Awaiting user choice: Subagent-Driven (recommended for parallel Phase 3)
vs Inline Execution.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 09:30:01 +03:00
Дмитрий
e55572e22c
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 >
2026-05-15 09:19:24 +03:00
Дмитрий
3d32ed52bd
docs(plan): Sprint 1 — 5 P0 UI fixes (C2/C4/C5/G1/G2) implementation plan
...
Atomic TDD plan, 5 tasks, each task: file:line targets + red test scaffold +
green implementation code + verification commands + commit message draft.
- C2 DealsView FilterChip popovers (Проект/Менеджер) — v-menu wrapping
- C4 KanbanView DnD persist через POST /api/deals/transition
- C5 BulkActionsBar window.alert() → v-snackbar
- G1 AdminPricingTiersView submit/delete try/catch + v-alert + snackbar
- G2 AdminSupplierPricesView save per-row error + tooltip + snackbar
0 schema changes. Reuses existing endpoints + extractErrorMessage helper.
Sprint Acceptance: Pest 749+/Vitest 92+/0 regressions/5 atomic commits.
+1 cspell entry: unpushed (dev-process vocab).
Source spec: docs/superpowers/specs/2026-05-15-portal-audit-design.md (e978b33 ).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 08:22:37 +03:00
Дмитрий
e978b33cdd
docs(spec): portal-wide audit & proposals — 70 items, 6-sprint schedule
...
Comprehensive audit of Лидерра portal from user's perspective:
- 4 parallel Explore-agents (auth/app-user/admin/shared) → 100+ raw findings
- Router (26 SPA) vs AppSidebar (7 items) vs AdminLayout (5/7 admin routes) coverage
- ТЗ v8.5 §6 CSV-import gap analysis: schema partially ready, code 0% implemented
- Cross-ref with Открытые_вопросы v1.83 (87/71 ✅ /11 ⏸)
- Playwright MCP browser smoke (login flow + console + network)
Output: 70 atomic IDs in 11 categories (A-K), groupable to ~30-35 epics,
scheduled across 6 sprints by priority P0 → P1 → P2 → P3 → 🆕 NEW → 🧹 CLEAN.
Sprint 1 (P0, ~2 days): C2 FilterChip popovers + C4 Kanban DnD persist +
C5 BulkActionsBar window.alert→snackbar + G1+G2 admin error handling.
Sprint 4 (🆕 H1-H9, ~5 days): CSV-import module per ТЗ §6 (исторические
лиды + проекты from crm.bp-gr.ru → tenant в Лидерре, idempotent через
webhook_dedup_keys advisory-lock, transaction type historical_import).
Approval: Дмитрий 2026-05-15 night «всё в работу, спринты по приоритету»
через superpowers:brainstorming flow. Next: writing-plans for Sprint 1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 08:11:49 +03:00
Дмитрий
aa3976380d
fix(plan-6): replace broken absolute memory-link with plain-text reference (pre-push lychee unblock)
2026-05-15 08:10:33 +03:00
Дмитрий
8a22cc45c5
docs(graph): iter3 closure — spec + plan + smoke evidence + cspell terms
...
iter3 «Automation Graph — interactive highlighting» закрыт.
8 implementation commits ef88435..f0d3d49 (6 feat + 2 fix).
Smoke 12/12 PASS via Playwright (raw JSON + 2 screenshots).
markdownlint/cspell/lychee — clean. Final cross-commit review: APPROVED.
+spec/plan: docs/superpowers/{specs,plans}/2026-05-15-graph-*.md
+smoke evidence: docs/smoke-2026-05-15-graph-highlighting-scenario{2,9}.png
+cspell: NEIGHBOURS / neighbour / BFS / DFS (iter3 vocabulary)
iter4 backlog (non-blocking): I-1 falsy-coercion line 1531, dead var
highlightedNode, SECTION 6 comment update, optional rAF-throttle.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 07:04:57 +03:00
Дмитрий
e8cc1f1105
docs(plan-6): regions subject-level — design spec + implementation plan
...
PDD regions feature (commits 4f60add..f982046) shipped с 32-bit маской на
31 субъект, incompatible со schema's 8-битным region_mask CHECK 0..255 →
500 on POST. Interim A (commit b1c3efa ) откатил UI; этот эпик возвращает
поле в правильной модели.
Approach 2 — dual-write transition:
- Add projects.regions INT[] (89 codes, GIN-indexed)
- region_mask/region_mode legacy preserved для PhonePrefixService/LeadRouter
compatibility (Plan 6.5 cleanup)
- Direct copy в supplier_projects.current_regions без bitmask conversion
- UI: <v-autocomplete> с 89 subjects + federal district subtitle
Spec — 14 sections (scope, approach, schema, REGIONS, validation, UI,
outbound, data flow, migration, testing, error, assumptions, OOS, refs).
Plan — 6 tasks (12 new tests, 3 PDD tests refactored):
- Task 0: orientation + baseline
- Task 1: schema delta v8.20 (1 commit)
- Task 2: REGIONS const 31→89 (1 commit) — 89 entries inline по
конституционному порядку
- Task 3: backend (Store/Update/Service/Model + 5 Pest)
- Task 4: outbound adapter (SyncSupplierProjectsJob + 2 Pest)
- Task 5: frontend (Project type + NewProjectDialog + PDD + 5 Vitest)
- Task 6: regression sweep + close
Key insight (from brainstorming): SupplierProjectDto::regions уже
типизировано array<int, int|string> — supplier API contract supports
89 codes натively, не нужно изменений downstream.
5 ASSUMPTIONS marked в spec §12 (regions order, Москва/МО separate,
existing projects→[], dual-write window, UI subtitle vs subheader) —
confirmed via brainstorming session.
Drive-by: cspell-words.txt +1 entry «федокруг» (term проекта,
используется в spec и других docs).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 19:31:23 +03:00
Дмитрий
159ed3eb86
docs(plan): PDD regions field — 1 TDD task + verify sweep
...
Implementation plan для regions multi-select autocomplete в PDD
(spec: 4f60add docs/superpowers/specs/2026-05-14-pdd-regions-field-design.md).
Task 1 (atomic TDD):
- Step 1: read current state
- Step 2: append 3 failing tests (chips render / select-encodes / clear-resets)
- Step 3: verify 3 RED
- Step 4: implement (REGIONS import + selectedRegions ref + maskToCodes
helper + watch + reseed line + template autocomplete)
- Step 5: 17 PDD tests pass
- Step 6: vue-tsc + ESLint 0 errors
- Step 7: ProjectsView integration tests still 8/1sk
- Step 8: atomic commit
Task 2 (verify-only):
- Full vitest suite 92f/758+3sk
- Vite build sanity
- Visual smoke 8-step handoff to user
Spec coverage: 100% (verified inline in plan §Self-Review).
Out-of-plan: composable extraction / NewProjectDialog backport TODO / bigint /
mobile — all explicitly deferred.
NB env quirk: Write/Edit may silently fail on cyrillic-path — workaround
через ASCII-Temp + PowerShell Copy-Item задокументирован в plan header.
2026-05-14 17:44:36 +03:00
Дмитрий
4f60add187
docs(spec): PDD regions field — autocomplete + bitmask binding
...
In-place port региона multi-select autocomplete в ProjectDetailsDrawer.
Закрывает Out-of-plan «Region multi-select autocomplete» из parent spec
(2026-05-14-project-details-drawer-design.md §7).
Подход A (утверждён 2026-05-14):
- v-autocomplete :items="REGIONS.filter(r => r.code !== 0)" (без sentinel)
- reverse-decompose existing region_mask в codes[] при reseedFromProject
- watch selectedRegions → encode mask + mode (include когда пусто, exclude иначе)
- 3 новых vitest case: render chips / select-encodes / clear-resets
Backend без изменений (region_mask + region_mode payload уже в Task 5 onSave).
Backport reverse-decompose в NewProjectDialog (TODO line 172) — out of scope.
cspell-words.txt +1 (иммутабельны).
2026-05-14 17:40:43 +03:00
Дмитрий
0d7f505185
docs(spec): PDD §7 Out-of-scope expanded with reviewer-flagged polish-debt
...
After SDD execution (9d88955..c5814ec) reviewers flagged 11 non-blocking
issues across Tasks 2/5/6/7/8/9. User decision 2026-05-14: ship as-is, defer
all polish to Plan 6+. Spec §7 расширен 3 кластерами:
- Token drift (4 hardcoded hex × #0f6e56/#f59e0b/#dc2626/480px → CSS vars)
- UX gaps (network-error snackbar / drawer a11y role+aria / Lucide icons)
- Test hardening (testid symmetry / clearAllMocks / .length / comment fix)
+ Cross-cutting silent-error pattern + Sentry breadcrumbs (Б-1 pending).
Полный feature функционально работает (Vitest 92f/755+3sk/0, vue-tsc 0,
ESLint 0, Vite build 2.50s). Polish-debt не блокирует ship.
2026-05-14 17:22:58 +03:00
Дмитрий
fb235e9d8d
docs(plan): ProjectDetailsDrawer — 10 atomic tasks (TDD-strict)
...
Implementation plan для side-panel редактирования single-selected проекта
на /projects (spec: 9d88955 docs/superpowers/specs/2026-05-14-project-details-drawer-design.md).
10 tasks:
1. Scaffold + null-project no-open test
2. Render name/limit/days fields
3. Close emits (X / Cancel / ESC × 2 negative case)
4. Form reseed on project.id change
5. Save — PATCH /api/projects/{id} + 422 errors
6. Pause/Resume + label switch
7. Delete with confirm
8. ProjectsView wire (condition >0 → >=2, drawer mount, computed, .has-drawer CSS)
9. ProjectsView integration tests (5 cases: 0/1/2 selected + close + missing id)
10. Full regression + visual smoke (9 manual checks)
Каждая task: failing test → verify FAIL → impl → verify PASS → commit (TDD-strict).
9 кодовых commits + Task 10 verification only.
Coverage: 16 spec cases (11 unit + 5 integration) реализуются полностью.
Out of plan: confirm dialog при dirty Cancel / optimistic update / mobile / region
autocomplete (region_mask payload-only в Save, UI порт в отдельный sweep).
cspell-words.txt +1 (pdd) — namespacing prefix data-testid'ов компонента.
NB env quirk: Write/Edit tools silently fail on cyrillic repo path —
workaround через ASCII-Temp + PowerShell Copy-Item задокументирован в шапке плана.
2026-05-14 13:38:04 +03:00
Дмитрий
9d889558d3
docs(spec): ProjectDetailsDrawer push-mode design + mockup
...
Design spec + интерактивный HTML mockup для side-panel редактирования
проекта при выборе одного проекта на /projects.
Поведение:
- selectedIds.size === 1 → drawer справа (480px, push-mode, grid сдвигается)
- selectedIds.size >= 2 → BulkActionsBar внизу (условие в ProjectsView.vue:78
меняется > 0 → >= 2)
- 0 selected → ни drawer, ни bulk-bar
Footer drawer:
- Слева (destructive): Приостановить (toggle-active) + Удалить (soft-archive)
- Справа (form actions): Отмена (close+clearSelection) + Сохранить
(PATCH /api/projects/{id})
Backend без изменений — используются существующие endpoints PATCH/DELETE/
toggle-active. Pinia store useProjectsStore уже имеет update/toggleActive/
archive методы.
Прецеденты: DealDetailDrawer.vue (overlay-вариант); push-mode здесь — custom
aside + CSS transform/padding-right, без Vuetify teleport.
Mockup: 3 состояния через JS-toggle (0/1/2+ selected), Forest palette
(Teal #0F6E56, ivory #F6F3EC, noir #012019 ). Phone masked под 152-FZ ПДн.
cspell-words.txt +1 (юнит) — для упоминания юнит-тестов в spec §6.
Open questions: 0 (все 5 UX-решений утверждены заказчиком 2026-05-14).
2026-05-14 13:33:27 +03:00
Дмитрий
abaeebbde6
docs(plan): automation-graph iter2 — 10 atomic tasks (7 parallel-safe + 3 sequential)
...
Tasks 1-7 (parallel-safe через dispatching-parallel-agents): T1 resize handle CSS+JS+localStorage, T2-T5 text rewrite groups A/B/C/D (9+21+18+25=73 nodes по Style Guide), T6 CONFLICT_TYPES enum + 2 new ⚫ edges + reclassify 6, T7 EDGE_DETAILS data (74 entries). Tasks 8-10 (sequential): T8 edge legend render + click handler (depends T7), T9 3-color render + sort + footer (depends T6), T10 visual smoke + push.
Test strategy для single-file HTML без unit-tests: 3-уровневая verification (Level 1 — Node.js syntax check per Edit, Level 2 — lefthook pre-commit gauntlet per commit, Level 3 — manual visual smoke в Edge browser). Pre-push: gitleaks full-history + lychee. Self-review pass: spec coverage 100%, no placeholders, no type drift.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:12:33 +03:00
Дмитрий
f936944237
docs(spec): automation-graph iter2 — resize + simple-language + 3-color conflicts + edge legend
...
4 improvements after iter1 ride-out: drag-handle resize 300-900px + localStorage; rewrite 73 nodes to plain language with Style Guide; reclassify 8 conflicts as 🔴 not-closed / ⚫ practice-observed / 🟢 closed-by-rule; new 7-field edge legend (source/target/relation-type/trigger/transfers/mandatory/regulation).
Parallel execution strategy: Phase 2 dispatches 6 subagents (P1 resize, P2-P5 text rewrite by category, P6 conflict types + EDGE_DETAILS) returning raw JS blocks; Phase 3 main agent applies 12 atomic Edits in sequence → 11 atomic commits total.
Through superpowers:brainstorming 4-clarifying-question cycle (text scope / conflict classification / resize UX / edge legend fields), all options chosen by Дмитрий explicitly. Self-review pass; no placeholders, no contradictions, 0 open questions.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 10:29:40 +03:00
Дмитрий
b73ddaaedd
docs(a11y): authenticated rescan baseline + findings (21/21 passing)
...
Final state docs after a11y rescan session:
- docs/audit-baseline-pa11y.md: «Authenticated rescan 2026-05-14» section
added (14 new URLs, all 21 passing). Old «out of scope для первой
baseline» section marked SUPERSEDED. Per-pattern fix table with file
references + ignored selector rationale. axe-core cross-validation
results documented (only DevIndexBadge dev-only remains).
- docs/superpowers/audits/2026-05-14-a11y-rescan-findings.md (new):
Full audit findings doc — TL;DR, scope expansion table, per-pattern
root cause + fix sections (A-H), axe-core cross-validation, метрики
до/после, verdict 🟢 GREEN.
Regression sweep:
- Pa11y: 21/21 URLs passed
- Vitest: 91 files / 736 passed / 3 skipped / 0 failed
- Pest --parallel: 742/739/3sk/0
- Vite build: ~2s
- gitleaks: 0 leaks / 457 commits / 12.72 MB
- lychee: 345 OK / 0 errors / 457 total
- markdownlint: 0 errors (after auto-fix)
- cspell: 0 issues
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 10:08:08 +03:00
Дмитрий
a650484b11
docs(plan): A11y rescan — live portal authenticated routes
...
11-task plan для повторного a11y-аудита: extend Pa11y от 7 guest URLs к 21
URLs (включая 14 authenticated через per-URL actions login flow), + axe-core
cross-validation via Playwright MCP, + inline fixes для real prod findings.
Closes Audit #3 Phase 7 «authenticated pages out of scope» clause per
explicit user request «Pa11y был настроен на старые HTML-эскизы, проведи
повторно аудит в этой части, чтобы он проверил реальный портал».
Plan: docs/superpowers/plans/2026-05-14-a11y-rescan-live-portal.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 10:06:19 +03:00
Дмитрий
e3974482a9
docs(plan): automation-graph refactor — 10 atomic tasks
...
Implementation plan для spec 2026-05-14-automation-graph-refactor-design.md.
10 tasks, каждый = 1 коммит, в порядке:
1. canvas rendering fix
2. edge labels → tooltips
3. HTML legend sections (когда + ограничения)
4. nd() helper signature + render
5a-5f. when+limits content для 73 узлов (rules+plugins / skills / hooks+agents / MCP / lefthook / memory)
6. radial-sector positioning (ring + sectorAngle на 73 NODES + pos() helper)
7. physics off + button handlers + smooth continuous
8. final smoke + data integrity check
Self-review: spec coverage ✅ , no placeholders ✅ , type consistency ✅ ,
backward-compat nd() handler в Task 4 (for intermediate state).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 09:05:21 +03:00