Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
d21b6556d2
docs(plan): ruflo queen-trigger + delegation implementation plan
2026-05-15 17:12:12 +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
Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
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
Дмитрий
8ba9c55724
docs(plan): Audit #3 deferred fixes sprint plan
...
25 deferred findings (1 P1 + 11 P2 + 14 P3) → 4 task batches:
1. P1 Pa11y scope migration to live Vue app
2. P2 dead code + dev hygiene (knip findings + DemoSeeder + schema header)
3. P2 coverage debt (ReminderDialog + AdminLayout + api/admin via TDD)
4. P3 tooling + structural mini-fixes
Plan: docs/superpowers/plans/2026-05-14-audit3-deferred-fixes.md
Source audit: docs/superpowers/audits/2026-05-14-portal-full-audit-report.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 08:24:49 +03:00
Дмитрий
9d27783729
docs: commit untracked plan files + parse-bundle-analyze.mjs (audit #3 )
2026-05-14 07:29:47 +03:00
Дмитрий
7007379b40
docs(plans): add test-quality-preprod sprint plan + fix lychee/cspell
...
Sprint plan B.1/B.2/B.3/A.1/A.2/A.3. Fixes: broken ../../../memory/
link → plain text; cspell-words.txt +аутит (Russian IT verb).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 13:41:59 +03:00
Дмитрий
0e3f6b2301
docs(plan): quirk #77 candidate plan — Pest --parallel unique-key collision
...
Plan: docs/superpowers/plans/2026-05-13-quirk-77-pest-parallel-unique-key-collision-plan.md
279 lines, 3 tasks для documenting Task 8 baseline check finding.
Discovery: ProjectBulkActionsTest::rejects_bulk_when_scope_filter_captures_more_than_500_projects
reproducibly fails 738/742 в --parallel --recreate-databases.
Sequential 14/14 ✅ . NOT regression from feat/claude-automation
(verified f454e95 audit-2 commit zero PHP touched).
Evidence captured this session:
- db/schema.sql:836 UNIQUE (tenant_id, name)
- app/database/factories/ProjectFactory.php:23 fake()->words(3, true)
- app/tests/Pest.php:18 // ->use(RefreshDatabase::class) (TX rollback only)
- app/tests/Feature/Api/ProjectBulkActionsTest.php:194-206 (501-project bulk)
Tasks:
1. Memory feedback_environment.md +#77 entry (76→77 quirks)
2. MEMORY.md line 5 summary bump
3. .claude/agents/pest-parallel-debugger.md +Hypothesis 4 + output template
+ description frontmatter
Root cause partial: collision pattern matches birthday paradox (~12.5% per-test
prob with ~100-word Lorem ~1M combos), но deterministic-in-parallel vs sequential
suggests worker state sharing (shared Faker seed via PHP global state? Eloquent
factory caching?). Full RCA pending.
Apply-time recommendation: defer until completion plan Task 9 merged,
apply на separate branch feat/quirk-77-update для atomic-commit hygiene.
Verification: lychee 5/5 OK, markdownlint 0 errors, gitleaks 19.07 KB clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 08:46:07 +03:00
Дмитрий
00eb8ad235
docs(drafts): pre-prep norm-sync edit blocks для Task 9 (5 files, 9 edits)
...
Drafts file: docs/superpowers/plans/2026-05-13-claude-automation-norm-sync-drafts.md
364 lines, 5 file targets, 9 distinct Edit blocks с OLD/NEW pairs.
Targets:
- Tooling §0 + §4.8 (sentry) + §4.9 (redis) + §13 changelog v1.16→v1.17
- PSR_v1 R10.1 table + история v2.0→v2.1
- CLAUDE.md §3.3 +#34/#35 + §0 cross-refs + v1.91→v1.92 (через claude-md-management plugin per §5 п.10)
- Pravila §13.2 +Off-phase MCP debug-runtime subsection + v1.12→v1.13
- Memory MEMORY.md + reference_archive.md header refs
Critical correction в drafts: original plan Task 9.3 wording «§3.3 +#34/#35» — error.
Tooling §3.3 = «БД-инструменты», off-phase tools живут в §4.5/§4.6/§4.7.
New sentry+redis → §4.8 + §4.9 (new subsections). Corrected throughout drafts.
Plus bonus finding: new Pest --parallel quirk #77 candidate
(ProjectBulkActionsTest unique key collision on parallel worker shared-DB).
NOT regression from feat/claude-automation (verified). Recommendation:
separate follow-up plan to add quirk #77 to memory + extend
pest-parallel-debugger.
Verification: lychee 3/3 OK 0 errors, markdownlint 0 errors after MD032 fix,
gitleaks 27.35 KB scanned no leaks.
Applied: 0 of 9 edits (drafts only, awaiting Task 1 PR merged).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 08:38:13 +03:00
Дмитрий
7db4075107
docs(plan): completion plan для 9 post-implementation tasks
...
Plan: docs/superpowers/plans/2026-05-13-claude-automation-completion-plan.md
1047 lines, 9 tasks разделены на 3 фазы:
- Phase A (Tasks 1-2): PR creation + Claude Code session reload
- Phase B (Tasks 3-7): hook smoke + Redis check + skill/subagent invocations + Sentry creds
- Phase C (Tasks 8-9): Pest/Vitest regression + sync нормативки (4 sub-files) + merge + worktree cleanup
Architecture decision: Option A (merge feat/claude-automation first, sync нормативки
on separate branch feat/claude-automation-norm-sync). Clean PR audit trail.
Pre-execution baseline captured. Verification: lychee 7/7 OK 0 errors,
markdownlint 0 errors, gitleaks no leaks.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 08:19:40 +03:00
Дмитрий
d0460f6d20
docs(plan): spec + plan для claude-code automation recommendations
...
Spec: docs/superpowers/specs/2026-05-13-claude-automation-recommendations-design.md
Plan: docs/superpowers/plans/2026-05-13-claude-automation-recommendations-plan.md
8 automations scope:
- 2 MCP: sentry, redis
- 2 skills: /q-item-add, /rls-check
- 2 hooks: PreToolUse block CLAUDE.md, PostToolUse db/schema.sql reminder
- 2 subagents: rls-reviewer, pest-parallel-debugger
Execution: Subagent-Driven (user choice A), feature branch feat/claude-automation.
Out of scope per customer:
- Sync нормативки (PSR_v1/Tooling/CLAUDE.md/Pravila формализация)
- Plugin commit-commands install
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 07:35:30 +03:00
Дмитрий
1efd25dc8c
docs(audit): implementation plan for portal full audit #2 (2026-05-13)
...
Bite-sized task plan для 14 phases описанных в spec fc07529 .
Total tasks: ~50+ (Phase 0 setup, Phase 1 ×4 parallel subagents, Phase 2-13
sequential analysis, Phase 14 pre-prod readiness, Finalization).
Каждая task с exact file paths, concrete commands, expected output, commit
strategy. Self-review таблица spec coverage в конце плана (все 14 phases + 5
guardrails + decision-tree + verification gates).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 07:29:55 +03:00
Дмитрий
f6e1e64bee
fix(plan): correct relative path для vuetify.ts link в CTO-19 plan
...
Lychee pre-push hook нашёл broken link: `[app/resources/js/plugins/vuetify.ts](app/resources/js/plugins/vuetify.ts)` resolves к `docs/superpowers/plans/app/...` (несуществующий путь). Fix: `../../../app/resources/js/plugins/vuetify.ts` (3 levels up from plan-file location).
Pravila: prefer new commit over --amend; lychee block requires fix перед push.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 05:18:49 +03:00
Дмитрий
1f5aa0b103
docs(plan): CTO-19 Lucide migration implementation plan (10 tasks)
...
10-task bite-sized plan for CTO-19 closure через Lucide migration.
Approved spec: docs/superpowers/specs/2026-05-13-cto-19-lucide-icon-migration-design.md
Path α (aliases-only).
Tasks:
1. npm install lucide-vue-next + pre-modification baseline snapshot
2. vuetify.ts: register liderraLucideSet IconSet с 78-entry lucideMap
3. Visual smoke на 5 views (/dashboard, /projects, /settings,
/admin/billing, /no-such-404) через Playwright MCP
4. Get explicit «закрываем CTO-19» confirmation from user (Pravila §2.2)
5. Registry v1.82 → v1.83: CTO-19 ⏸ → ✅ + Сводка §0 counters
(CTO 17/18✅ ; Итого 70/71✅ , 12/11⏸)
6. CLAUDE.md §0 row sync (registry version v1.82 → v1.83)
7. Full pre-commit lefthook + commit
8. Push + pre-push hooks (gitleaks-full-history + lychee)
9. Memory updates (reference_archive.md + MEMORY.md, git-untracked)
10. Final verification-before-completion skill invocation + report
Execution mode: subagent-driven-development per skill recommendation
(fresh subagent per task + 2-stage review).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 04:43:13 +03:00
Дмитрий
323957ad34
chore(merge): R15 motion cleanup origin/main → plan5-frontend-projects
...
Merge `origin/main` (commits 0fd93fd planning + 615db99 normative) into
plan5-frontend-projects. Merge-base 48f27b4 . plan5 был 113 ahead / 2 behind.
CONFLICTS RESOLVED (2 files, manual):
— CLAUDE.md: шапка → v1.90; §0 cross-refs → take origin/main (Pravila
v1.11 / PSR_v1 v2.0 / Tooling v1.16); §2 Animation default stack → take
origin/main (motion-runtime guidance); §5 п.12 → take origin/main
(marker «Резерв (снят 12.05.2026)»); §6 фаза + §8 self-review → keep
plan5 (Plan 4 MERGED + Plan 5 frontend + Quiet Luxury context); §9 →
keep both v1.88 entries explicitly labelled (plan5 schema-sync +
origin/main R15 removal — version-number collision result of parallel-
branch bump'ов) + v1.89 plan5 factual fix + new v1.90 merge entry.
— docs/CHANGELOG_claude_md.md: keep all three entries (v1.90/v1.89/v1.88).
FAST-FORWARDED (3 files, no conflict — plan5 не редактировал):
— docs/Plugin_stack_rules_v1.md v1.7 → v2.0 (R15 удалён, 162 lines diff)
— docs/Pravila_raboty_Claude_v1_1.md v1.10 → v1.11 (§11.5/§13.2 счётчик
16→15 правил + cross-refs)
— docs/Tooling_v8_3.md v1.15 → v1.16 (§9.2 reformulated в technical
guidance: motion-v ✅ , framer-motion technical block)
ADDED FROM origin/main (2 files):
— docs/superpowers/plans/2026-05-12-remove-r15-motion-restrictions.md
— docs/superpowers/specs/2026-05-12-remove-r15-motion-restrictions-design.md
cspell-words.txt +1: «форкнулась» (валидный дев-жаргон, в merge-entries).
0 code changes (resources/js/, app/, db/ нетронуты).
0 npm install (motion-v / gsap / anime.js теперь разрешены, не делается).
0 schema changes.
POST-MERGE TODO (отдельные шаги):
— /claude-md-management:revise-claude-md polish (per §5 п.10)
— memory updates: feedback_plugin_paired_stack + project_state +
reference_archive (бывшая «branch-divergent state» note → resolved)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 03:51:27 +03:00
Дмитрий
c5ae923027
docs(audit): add Q.DEFER.003 + Q.DEFER.004 closure plans (13.05.2026)
...
Planning artefacts for:
— Q.DEFER.003 sub-B+C (security cards + router integration tests,
5 commits 4c6d593..f2627e4 + Task 6 docs 093b1af )
— Q.DEFER.004 sub-A+B (DealsTable + AdminSupplierPrices aria-labels,
2 commits d9fc3d9 + c8005e0 )
Both items fully closed per docs/superpowers/audits/2026-05-12-portal-full-audit-blocked.md.
cspell-words.txt +2: regen (test data-testid="regen-dialog") + vuetifyjs
(vuetifyjs/vuetify GitHub org reference in step 1 of Q.DEFER.004 plan).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 02:21:35 +03:00
Дмитрий
52e9a46f2b
docs(planning): add claude-brain v1.0 extraction plan + design spec
...
Planning artefacts from 10.05.2026 brain-extraction work (tag brain-v1.0
at 52584df in claude-brain repo at c:/моя/проекты/claude-brain/).
GitHub push 8.2 remains BLOCKED — artefacts captured for traceability.
Memory ref: project_claude_brain.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 02:19:38 +03:00
Дмитрий
1da23b8253
chore(audit): finalize 2026-05-12 portal full audit
...
Полный аудит портала проведён в ночь 12.05.2026 на ветке plan5-frontend-projects.
9 phase'ов, 393 findings, 8 fix-commits, 4 BLOCKED-вопроса.
Артефакты:
- docs/superpowers/plans/2026-05-12-portal-full-audit.md — план
- docs/superpowers/audits/*-findings.md — все findings file:line + severity
- docs/superpowers/audits/*-blocked.md — 4 вопроса заказчику
- docs/superpowers/audits/*-report.md — summary с метриками до/после
- audit-screens/views/ — 24 UI smoke screenshots (Playwright)
- audit-screens/legacy/ — 32 untracked PNG из workdir
- app/database/seeders/DemoSeeder.php — idempotent seed
- .gitleaks.toml — allowlist для seeders/audit-docs (демо-фикстуры)
- cspell-words.txt — +12 audit-cited mixed-script artifacts
Метрики (Phase 1+2 baseline → Phase 9 final, все commits 3a8229a..57f0b8e):
- Histoire build BROKEN → 35 stories / 63 variants ✅
- ESLint 17 → 0 ✅
- vue-tsc 9 → 0 ✅
- Prettier 48 → 0 ✅
- markdownlint 165 → 1 (untracked design.md) ✅
- cspell 103 → 18 → 0 (after audit-cited words added) ✅
- Vitest 614 → 614 (0 regression) ✅
- Pest --parallel 739/0/3 → 739/0/3 ✅
- Vite build 1.80s 0 warnings → 1.72s 0 warnings ✅
- gitleaks 0 leaks (340 commits) ✅
🟢 GREEN.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 20:37:51 +03:00
Дмитрий
ab47ad250b
docs(quiet-luxury): apply reviewer findings on opacity cascade + error state
...
Task 2 code-quality review (subagent verdict: Ready to merge? No) found
two critical correctness bugs in the original CSS template from spec §3.2:
1. Vuetify's outlined variant collapses sub-element opacity through
--v-field-border-opacity (= 0.38 at idle). Without explicit opacity:1
on each override block, --liderra-line (alpha 0.08) effective alpha
becomes 0.03 → border essentially invisible on ivory backgrounds.
2. Overriding border-color with an explicit value breaks the
currentColor inheritance Vuetify uses for the error state
(color: rgb(var(--v-theme-error)) on .v-field--error.v-field__outline).
Without an explicit error rule that restores currentColor, the red
error border never appears on any of the 5 validated fields.
Also tightened hover from .ld-input-quiet:hover (which is on the .v-input
root, including hint/error message area) to .v-field:hover inside
:deep() — matches Vuetify's own hover scope and avoids triggering on
helper text hover.
Spec §3.2 and plan Task 2.2 updated to the corrected CSS block with
explicit «almost-trap-avoidance» notes documenting why each adjustment
is needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 17:52:29 +03:00
Дмитрий
b2a5a6e18a
docs(quiet-luxury): rescope #896 to 5 v-text-fields after vuetify-defaults finding
...
Task 0 (pre-flight) обнаружил global Vuetify default в plugins/vuetify.ts:50-54
который уже устанавливает variant=outlined density=comfortable color=primary
для всех VTextField. Изначальная гипотеза spec §1.2 «variant=filled по
умолчанию» была неверна — все 5 v-text-field в NewProjectDialog.vue выглядят
одинаково тёмными (Vuetify default border ≈ 60% on-surface), а не «один
filled среди других».
Заказчик принял расширение области: применить .ld-input-quiet ко всем 5
v-text-field (lines 21, 30, 48, 59, 61), убрать неработоспособные явные
props (variant/density/color/rounded — они уже из global default), и
вынести border-radius в :deep(.v-field) override через --radius-8.
Также Task 0 нашёл pre-existing failing test в ProjectCard.spec.ts:43
(change-trigger на <label> вместо <input> внутри); это будет починено
отдельным atomic-коммитом перед Task 1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 17:35:50 +03:00
Дмитрий
50816403bb
docs(quiet-luxury): implementation plan for #1440 + #896 redesign
...
7-task plan (pre-flight + 2 implementation tasks + 3 verification tasks + commit/push)
с TDD-стилем bite-sized шагов: baseline Vitest → CSS-only правка ProjectCard
→ template+style правка NewProjectDialog → full regression → manual smoke →
lefthook + commit + push. Includes verification-before-completion checklist
и rollback план.
Spec ref: docs/superpowers/specs/2026-05-12-quiet-luxury-elements-1440-896-design.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 16:34:49 +03:00
Дмитрий
4e27db63a3
plan(projects-bulk): implementation plan — 15 tasks TDD
2026-05-12 14:29:35 +03:00
Дмитрий
611506faa1
docs(plans): impl plan — dev element indices (10 tasks, TDD-bite-sized)
...
10 задач с TDD-разбиением: types + manifest IO → signature → Vite plugin core
→ vite.config wiring → JSON Schema → useDevIndices composable → DevIndexOverlay
(hover/click/Esc + App.vue mount) → overlay Alt-keys + Alt+Shift+I toggle → CLI
'npm run dx <id>' → end-to-end smoke. Каждая задача self-contained, кончается
commit'ом.
App.vue mount через defineAsyncComponent + import.meta.env.DEV для надёжного
tree-shake в production. Spec coverage table в конце плана.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 11:31:52 +03:00
Дмитрий
38b985a473
docs(plans): portal redesign — Quiet Luxury Iteration 1 — 18-task TDD decomposition
...
Tasks 1-3 CSS foundation (tokens/typography/motion). Task 4 Vuetify theme + global defaults. Tasks 5-7 composables (useStatusPill/useCountUp/useDensity). Tasks 8-11 UI components (StatusPill/Kbd/FilterChip/DensityToggle) + Histoire stories. Task 12 AppSidebar redesign (двухтоновый shell + Cmd-K stub + active marker motion #7 ). Task 13 page transition wiring (motion #6 ). Tasks 14-17 view applications (Dashboard count-up #1 , Deals filterbar + stagger #2 + hover lift #4 , Kanban hover lift, Projects tokens). Task 18 acceptance verification + Pa11y CI sweep.
Self-review: spec coverage complete (all 7 motion patterns wired; stagger #2 added в Task 3 utility + Task 15 application). 0 placeholders. Type consistency across composables verified.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 09:09:58 +03:00
Дмитрий
0fd93fd686
docs(spec+plan): R15 motion-runtime removal — design + impl plan
...
Brainstormed via superpowers:brainstorming. User decision 12.05.2026:
remove R15 PSR_v1 section entirely (variant B). Conscious rollback of
audited construction from v1.83 (10.05.2026).
Spec: docs/superpowers/specs/2026-05-12-remove-r15-motion-restrictions-design.md
Plan: docs/superpowers/plans/2026-05-12-remove-r15-motion-restrictions.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 07:17:19 +03:00
Дмитрий
51019c5aee
docs(plan5): rectify region_mode values 'all'/'whitelist'/'blacklist' → 'include'/'exclude'
...
Schema CHECK constraint on projects.region_mode accepts только 'include'/'exclude'.
Spec/plan изначально использовали 'all'/'whitelist'/'blacklist' (semantic naming),
что не соответствует БД-схеме. При имплементации Task 3 implementer выбрал
'include'/'exclude' (match schema = source of truth). Propagate-fix:
- plan (2 PHP Rule::in + ~10 payload mentions + 4 TS form defaults)
- spec (§4.2 описание, 3 JSON API examples, §6.4 текст, §7.1 StoreProjectRequest)
Чтобы Task 5+ (UpdateProjectRequest, frontend tasks 7-11) не повторили
плановую ошибку.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 18:40:41 +03:00
Дмитрий
48f27b41e5
docs(plans): Plan 5 (Frontend Projects UI + Backend CRUD) — 12 Tasks TDD decomposition
...
12 vertical-slice tasks по spec'у 1ca4378 : schema delta v8.20 (archived_at),
backend ProjectController CRUD (index/show/store/update/destroy/sync/toggle/bulk),
SyncSupplierProjectJob + 3 FormRequest + ProjectService, frontend ProjectsView
с карточками+прогресс-баром, NewProjectDialog с 3 табами (Site/Call/SMS),
EditProjectDialog wrapper, BulkActionsBar, polling integration через
setTimeout-recursion + exponential backoff.
Через superpowers:writing-plans skill. Self-review: spec coverage 22/22 AC,
2 явно отмеченных TODO (regions data + region_mask 32-bit лимит → OPEN-Plan5-04),
type consistency проверена.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 17:18:36 +03:00
Дмитрий
fded2ee392
chore(lychee): Plan 4 plan-file fix 4 broken paths
...
Plan-файл лежит в docs/superpowers/plans/, поэтому относительный путь
../../docs/Открытые_вопросы_v8_3.md резолвится в docs/docs/... (двойной docs).
Корректный путь — ../../Открытые_вопросы_v8_3.md (мы уже в docs/).
+ escape line 4536 (placeholder `(path)` в example-template) как code block,
чтобы lychee не трактовал как реальную ссылку.
CV gate Step 1: lychee 298/228 OK/0 Errors/70 Excluded.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 11:59:35 +03:00