Дмитрий
9d27783729
docs: commit untracked plan files + parse-bundle-analyze.mjs (audit #3 )
2026-05-14 07:29:47 +03:00
Дмитрий
51664a0aa4
docs(audit): Phase 9 bundle analyzer delta (audit #3 )
2026-05-14 07:27:36 +03:00
Дмитрий
ad89473331
docs(audit): Phase 8 coverage targeted (audit #3 )
2026-05-14 07:24:12 +03:00
Дмитрий
8fa545e113
docs(audit): Phase 7 a11y targeted Pa11y+axe-core (audit #3 )
2026-05-14 07:20:49 +03:00
Дмитрий
8ec7a8c116
docs(audit): Phase 6 cross-doc integrity findings (audit #3 )
2026-05-14 07:14:59 +03:00
Дмитрий
1f43beacc3
docs(audit): Phase 5 UI smoke 22-view Playwright sweep (audit #3 )
2026-05-14 07:12:48 +03:00
Дмитрий
9e2914a72d
docs(audit): Phase 4 security findings (audit #3 )
...
CI workflows: 3 (sast/dependency-check/trivy), unchanged from Audit #2 .
gitleaks delta (9e175a1..HEAD): 0 leaks / 18 commits.
gitleaks full history: 0 leaks / 426 commits.
gitleaks no-git app/: 1847 matches all in gitignored vendor/ +
phpstan-cache; P2: GITHUB_TOKEN env var captured in gitignored
nette DI container cache (not in git history, mitigations in place);
P3: generic-api-key FPs in phpstan.phar / cache suggest gitleaks.toml.
cspell-words.txt +3: nette, phar, serialises.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:29:31 +03:00
Дмитрий
93a3c667e0
docs(audit): Phase 3 schema integrity findings (audit #3 )
...
Query results A-G: root_tables=63 (61r+2p), partitions=12,
indexes=289, RLS=39, functions=5 (correct names), triggers=13
logical/19 total, orphan_FK=0. One P2 finding: schema.sql v8.20
header "62 базовые таблицы" drift → actual 63 (deals +
supplier_lead_costs both partitioned parents). All invariants
RLS/functions/orphan-FK pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:23:25 +03:00
Дмитрий
af97885266
docs(audit): Phase 2 test suite findings (audit #3 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:19:50 +03:00
Дмитрий
4a5ecb085a
docs(audit): Phase 1D SQL static analysis + Phase 1 итог (audit #3 )
...
squawk v2.51.0 — 0 issues (bin\squawk.exe db/schema.sql, exit 0).
pgFormatter — N/A (perl not in PATH, known Q.HARD.002 carryforward).
Phase 1 combined итог: P0=0 P1=0 P2=4 P3=2.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:13:04 +03:00
Дмитрий
823da293de
docs(audit): Phase 1C docs static analysis findings + cspell words (audit #3 )
...
markdownlint=0, cspell=0 (+3 words: shapkas/SUT/SUT's), lychee=318 OK/0 errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:09:29 +03:00
Дмитрий
362af8c981
docs(audit): Phase 1B frontend static analysis findings (audit #3 )
2026-05-14 06:06:54 +03:00
Дмитрий
85d79499e9
docs(audit): Phase 0 addendum + Phase 1A backend static analysis (audit #3 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 06:02:45 +03:00
Дмитрий
07a483333c
docs(audit): Phase 0 pre-flight skeletons (audit #3 )
2026-05-14 05:59:55 +03:00
Дмитрий
7ee78a9ad0
feat(docs): interactive automation graph — 73 nodes, 6 conflicts, Solarized dark vis.js
...
Single-file HTML visualization of Лидерра CRM automation system.
vis.js 9.1.9 force-directed graph: 9 color groups (rules/plugins/skills/hooks/
agents/MCP/lefthook/memory), 6 red dashed conflict edges, click-to-legend panel
with 5 sections (что делает / кому подчиняется / кто / одновременно / конфликты),
search + freeze/unfreeze/reset/clear toolbar. Solarized dark theme.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 17:05:59 +03:00
Дмитрий
9b21bbc1fd
docs(spec): automation graph design spec — vis.js Solarized dark, 72 nodes, 6 conflicts
2026-05-13 16:43:13 +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
Дмитрий
9e175a1fd6
docs(audit): Phase 10.2 axe-core + Q.DEFER.001+002 closure — audit #2 follow-up
...
axe-core 4.10 на 16 auth views: P2=1 (aria-tooltip-name VTooltip /admin/tenants),
P3=4 кат. (region sitewide, DevIndexBadge temp, empty-table-header 2 views,
page-has-heading-one 1 view). P0/P1=0.
Q.DEFER.001 (Phase 5 24-view smoke) + Q.DEFER.002 (axe-core 16 auth) оба CLOSED.
blocked.md + report.md обновлены. Verdict 🟡 YELLOW, 0 открытых Q-items.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 11:52:59 +03:00
Дмитрий
ec0dd00a93
docs(audit): Phase 5 full 24-view smoke — Q.DEFER.001 closure (audit #2 follow-up)
...
Playwright MCP iteration по 24 URL (auth + main + admin + 404).
Login/logout flow verified. CTO-19 Lucide icons confirmed holding.
25 screenshots в audit-screens/2026-05-13/. 0 реальных дефектов.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 11:41:11 +03:00
Дмитрий
43f9c257bc
docs(audit): finalize portal full audit #2 — Phase 7-9 + report (2026-05-13)
...
Phase 7 — Categorize: severity rollup 37 findings (P0=0 / P1=5 / P2=14 / P3=18).
vs 12.05 baseline (P0=1 / P1=47 / P2=339 / P3=6) — massive improvement.
Phase 8 — Fix loop SKIPPED per hybrid: 0 P0 + 5 P1 все FIX-DEFER known quirks
(квирки 62/72 + router coverage timeout), не FIX-NOW eligible. 0 atomic
fix-commits в этой session.
Phase 9 — Final regression: 0 regressions vs Phase 2 baseline (742/738/1/3 Pest,
88/683/3 Vitest, 35/63 Histoire, 2.15s Vite). Все baseline metrics preserved.
Report.md filled: TL;DR + Phase summaries + метрики до/после + verdict 🟡 YELLOW
+ commits + 3 new quirks (78 branch contention, 79 CWD double-cd, 80 vitest
coverage v8 timeout).
Q-items: Q.DEFER.001 (Phase 5 full smoke) + Q.DEFER.002 (Phase 10 axe auth) deferred.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 11:13:44 +03:00
Дмитрий
845477603a
docs(audit): Phase 10+11+12+13+14 findings batch (audit #2 )
...
Phase 10 — Pa11y 4 guest URLs: ✅ all clean.
Phase 11 — TODO sweep: 19 matches (stable vs 12.05).
Phase 12 — Bundle: critical-path ~189 kB gzip, +25 kB drift vs 12.05.
Phase 13 — Coverage: 78.30/75.78/70.12/80.47. P1 router.spec.ts timeouts под coverage.
Phase 14 — Pre-prod 🟡 : P2 Sentry prod SDK missing, partitions cron not registered, runbook отсутствует.
cspell-words.txt: +«редиректится».
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 11:11:40 +03:00
Дмитрий
31f804581d
docs(audit): Phase 6 cross-doc integrity findings (audit #2 )
...
7 normative docs version match (factual vs memory):
- CLAUDE.md v1.92 ✅ , Pravila v1.13 ✅ , PSR_v1 v2.1 ✅ , Tooling v1.17 ✅
- Реестр v1.83 ✅ , schema.sql v8.20 ✅ , README_АРХИВ v8.5 ✅
routes/web.php: 26 explicit Route::view + Route::fallback — комплектен. 12.05 finding /projects+/reminders+/admin/* missing — fixed `b9038bc`. /admin top-level index new.
Severity Phase 6: P0=0 / P1=0 / P2=0 / P3=0. ✅ vs 12.05 baseline (5 P2 drift) — параллельная сессия PR #4 sync'нула все версии.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:42:07 +03:00
Дмитрий
e81b9c45b4
docs(audit): Phase 5 UI smoke (focused) + Q.DEFER blocked entries (audit #2 )
...
Phase 5 reduced scope (transparent): 17 routes HTTP 200 ✅ + CTO-19 Lucide structural verification (vuetify.ts:19 import + prod bundle inclusion). Indirect coverage via Vitest 88/683 + Histoire 35/63 + Vite build (Phase 2).
Not covered этой session: Playwright MCP interactive flows для 24 views.
Q.DEFER entries → blocked.md:
- Q.DEFER.001: Phase 5 full 24-view Playwright smoke deferred.
- Q.DEFER.002: Phase 10 axe-core 16 auth views deferred.
Severity Phase 5: P0=0 / P1=0 / P2=0 / P3=1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:40:42 +03:00
Дмитрий
17d530f669
docs(audit): Phase 4 security findings (audit #2 )
...
- 4.1 CI workflows enum (methodology gap closure per Pravila v1.12 §4.6): 3 active (dependency-check.yml + sast.yml + trivy.yml). Semgrep SAST confirmed deployed: p/php + p/javascript + p/typescript + p/secrets, SARIF upload to GitHub Security tab. Q.INFO.001 12.05 closure verified holding.
- 4.2 Gitleaks full history: 401 commits / 12.11 MB / 0 leaks ✅ . vs 12.05 (333/11.14) — +68 commits, still clean.
- 4.3 Composer audit cross-link: 0 advisories.
- 4.4 Production secrets grep: 0 AWS prefix, 0 Stripe prefix в app/.
Severity Phase 4: P0=0 / P1=0 / P2=0 / P3=0 — fully clean.
CI security stack полный: SAST + dependency-check + Trivy = pre-prod readiness baseline.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:37:30 +03:00
Дмитрий
75dc375da3
docs(audit): Phase 3 schema integrity findings (audit #2 )
...
Boost MCP queries к dev liderra:
- Root tables: 61 (vs schema.sql v8.20 header 62; vs CLAUDE.md memory dev-actual 75 stale).
- Partition children: 12 (vs header 12 ✅ ; vs memory 102 stale — после migrate:fresh).
- Indexes: 289 (vs header 117 stale; vs memory 289 ✅ ).
- RLS policies: 39 ✅ exact match.
- User functions: 5 ✅ exact by name (audit_block_mutation, audit_chain_hash, calc_lead_score, report_jobs_log_export, set_pd_subject_request_deadline).
- Triggers: 19 (vs header 13 stale; vs memory 19 ✅ ).
- DB roles 0 by design (dev).
- Orphan FK: 0 ✅ .
Severity Phase 3: P0=0 / P1=0 / P2=2 (schema.sql header drift + CLAUDE.md/memory partition drift after migrate:fresh) / P3=0.
Structural integrity 100%, drift только в documentation accuracy.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:35:57 +03:00
Дмитрий
22d8613578
docs(audit): Phase 2 test suite findings (audit #2 )
...
- Pest sequential: 742/736/3/3 (квирк 62 cumulative state — 3 expected fails LookupsTest×2 + ProjectExtensionsTest, numbers ↑ vs 12.05: 1465/12176 — больше накопления).
- Pest --parallel --recreate-databases: 742/738/1/3 — 1 sporadic regression vs 12.05 baseline 739/0/3: CsvReconcileJobTest квирк 72 (Redis supplier:session race в parallel subdir-only).
- Vitest: 88f/683/3 ✅ exact match baseline.
- Histoire: 35/63 ✅ match.
- Vite build: 2.15s ✅ faster than baseline. P2 bundle drift app-B-3WRbXK.js +21 kB raw.
Severity Phase 2: P0=0 / P1=4 (all FIX-DEFER known quirks) / P2=1 / P3=1.
cspell-words.txt: +«квирков» (валидная gen-plural форма).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:34:01 +03:00
Дмитрий
51440f4e6d
docs(audit): Phase 1 static analysis findings (audit #2 )
...
Subagent ×4 parallel dispatch результаты:
- Backend (Pint/Larastan/composer audit): ✅ all 0 errors. P3 composer audit network warn (cached DB).
- Frontend (ESLint/vue-tsc/prettier/knip): ESLint 0, vue-tsc 0. P2 prettier 312 files mismatch (87% — generated .histoire/dist + coverage; ~40 real source). P2 knip lucide-vue-next false-positive (dynamic IconSet pattern).
- Docs (markdownlint/cspell/lychee): ✅ all clean (75 md / 88 cspell / 367 links).
- SQL (squawk/pgFormatter): squawk 0. P3 pgFormatter 6284 lines diff — Q.HARD.002 documented «не трогать».
Severity Phase 1: P0=0 / P1=0 / P2=2 / P3=2. vs 12.05 baseline (P1=44, P2=316) — massive improvement.
Также Phase 0 post-pause update: параллельная сессия завершилась PR #4 merge 66ebb22 , нормативка bumped до v1.92/v1.13/v2.1/v1.17, +sentry/redis MCP, +SAST workflow.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 10:25:34 +03:00
Дмитрий
318aed4f2c
docs(rules): §13.2 +Off-phase MCP debug-runtime (sentry+redis) — Pravila v1.12 → v1.13
...
Применены 3 edits per Task 9 drafts (commit 00eb8ad ):
- Шапка: v1.12 → v1.13 от 13.05.2026 day +1; +«Что изменилось в v1.13» section
- §13.2 cross-ref на PSR_v1: v2.0 (15 правил R0–R14) → v2.1 (+R10.1 Блок 3 sentry+redis)
- §13.2 +новый абзац «Off-phase MCP debug-runtime (отдельная категория)» после
«Инфраструктурные плагины» paragraph: sentry-mcp (#34 , pending Б-1) +
redis-mcp (#35 , deprecated, Memurai verified)
Категория отдельная от UI-пула (§13.2 paired-stack + UPM + 21st) и от
infrastructure (claude-md-management). Не trigger'ит R6.0/R6.1 stack-фильтры
и не входит в R14 pipeline UI-генераторов. READ-ONLY usage обязателен.
Связано: Tooling v1.16 → v1.17 (763aeae ), PSR_v1 v2.0 → v2.1 (c1f9719 ),
CLAUDE.md v1.91 → v1.92 (next via claude-md-management).
PR #3 (cc5f63b ) merge precedent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 09:48:28 +03:00
Дмитрий
c1f9719d67
docs(psr): R10.1 Блок 3 +sentry+redis MCP (debug-runtime category) — v2.0 → v2.1
...
Применены 3 edits per Task 9 drafts (commit 00eb8ad ):
- Шапка: v2.0 → v2.1 от 13.05.2026 day +1; L4 narrative +упоминание debug-runtime MCP
- R10.1 Блок 3 (MCP-серверы): +2 строки sentry + redis с категорией debug-runtime
- История версий: +v2.1 entry перед v2.0
NB по drafts correction: drafts указывали "Блок 1" — actual right block для MCP serverов = Блок 3 (MCP-серверы по `~/.claude.json` / `.mcp.json`).
Категория debug-runtime introduced — отдельная от UI-пула (Pravila §13) и infrastructure
(claude-md-management). READ-ONLY usage, не trigger'ит R6.0/R6.1 фильтры, не входит в R14 pipeline.
Связано: Tooling v1.16 → v1.17 (763aeae ), CLAUDE.md v1.91 → v1.92, Pravila v1.12 → v1.13.
PR #3 (cc5f63b ) merge precedent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 09:47:04 +03:00
Дмитрий
763aeae0a4
docs(tooling): §0 +#34 Sentry MCP + #35 Redis MCP (off-phase debug-runtime) — v1.16 → v1.17
...
Применены 5 edits per Task 9 drafts (commit 00eb8ad ):
- §0 Сводка row off-phase tools: +3 → +5
- §0 footer: «Итого формализованных позиций» 33 → 35
- §4.8 (новый) — #34 Sentry MCP (@sentry/mcp-server@0.33 .0+, official; pending Б-1)
- §4.9 (новый) — #35 Redis MCP (@modelcontextprotocol/server-redis@2025.4.25, deprecated Anthropic source; Memurai PONG verified Task 4)
- §13 история: +v1.16 строка (missing gap) + v1.17 строка
- Footer notes: +v1.16 + v1.17 prepended
- Шапка: v1.16 → v1.17 от 13.05.2026 day +1
Категория debug-runtime — отдельная от UI-пула (UPM/21st) и инфраструктурного (claude-md-management).
Не trigger'ит R6.0/R6.1 фильтры и не входит в R14 pipeline.
Связано: PSR_v1 v2.0 → v2.1, CLAUDE.md v1.91 → v1.92, Pravila v1.12 → v1.13 (separate commits).
PR #3 (cc5f63b ) merge precedent.
Verification: markdownlint 0 errors, lychee 5/5 OK 0 broken, gitleaks 10.91 KB no leaks.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 09:45:04 +03:00
Дмитрий
2ece232fda
Merge branch 'main' of https://github.com/CoralMinister/lidpotok
2026-05-13 09:33:14 +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
Дмитрий
f454e95a2d
docs(audit): Phase 0 pre-flight skeletons + findings (audit #2 )
...
Skeleton files findings/blocked/report для portal full audit #2 (2026-05-13).
Phase 0 finding P3: обнаружена параллельная сессия на feat/claude-automation
branch (claude-automation-recommender skill активна параллельно с этим audit'ом
на main). Main verified clean, git checkout main вернул state. CWD persistence
quirk зафиксирован для memory (двойной cd app && ... загнал в app/app/).
cspell-words.txt: +«инвалидирует» (валидное слово для Phase 0 finding prose).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 07:37:12 +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
Дмитрий
fc07529c4c
docs(audit): spec for portal full audit #2 (2026-05-13)
...
Design для нового 14-phase audit pass на main 21262ef post-merge plan5→main.
Scope: full 13-phase audit (replica 12.05 структуры — pre-flight, static analysis ×4 subagents, test suites, schema integrity, security, UI smoke 24 views, cross-doc, categorize, fix loop, regression verify, Pa11y live + axe-core, TODO sweep, bundle analyzer, Vitest coverage) + новая Phase 14 pre-production readiness (Sentry, DB roles, mock-data prod-gate revisit, CI workflows audit, env validation, queue/cron, backup/log rotation, deployment runbook).
Fix-strategy: hybrid — P0+P1 → atomic commits на main по ходу; P2/P3 → только запись в findings.md (без commits).
Guardrails applied (lessons из 12.05 audit + Pravila v1.12):
- Phase 4 SAST: ls .github/workflows/ FIRST (audit methodology gap closure)
- Phase 5/10 UI-refactor visual smoke + axe-core с setTimeout 500ms + hard reload (Q.DEFER.004 lesson)
- Pest --parallel --recreate-databases для long sessions (квирки 62/73)
- Plans/specs relative paths ../../../ для app/ refs (Pravila v1.12 §4.7 п.4)
- npm install с --legacy-peer-deps (квирк 74)
Baseline для regression gate Phase 9: Pest 742/739/0/3, Vitest 88f/683/3sk, Vite ~3.5s/0err, Histoire 35/63.
Next step: invoke superpowers:writing-plans для implementation plan в docs/superpowers/plans/2026-05-13-portal-full-audit-2.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 07:24:00 +03:00
Дмитрий
19d12c9f95
docs(meta): session-end hygiene — CLAUDE.md v1.91 + Pravila v1.12 + audit gap
...
Capture session-end documentation learnings 13.05.2026 day +1 после
CTO-19 ✅ closure (commit 0832997 + fixup f6e1e64 ).
CLAUDE.md v1.90 → v1.91 (через `/claude-md-management:revise-claude-md`
per §5 п.10):
— Шапка version line: новый v1.91 narrative bump с session-end summary
— §0 row Pravila: bump v1.11 → v1.12 (cross-ref sync)
— §9 история версий: +v1.91 entry (session learning capture)
Pravila v1.11 → v1.12 (manual Edit per explicit user approval choice
«iii. Pravila v1.11 → v1.12 methodology additions»):
— §4.6 self-review: +subsection «Для UI-refactor (icon migration /
palette swap / layout overhaul)» — visual smoke verification
обязательна; unit tests jsdom недостаточны; user-grep
resources/js insufficient (Vuetify-internal default mdi-* gap learning
от CTO-19); axe-core scan для palette changes
— §4.7 объединение/переименование файлов: +п.4 «Plans/specs относительные
пути» — для ссылок на app/db/docs из docs/superpowers/{plans,specs}/
использовать `../../../<target>` (lychee strict filesystem semantics;
прецедент CTO-19 fixup `f6e1e64`)
audit findings.md Q.INFO.001 entry: +«Audit methodology gap»
subsection — Phase 4 SAST coverage check must begin с `ls
.github/workflows/` ДО conclusions про tool availability. Audit
12.05.2026 пропустил `.github/workflows/sast.yml` (commit 53fb1ec от
PR #25 , 10.05.2026 — 2 дня до audit). Generalize: any «X not
configured» finding должен включать explicit check репо-уровневых
configurations (.github/, .gitlab-ci.yml, lefthook.yml, etc.).
cspell-words.txt +2: «рендерить» / «рендерятся» (dev jargon).
+опечатки fix: «гap» → «gap», «zafiksирован» → «зафиксирован»,
«инсуффициентны» → «недостаточны».
Регрессия зелёная (verified в commit 0832997 ):
— Pest --parallel 742/739/0/3 / Vitest 88/683+3 / Vite build 3.52s
— axe-core /admin/billing 0 iconography violations
— lychee 252 OK / gitleaks 0 (372+ commits)
0 code changes / 0 schema / 0 migrations / 0 npm install / 0 test impact.
Memory updates (отдельный шаг, git-untracked):
— feedback_environment.md +3 quirks 74-76 (Lucide+Histoire peerDep,
Vuetify-internal mdi defaults gap, plans-relative-paths)
— MEMORY.md index quirks count bump 73→76
Workflow: `superpowers:brainstorming` (F-option scope) →
`:writing-plans` → `/claude-md-management:revise-claude-md` (CLAUDE.md
bump per §5 п.10) + manual Edit (Pravila + findings.md).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 05:39:22 +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
Дмитрий
0832997b6e
feat(icons): CTO-19 ✅ closed via Lucide migration (Vuetify custom IconSet)
...
Closes CTO-19 ⏸ from реестр v1.79 — иконочная система портала не была
подключена (`@mdi/font` отсутствовал в `package.json`, все `mdi-*`
рендерились пустыми glyph'ами).
PATH α (aliases-only, brand-compliant) approved заказчиком 13.05.2026
через `superpowers:brainstorming` → `superpowers:writing-plans` →
`superpowers:subagent-driven-development`:
— `npm i lucide-vue-next ^1.0.0` (~25-30 KB gzip tree-shakable)
— `app/resources/js/plugins/vuetify.ts`: custom `IconSet`
(`liderraLucideSet`) с 103-entry `lucideMap`:
· 78 user-grep'нутых mdi-* names из resources/js/**/*.vue
· 25 Vuetify-internal defaults (pagination chevrons, v-checkbox
squares, v-radio circles, v-select dropdown, date picker, paperclip)
— Fallback `HelpCircle` для unmapped
— 51 Vue/TS файл с `icon="mdi-*"` НЕ touched — semantic-ID via Lucide
CLAUDE.md §2 «Иконки: Lucide» бренд-spec compliance achieved.
VERIFICATION (comprehensive, 13.05.2026 day +1):
— vue-tsc 0 errors
— Pest --parallel --recreate-databases: **742/739/0/3**
— Vitest: 88 files / 683 passed / 3 skipped (baseline match)
— Vite build: exit 0, 3.52s
— Visual smoke 8 views via Playwright MCP — все glyph'ы рендерятся
— axe-core a11y scan /admin/billing: **0 iconography violations**
— Pagination + v-checkbox + v-radio fixes (Task 2.b extension)
РЕЕСТР v1.82 → v1.83:
— CTO-19 §3: ⏸ → ✅ (Pravila §2.2 / §7.1 — явное «закрываем» получено)
— Сводка §0 CTO: 17✅ /1⏸/1 P2 [?] → 18 ✅ /0⏸/0
— Сводка §0 Итого: 70✅ /12⏸ → 71 ✅ /11 ⏸
— Header v1.82 → v1.83 + новый changelog block
— Footer v1.83 (match header)
CLAUDE.md §0 row sync v1.82 → v1.83 — прямой Edit per «registry version
sync» rationale, не content authoring (CLAUDE.md §5 п.10).
cspell-words.txt +1: «grep'нутых» (Russian-tech jargon).
Path (i) `npm i @mdi/font` REJECTED (250 KB CSS, против бренда).
Path β rename all strings REJECTED (большой diff 51 файл).
Spec: docs/superpowers/specs/2026-05-13-cto-19-lucide-icon-migration-design.md
Plan: docs/superpowers/plans/2026-05-13-cto-19-lucide-icon-migration.md
Quirk 64: app/dev-indices.json attached per Vite watcher auto-regen.
Memory updates — git-untracked, отдельный шаг.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 05:16:31 +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
Дмитрий
cffed5e979
docs(spec): CTO-19 Lucide icon migration design (brainstorming approved)
...
Design spec for CTO-19 closure (реестр v1.79 ⏸ — иконочная система
`@mdi/font` не подключена, все mdi-* рендерятся пустыми).
Path α (aliases-only, views untouched) approved заказчиком через
brainstorming AskUserQuestion 13.05.2026 day:
— `npm i lucide-vue-next` selective tree-shakable imports ~25-30 KB gzip
— `app/resources/js/plugins/vuetify.ts` +icons config c custom IconSet
— 78-entry lucideMap (mdi-* semantic-ID → Lucide component)
— Fallback HelpCircle для unmapped
— 51 Vue/TS файл с `icon="mdi-*"` НЕ touched
CLAUDE.md §2 «Иконки: Lucide» — бренд-spec compliance.
Path (i) npm i @mdi/font — REJECTED (250 KB CSS, против бренда).
Path β rename all strings — REJECTED (большой diff 51 файл, не нужен).
Closure plan: CTO-19 ⏸ → ✅ (Pravila §2.2 требует явного «закрываем»),
registry v1.82 → v1.83, CLAUDE.md §0 sync, memory updates. Single atomic
implementation commit.
cspell-words.txt +2: tabler (icon package ref), roh (grep flag).
Next: invoke superpowers:writing-plans для detailed implementation plan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 04:36:51 +03:00
Дмитрий
9bc041992d
chore(registry): v1.77 → v1.82 catch-up + section ## 13 fix + Сводка counters + CLAUDE.md sync
...
Реестр Открытые_вопросы имел hidden inconsistency: header v1.77, но footer
trail v1.78/v1.79/v1.80/v1.81 + post-Plan-4 work 12.05–13.05 не отражена.
ИЗМЕНЕНИЯ В docs/Открытые_вопросы_v8_3.md:
— Section ## 13 collision fix: Plan 4 (Billing+CSV+Admin) → ## 14
(Аудит C сохраняется ## 13).
— Header v1.77 → v1.82 + новый changelog block «Что изменилось v1.82 vs
v1.77» с детализацией trail v1.78–v1.81 + post-Plan-4 context.
— Сводка §0 counters update под факт:
· CTO: 16/16✅ → 18/17✅ /1⏸ (CTO-19) +CTO-20 закрыт
· Бизнес/продакт: 17/17✅ → 24/17✅ /7⏸ (Биз-25..31 Plan 4 deferred)
· +новая строка «Plan 4 (v1.78)» 7/0/7⏸
· Итого продуктовых: 78/69✅ /5🟦 /4⏸/1P0/3P1/0P2
→ 87/70✅ /5🟦 /12⏸/1P0/5P1/3P2 +2P3 (Биз-29/30) +1 P2 [?] (CTO-19)
— Сводка строка «Истинные P0-блокеры на 07.05.2026» → «на 13.05.2026
(после v1.82)» с уточнением Plan 4 deferred placeholders нужны до prod.
— Сводка строка «Все P2 закрыты» → актуализирована: 3 open Биз (26/27/31).
— Сводка строка «Открыто 3 P1» → 5 P1 (+Биз-25, +Биз-28).
— Сводка +строка «P3 после v1.82 (2)»: Биз-29, Биз-30 — эмпирические
данные после 1-2 мес эксплуатации.
— Footer v1.81 → v1.82 summary (match header).
ИЗМЕНЕНИЯ В CLAUDE.md:
— §0 row «Открытые вопросы» — v1.77 → v1.82 + удалена post-v1.77 deviation
note (теперь baked в v1.82). Прямой Edit per approved plan «через плагин
ИЛИ ручной Edit с обоснованием 'registry version sync'» (CLAUDE.md §5
п.10 — это registry version-string sync, не content authoring).
PRAVILA §2.2 СТРОГО СОБЛЮДЕНА:
— Ни один новый Q-item не закрыт без явного «закрываем» заказчика.
— Биз-25..31 (Plan 4 deferred) — все остаются ⏸.
— CTO-19 (иконочная система) — остаётся ⏸.
— CTO-20 уже ✅ в v1.81 (ICU collation fix 12.05.2026).
— Plan 5 / Quiet Luxury / Q.DEFER closures / R15 merge — feature delivery
/ audit-internal / regulatory; не Q-items registry.
POST-PLAN-4 CONTEXT (documented в v1.82 changelog):
— Plan 5 frontend Tasks 7-11 delivered (schema v8.20).
— Quiet Luxury portal redesign 20 commits Direction A.
— Portal full audit 2026-05-12 ночь — 10/10 Q-items audit-internal closed
в blocked.md (Q.DEFER.002 sub-B + Q.DEFER.003 sub-A+B+C +
Q.DEFER.004 sub-A+B).
— Audit-cleanup tail 5 commits 54c69a6..d1b2f5d.
— R15 motion-runtime cleanup merge 323957a (PSR_v1 v2.0, Pravila v1.11,
Tooling v1.16, CLAUDE.md v1.90). framer-motion: regulatory hard-ban →
technical block (React-only peerDep).
Regression-baseline (pre-commit): Pest --parallel 742/739/0/3 ✅ (после
--recreate-databases), Vitest 88 files / 683 passed + 3 skipped, Vite
build 2.67s, lychee 248 OK / 0 errors, gitleaks 0 (367 commits).
0 code changes. 0 schema. 0 migrations. 0 npm install.
Memory updates (отдельный шаг, git-untracked):
reference_archive.md description + MEMORY.md index line 7.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 04:16:32 +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
Дмитрий
b6f44d9c80
docs(redesign): add quiet-luxury 1440x896 elements design reference
...
HTML visual reference for Direction A Quiet Luxury portal redesign
(12.05.2026 sessions). Companion to spec/plan markdown files уже в репо
(docs/superpowers/specs/2026-05-12-portal-redesign-*.md и
docs/superpowers/plans/2026-05-12-portal-redesign-*.md).
Memory ref: project_portal_redesign.md (20 commits на plan5-frontend-projects)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 02:20:09 +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
Дмитрий
093b1af059
docs(audit): Q.DEFER.003 FULLY CLOSED 13.05.2026 — sub-B+C done, real coverage numbers documented
...
5 atomic commits 4c6d593..f2627e4 + ~23 new tests:
- Task 1: ChangePasswordCard 3 specs (placeholder coverage)
- Task 2: RecoveryCodesCard 6 specs (dialog flow)
- Task 3: TwoFactorCard 9 specs (setup wizard + disable)
- Task 4: router.spec 5 integration tests (guard branches + /admin + /reset)
Real coverage (Vitest --coverage Task 5):
- RecoveryCodesCard Stmts 28% -> 59.37%
- TwoFactorCard Stmts 28% -> 71.42%
- router/index.ts Stmts 33% -> 46.15%, Branches -> 100%, Funcs 7% -> 22.22%
(24+ lazy-import factories inflate Funcs denominator)
Honest note: Tasks 2/3/4 commit headlines (70%+, 80%+, 85% Funcs) were
overstated против actual; meaningful Stmts gains remain. Sub-A (api/* 43 tests)
closed earlier 12.05.2026 night commit 95f5f94 .
2026-05-13 02:07:24 +03:00
Дмитрий
0a37aadd20
docs(audit): Q.DEFER.004 — replace Task 4 false-alarm verification with re-verified success
...
Task 4 subagent (commit e79fe95 ) reported 6+9 critical label violations
on /deals + /admin/supplier-prices, concluding Vuetify silently drops
aria-label. Re-verification 2026-05-13 (Playwright + axe-core 4.10 with
hard-reload + 500ms render-wait) показала **противоположное**:
- /deals: 0 label violations; 6 bulk-checkboxes имеют correct aria-label
- /admin/supplier-prices: 0 label violations; 9 inputs/switches OK
- /admin/tenants: 1 aria-tooltip-name as documented (sub-C unchanged)
Vuetify VSelectionControl.js:163 confirms input gets aria-label from
\$attrs forwarding via filterInputAttrs + _mergeProps(..., inputAttrs).
Q.DEFER.004 sub-A + sub-B closure stand as honest. Initial false-alarm
likely from HMR partial update / axe race-condition без render-wait —
documented as quirk для будущих сессий.
2026-05-13 01:05:36 +03:00