Дмитрий
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
Дмитрий
0802f7cf4c
docs(plans): Plan 4 (Billing + CSV Reconcile + Admin) — 12 Tasks TDD decomposition
...
writing-plans skill output для Plan 4 spec (commit 901cf98 ). 12 атомарных
Task'ов в 3 фазах:
Фаза I — Billing core (Tasks 1-4):
1. Schema delta v8.18 → v8.19 (+1 таблица supplier_csv_reconcile_log,
+3 колонки, +3 индекса, +2 CHECK) + Eloquent fillable/casts +
PricingTierSeeder с 7 дефолтными ступенями.
2. PricingTierResolver (pure resolver) + PricingTierRepository (DB-обёртка
для активной сетки) с 7 + 4 тестами.
3. LedgerService::chargeForDelivery — dual-balance (prepaid-first + bcmath
rub) + lead_charges/balance_transactions/supplier_lead_costs INSERT с
6 integration тестами.
4. Integration LedgerService в RouteSupplierLeadJob с 4 E2E sharing-flow
тестами + retry-idempotency.
Фаза II — Operations (Tasks 5-8):
5. ResetMonthlyCountersCommand + Schedule monthlyOn(1, '00:00') Europe/Moscow
через pgsql_supplier BYPASSRLS, 4 теста.
6. Auto-pause flow + ZeroBalancePausedMail + 1/час/tenant rate-limit через
Redis SETNX, 5 sharing-isolation тестов.
7. SupplierCsvParser (streaming generator) + SupplierPortalClient::downloadLeadsCsv
с 5 + 3 unit/Http::fake тестами.
8. CsvReconcileJob (hourly + 25h окно + drift > 5% email) + CsvDriftAlertMail
+ Schedule entry с 6 integration тестами.
Фаза III — UI (Tasks 9-12):
9. AdminPricingTiersController + AdminPricingTiersView (7-tier CRUD + audit)
+ 4 Histoire variants + 5 Vitest тестов.
10. AdminSuppliersController + AdminSupplierPricesView (B1/B2/B3 cost editor)
+ 2 Histoire + 3 Vitest.
11. TenantChargesController + ChargesTab в BillingView + CSV export через
StreamedResponse + 3 Histoire + 4 Vitest.
12. Verification gate (14-step CV) + 7 новых Биз-вопросов в реестр +
CLAUDE.md/memory bumps + FF-merge.
Каждый Task имеет TDD-цикл (failing test → run FAIL → impl → run PASS →
pint + stan + parallel pest → commit) с exact commands и полным кодом
(нет placeholders). Self-review против spec — все 7 разделов покрыты.
+1 термин в cspell-words.txt (bcmath) для прохождения lefthook cspell stage.
Inherits from: Plan 1+2+2.5+2.6+3 (HEAD origin/main = 901cf98 spec).
Parent spec: docs/superpowers/specs/2026-05-11-plan4-billing-csv-admin-design.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 08:10:51 +03:00
Дмитрий
989256b034
docs(plans): Plan 3 (Supplier Sync) implementation plan — 9 Tasks TDD decomposition
...
Полный TDD-план для реализации parent design 2026-05-11-plan3-supplier-sync-design.md
(commit 1a265b5 ). 9 Tasks в 2 фазах:
Фаза I — Discovery (Tasks 1-2):
- Task 1: 5 HTTP-фиксаций через mcp__playwright__browser_* (с явным локальным
снятием Pravila §6 на discovery-сессию + credentials в app/.env)
- Task 2: spec v1.0 → v1.1 (§4.4 observed AJAX formats)
Фаза II — Implementation (Tasks 3-9):
- Task 3: switch supplier-flow на pgsql_supplier BYPASSRLS (закрывает
BLOCKER #6 + WARN #2/#3 одной правкой) + 4 regression tests
- Task 4: SupplierPortalClient + 3 Exceptions + DTO + 9 unit tests через Http::fake
- Task 5: PlaywrightBridge (Node subprocess) + RefreshSupplierSessionJob +
Redis 6h TTL + 5 unit tests
- Task 6: SupplierQuotaAllocator (pure function) + SyncSupplierProjectsJob +
SupplierCriticalAlertMail + 16 tests (9 allocator + 7 sync)
- Task 7: CleanupInactiveSupplierProjectsJob Phase A→B→C ordering safety +
6 integration tests (включая критический ordering test)
- Task 8: RetryFailedSupplierJobsCommand + 5 Schedule entries +
4 integration tests
- Task 9: E2E mock-server test (react/http + react/socket, Linux CI only) +
lefthook pest-supplier-fast pre-commit job
Total ~50-60 новых тестов. 0 schema changes. Метрики приёма: Pest >=608 PASS,
Larastan 0 errors above baseline, gitleaks 0 leaks.
Self-review встроен: spec coverage 10/10, 0 placeholder violations, type
consistency verified across 9 Tasks (DTO/Exceptions/Client methods/connection
name/cache keys/role refs).
+HAR в cspell-words.txt (HTTP Archive format — для Task 1 discovery терминологии).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 00:41:04 +03:00
Дмитрий
93314604f2
docs(plans): Sprint 5 «Pre-prod tooling» plan (Semgrep + Dependabot + Trivy prep)
...
План для активации фазы 3 tooling, не требующего YC-инфраструктуры:
- Semgrep SAST + Semgrep MCP (npm run sast)
- GitHub Dependabot (.github/dependabot.yml — npm × 2 + composer)
- Trivy workflow prep (создан, отключён до Sprint 7 YC Docker pipeline)
Артефакт планировщика, готов к executing-plans. 548 строк.
cspell-words.txt: +1 термин (choco — Chocolatey shortname).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 23:34:30 +03:00
Дмитрий
33fdce8664
docs(viz): §VII regroup + §X Russian/hierarchy spec + plan
...
Артефакты параллельной Claude-сессии (mode «экономия 0%», 10.05.2026 ночь финал).
Spec (366 строк): две связанные правки в hooks-skills-plugins-map.html:
1. §VII Skills — перегруппировка с 6 функциональных категорий на 5 plugin-based
групп (4 плагина: superpowers/claude-md/frontend-design/upm + 1 standalone),
28 skills без потерь.
2. §X interactive map — локализация UI-strings на русский (filter chips, legend,
sidebar badges, tooltips); sidebar при клике на узел показывает иерархию:
«За что отвечает» / «Кто руководит» / «Кем руководит» / «Связи»; edge-click
handler с переходами к источнику/цели.
Plan (1012 строк): пошаговая реализация для executing-plans с TDD-структурой.
Точечные правки одного файла (HTML text + JS refactor + CSS additions).
cspell-words.txt: +6 терминов (lede/tgt/Скил/Sel/overhead/overhead'ный).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 23:33:22 +03:00
Дмитрий
5e38ff6d7e
docs(viz): connections-graph spec + plan (D3 force-directed карта связей)
...
Артефакты параллельной Claude-сессии (mode «экономия 0%», 10.05.2026 ночь).
Spec (385 строк): расширение hooks-skills-plugins-map.html новой §X
«Связи — interactive map». Force-directed network через D3.js v7 (CDN),
~50 узлов (плагины + скилы + хук-скрипты + hook events + state-файл +
permissions + Pravila §12 + CLAUDE.md), 52 ребра. Vintage-blueprint
aesthetic. Drag/click/hover/category filters/reset.
Plan (1246 строк): пошаговая реализация для executing-plans с TDD-структурой.
cspell-words.txt: +3 термина (диспатчу/скилы/ребёр).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 23:31:44 +03:00
Дмитрий
e6b89e676f
docs(plans): Plan 2.6 supplier cleanup — закрытый plan-файл (Task 5 closure)
...
4 atomic commits в стэке (Plan 2.6 #i..#iv):
- e71a02e supplier:check-webhook-secret deploy validator
- f78a855 IP allowlist production fail-closed
- 451a294 timestamp validation ±24h partition guard
- 7899071 crm_supplier_worker BYPASSRLS-роль для queue worker
Pest 558/556 (+9 от Plan 2.5 baseline 549/547).
Larastan + Pint + squawk clean.
Memory updated (project_supplier_integration.md, project_state.md,
feedback_environment.md quirk #57 ).
Plan 3 backlog: BLOCKER #6 (RLS на failed_webhook_jobs INSERT NULL tenant)
+ 5 minor WARN + 5 NIT.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 23:21:54 +03:00
Дмитрий
fe778858ce
docs(plans): close Plan 2/5 supplier webhook routing — ✅ status header
...
Все Tasks 1–9 + CV.1–CV.14 + Task 11 выполнены в main (fb55bfd..c1ae195, 16 commits).
Plan 2.5 hotfix (1ba1df8 fix #3 idempotency + c1ae195 fix #2 concurrency) закрыл
2 из 3 BLOCKER findings CV.11 audit.
В Plan 3 backlog:
- BLOCKER #6 (RLS на failed_webhook_jobs INSERT NULL tenant) — первая задача.
- WARN #4 (placeholder secret '__SET_ON_DEPLOY__') + WARN #5 (пустой IP allowlist)
— operational deploy gates.
- 8 minor WARN + 5 NIT — Plan 3 NOTES.
Pest 549/547 (+2 от Plan 2 baseline 547/545), Larastan + Pint clean.
Чекбоксы Tasks/CV/Task11 ниже намеренно не tick'нуты — детали статуса
в memory/project_supplier_integration.md и memory/project_state.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 22:31:59 +03:00
Дмитрий
67cb2cc946
docs(superpowers): economy-mode hook bypass closure spec + plan
...
6-component architecture (permissions block + 5 hooks) closing 8 critical/high
bypass paths: settings disable (H1), hook script edit (H2), prompt injection
(H4), state file delete (H6), subagent inheritance (H7), PostCompact loss
(H8), retry exhaustion (H9), verifier endpoint failure (H10), tool output
spoofing (H12), no-claim bypass (H13).
End-of-prompt parsing for "экономия N%". Shared state file in $TEMP.
Sonnet 4.6 verifier on Stop with decision:"block" + max 3 retry → escalate.
Spec: 964 lines, 12 sections.
Plan: 7 stages with TDD per task.
Runtime cost: ~\$7-14/month.
Stage 0 ratchet verified: auto-mode classifier blocks subagent Write on hook
scripts AND Bash heredoc bypass on settings.json.
Also adds 4 cspell vocabulary terms (парсингом/промпт/Mojibake/sed) used
in the new spec.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 21:39:23 +03:00
Дмитрий
00aaa9ea89
docs(plan): Plan 2/5 — Supplier Webhook + Sharing Routing
...
11 задач + 14-пунктовый Comprehensive Verification Gate.
Spec §5-§6: platform-wide webhook + N deal-копий через LeadRouter.
Legacy /api/webhook/{token} остаётся параллельным каналом.
+ allowlist generic pattern 7\d{3}1234567 для PhonePrefixService docs/tests.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 17:55:13 +03:00
Дмитрий
7ab7cf51cb
docs(plans): supplier integration plan 1/5 — Foundation (schema + models + validators)
...
12 tasks + 3 verification gates covering:
- 5 migrations: extend projects, supplier_projects, pricing_tiers, lead_charges, supplier_sync_log
- 4 new Eloquent models + factories + Pest unit tests
- Project model extension with signal_type/sms_*/supplier_b1/b2/b3 relations
- 3 signal validators (Domain, Phone, SmsSender) with edge-case datasets
- SupplierProjectResolver service with B1+SMS guard
- Comprehensive verification gate: Larastan + squawk + pgFormatter + cspell + markdownlint + cycle-check + code-review subagent
Spec: docs/superpowers/specs/2026-05-10-supplier-integration-design.md §2, §7
cspell-words: +vashinvestor
.gitleaks.toml allowlist: +test phones for validator datasets
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 12:10:04 +03:00
Дмитрий
528fe16166
docs(plans): Sprint 6 Phase A — Reports backend implementation plan
...
6 tasks: 3 providers (managers/sources/billing) + registry extension +
S3 disk abstraction + file download endpoint. TDD with Pest 4.
Corrects schema column names vs spec (manager_id, type, balance_rub_after)
and uses May 2026 test dates (partitions start 2026-05-01).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-10 09:38:43 +03:00
Дмитрий
27dec3d459
docs(rules): аудит нормативки — закрытие 14 находок (CLAUDE.md v1.84 + Pravila v1.9 + PSR_v1 v1.5 + Tooling v1.13)
...
Audit конфликтов и запутанностей между CLAUDE.md / Pravila / PSR_v1 / Tooling
выявил 14 находок (3 🔴 high, 6 🟡 medium, 5 🟢 low). Все правки — через
paired stack: writing-plans → executing-plans → claude-md-improver (для
CLAUDE.md по §5 п.10) → verification-before-completion с grep-evidence.
Ключевые правки:
1. claude-md-management формализован #33 в Tooling §4.7 — пятый
включённый плагин (категория «инфраструктурная», вне UI-пула).
Tooling §0 счётчик 31 → 33 (3 off-phase tools).
2. Tooling §7 + PSR_v1 уровнем 3 — иерархия source of truth расширена
с 5 до 7 уровней, sync с CLAUDE.md §1.
3. Tooling §6 +5 конфликтов v1.4 — UPM↔FD, 21st↔Vuetify, 21st↔App*,
framer↔motion-v, UPM↔21st (с 5 до 10 строк).
4. Pravila §12.3 объявлен Single Source of Truth для exclusions §12;
PSR_v1 R0.4.A + CLAUDE.md §5 п.11 — cross-ref сюда.
5. Pravila §13.6 +tier-таблица hard-rule (explicit / transitive /
standard) — снимает скрытую иерархию между §12 и §13.9/§13.10.
6. PSR_v1 R10.1 разбит на 3 блока: enabledPlugins / built-in skills
Claude Code / MCP-серверы — раньше всё было одним списком.
7. PSR_v1 R8 +тай-брейкер FD↔21st (последовательно, FD ведущий).
8. PSR_v1 R10.4 + R14.7 — tier-метки transitive hard-rule с явным
указанием, что Pravila §9 «Отступления» к ним не применяется.
9. Scope-метки приоритетных цепочек — Pravila §0 (внутрипараграфный),
CLAUDE.md §1 (межфайловый), PSR_v1 R0.1 (scope головенства stack'а).
Снимает путаницу 4-х представлений.
10. CLAUDE.md §5 п.5 свёрнут до 2 строк со ссылкой на PSR_v1 R14
(был копией PSR_v1 на 12 строк).
11. Tooling §4.6 — settings.json → ~/.claude.json (где реально лежит
API-ключ 21st).
cspell-words.txt: +внутрипараграфный, внутрипараграфные, скилов
(новые термины из scope-меток и plan-файла).
Намеренно оставлено: R0.6 пункт 11 ⊂ пункт 6 (motion-специальный flow);
Pravila §13.10 формально избыточен (явная запись лучше транзитивного).
Plan: docs/superpowers/plans/2026-05-10-rules-audit-fixes-plan.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 05:06:16 +03:00
Дмитрий
823daf4f9f
docs(plan-sprint4): implementation plan «Audit tail» + revised spec scope
...
Sprint 4 — закрытие 3 оставшихся audit O-* пунктов:
- Phase A: O-perf-04 keyset pagination в DealController::index
- Phase B (1+2+3): O-refactor-04 хвост, split 8 Vue-компонентов >300 строк
- Phase C: O-refactor-06 dead-code detection через rollup-plugin-visualizer + knip
Spec ревизия: Sprint 4 уменьшен с 8 до 3 пунктов после факт-чека —
O-perf-07/O-refactor-05/O-refactor-07/O-stack-02/O-stack-03 уже закрыты
в Sprint 1–2 (Sprint 1 ESLint vuetify rule, Sprint 2 Phase A: Pest browser
scaffold, infection mutation, lazy-loading, Larastan cache; CLAUDE.md
header фактически 30 строк после 5b13c95 changelog extraction).
Финальная регрессия: Pest 419+ / Vitest 430+ / Larastan + ESLint + vue-tsc 0.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 03:57:46 +03:00
Дмитрий
93b1af40d0
docs(plan-sprint1): implementation plan для Спринта 1 «Hygiene»
...
По spec'у 2026-05-09-sprint1-hygiene-design.md (08bbe4d ). 41 атомарный task в 6 фазах:
- Phase A. DB (A1-A7, ~20 мин): RLS impersonation_tokens + 2 FK indices + CHANGELOG
schema v8.10→v8.11 + verify squawk/grep (38 RLS, 97 indexes).
- Phase B. Backend (B1-B7, ~40 мин): apply 'tenant' middleware к 3 auth:sanctum-группам
(alias уже в bootstrap/app.php) + HasPasswordRules trait + test password ≥8 +
verify Pest 416/416 + Larastan 0.
- Phase C. Configs (C1-C8, ~40 мин): format:sql:check Windows fix + .lychee.toml exclude
+ pa11y.config paths + composer audit-offline + ESLint anti-vuetify + npm-outdated CI.
- Phase D. Docs (narrative, D1-D5, ~45 мин): README versions + CLAUDE.md/Pravila/Tooling
через claude-md-management:claude-md-improver skill (CLAUDE.md §5 п.10).
- Phase E. Docs (handoff, E1-E4, ~45 мин): BRANDBOOK status-slug mapping table +
DEVELOPER_HANDOFF axe-claim doc + font-display strategy.
- Phase F. Registry (F1-F3, ~15 мин): Открытые_вопросы — новый CTO для P1-10 +
Б-1 cross-link для P1-11 + новый OPEN для P1-09 (Histoire-Vite).
Зависимости: B и D зависят от A (CHANGELOG ссылки + метрики schema).
Бюджет: 2.5-3.5 часа агентов.
Cspell-словарь дополнен: Митигация, закоммитить.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 18:12:26 +03:00
Дмитрий
fb7334af05
docs(plan-audit): implementation plan для аудита проекта на 2026-05-09
...
По spec v1.1 (b034301 ). 12 атомарных Tasks по 4 фазам:
- Phase 0 — setup (Task 0): mkdir .tmp/audit, проверка .gitignore, snapshot HEAD/status.
- Phase 1 — sweep (Task 1): 15 CLI-тулов в 5 параллельных группах A/B/C/D/E,
raw output в .tmp/audit/stage1_*.txt + stage1_summary.md.
- Phase 2 — субагенты (Tasks 2-4):
Task 2 готовит r_rules_excerpt.md (CLAUDE.md §1 + R0.1/R6/R6.1/R10/R11/R13);
Task 3 диспатчит 6 субагентов параллельно (D1-D6, единый шаблон промпта);
Task 4 — early-stop предохранитель (>10 P0 на одном субагенте → AskUserQuestion).
- Phase 3 — консолидация (Tasks 5-8): aggregate, dedup по (file,line,category),
переклассификация по spec §3, генерация docs/audit_2026-05-09.md по §9 структуре.
- Phase 4 — review + commit (Tasks 9-11): verification-before-completion (file:line +
метрики + 0 placeholders + 0 R-нарушений), независимый code review через
requesting-code-review (PASS/FAIL), коммит + update memory project_state.
Бюджет: 1.5-2 часа wall-clock. .tmp/audit/ НЕ коммитится (.gitignore).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 17:15:02 +03:00