Дмитрий
016e9b09ae
refactor(deals): extract DealDetailBody; DealDetailDrawer = overlay/inline wrapper
2026-05-18 03:42:40 +03:00
Дмитрий
b1ea9208c2
feat(deals): DealsBulkBar — status-change only (drop export/delete/trash)
2026-05-18 03:42:40 +03:00
Дмитрий
583e1986ff
feat(deals): DealsTable — lead-registry columns (Телефон/Источник/Город/Статус/Напоминание/Комментарий/Поставлен)
2026-05-18 03:42:40 +03:00
Дмитрий
b336752851
feat(deals): DealsFilters — phone search + Status/Project/City selects
2026-05-18 03:42:40 +03:00
Дмитрий
9526a9cfdf
feat(deals): DealExportController -- export by delivery-date range, lead-registry columns
2026-05-18 03:42:40 +03:00
Дмитрий
4a3ab89ddf
fix(deals): DealController@index — 422 on malformed received_from/received_to date params
2026-05-18 03:42:40 +03:00
Дмитрий
db90ce1559
feat(deals): DealController@index — received_at date-range filter + comment/city/signal_type/next_reminder_at
2026-05-18 03:42:40 +03:00
Дмитрий
007315deba
feat(deals): mapApiDeal maps city/comment/signalType/receivedAt/nextReminderAt
2026-05-18 03:42:40 +03:00
Дмитрий
e42167c6c3
feat(deals): api/deals — ApiDeal +4 fields, date-range list params, exportDealsByRange
2026-05-18 03:42:40 +03:00
Дмитрий
5865950563
feat(deals): extend MockDeal with city/comment/signalType/receivedAt/nextReminderAt
2026-05-18 03:42:40 +03:00
Дмитрий
5bd3a366e3
feat(deals): redesign groundwork — spec, plan, mockups + sidebar nav cleanup
...
Deals page redesign: design spec + implementation plan (Phase A page redesign,
Phase B 14->5 status funnel) + v8 HTML mockups (variants comparison + final).
AppSidebar: remove Импорт данных / Отчёты nav links (routes stay reachable by
direct URL); AppLayout.spec updated to 6 nav items. stylelint --fix on mockups;
cspell-words += deals-redesign terms.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 03:42:39 +03:00
Дмитрий
2c90349fb3
feat(projects): RegionsBulkDialog — subject-level regions (89 RF subjects) #1426
...
Bulk regions dialog reworked from federal-district bitmask to subject/region
selection, consistent with ProjectDetailsDrawer/NewProjectDialog. Full-stack:
add_regions/remove_regions on projects.regions INT[], BulkProjectActionRequest
split validation, ProjectService model-instance update. federal-districts.ts
removed (zero consumers). +menuRepositionFix util for v-autocomplete menu.
phpstan-baseline: bump actingAs ignore count 14->15 (new validation test).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 03:41:46 +03:00
Дмитрий
e922a8f04d
docs(adr): ADR-006 Decision-4 — Universal Icons icon-path boundary
...
Конфликт-аудит карты (docs/automation-graph.html) выявил
нерегламентированную границу: Universal Icons MCP #45 отдаёт raw SVG,
проектная конвенция (CTO-19) — lucide-vue-next + Vuetify IconSet.
ADR-006 регулировал #45 только против 21st logo_search.
- ADR-006: +Decision item 4 + Consequences bullet + Status Amended-строка
(Lucide-иконки канонически через lucide-vue-next/Vuetify IconSet;
raw-SVG MCP — только не-Lucide коллекции).
- CLAUDE.md v2.10 -> v2.11: §3.3 #45 +нота, §0 cross-ref Tooling v2.11, §9 +запись.
- Tooling Прил.Н v2.10 -> v2.11: §4.20 +UI3.
Pravila §13.2 / PSR_v1 — не затронуты (assess: §13.2 делегирует к ADR-006,
PSR_v1 R10.1 — role-registry). Счётчики инструментов без изменений (50).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 18:19:12 +03:00
Дмитрий
5643e04924
docs(map): refresh rule-node versions v1.24/v2.10/v3.10/v2.10 + tooling count (post-A11)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:59:13 +03:00
Дмитрий
0eb9710ff7
feat(map): A11 nodes — closes section «ML / AI-разработка»
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:42:18 +03:00
Дмитрий
f5b3d35f44
docs(a11): register ml-ai-tooling category — promptfoo/Data Scientist skill/Jupyter MCP #48-50 (NUM1)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:34:13 +03:00
Дмитрий
6f32353af9
feat(a11): bootstrap docs/ml — README + promptfoo example + ADR-007
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:17:20 +03:00
Дмитрий
258238e8b7
feat(a11): vendor Data Scientist skill into .claude/skills + lint-ignore (ML3)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:15:28 +03:00
Дмитрий
3ba522f897
feat(a11): add promptfoo as devDependency for LLM prompt eval (ML1)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 17:12:11 +03:00
Дмитрий
75c6576cd7
@
...
docs(a3): cspell-words.txt +ребейз-family
ребейз/ребейзнута/ребейзом — слова из CLAUDE.md §6/§9 и spec §7
(описание ребейза feat/a3 на origin/main). Единственные реально новые
термины A3-нормативки по cspell-прогону добавленных строк.
Task 10 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 16:06:34 +03:00
Дмитрий
05abfd1ff4
@
...
docs(a3): CLAUDE.md v2.9 — register #47 openapi-mcp-server (A3 integration-tooling)
§3 title 46→47; §3.3 +строка #47 openapi-mcp-server; §1 row 2b 46→47;
§3.3 footer 46→47 + integration-tooling 9-я off-phase подкатегория
(17 off-phase); §0 cross-refs Pravila v1.23 / PSR_v1 v3.9 / Tooling v2.9;
§6 +абзац A3; §9 +запись. Шапка v2.8→v2.9.
Через /claude-md-management:claude-md-improver (§5 п.10).
Task 9 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 16:00:52 +03:00
Дмитрий
226ae3a9cd
@
...
docs(a3): Pravila v1.23 — §13.2 +Off-phase integration-tooling
§13.2 +абзац «Off-phase integration-tooling»: #47 openapi-mcp-server
(Tooling §4.22) + api-docs agent (узел карты A3 без Tooling-номера).
Не UI → вне R6/R14. Регулируются PSR_v1 R10.1 Блок 3. v1.22→v1.23.
Task 8 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:54:52 +03:00
Дмитрий
e5e131c432
@
...
docs(a3): PSR_v1 v3.9 — R10.1 Блок 3 +openapi-mcp (integration-tooling)
R10.1 Блок 3 (MCP-серверы) +1 строка openapi-mcp-server — категория
integration-tooling, off-phase, раздел A3. Не UI → вне R6/R14.
Tooling §4.22 #47 . Версия v3.8→v3.9.
Task 7 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:50:02 +03:00
Дмитрий
03b19577d1
@
...
docs(a3): Tooling Прил. Н v2.9 — register #47 openapi-mcp-server (§4.22)
§4.22 — openapi-mcp-server (@ivotoby/openapi-mcp-server v1.14.0, MIT),
9-я off-phase подкатегория integration-tooling. §0 счётчик 46→47
(17 off-phase, 67 total). Парный узел карты — api-docs agent (без
Tooling-номера). Статус: verified.
Task 6 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:47:07 +03:00
Дмитрий
fd96e7a474
@
...
feat(map): A3 nodes — api-docs agent + openapi MCP
2 новых узла раздела A3 «Программирование — интеграции»: ag_apidocs
(api-docs agent, claude-flow) + mcp_openapi (openapi MCP, #47 ). NODES /
NODE_SECTION / NODE_DETAILS nd() / NODE_TIMELINE / EDGES (3 ребра).
pos()-углы 4/175 + 5/5 после Grep-проверки коллизий. Счётчик 116→118.
Task 4 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:39:30 +03:00
Дмитрий
b94726fb74
@
...
feat(map): NODE_SECTION_SECONDARY layer — cross-ref nodes into A3
Аддитивный слой NODE_SECTION_SECONDARY (NODE_SECTION 1:1 не трогается):
кросс-реф mcp_boost/context7/ag_pest/mcp_semgrep/mcp_sentry в раздел A3.
SECTION_NODES build + Паспорт «Раздел» (формат «A1 (+A3)») обновлены.
Task 3 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:34:41 +03:00
Дмитрий
e1e71d3906
@
...
docs(a3): re-baseline spec+plan onto origin/main e7ff61d
feat/a3 ребейзнута на актуальный origin/main (был форк от D3-эры).
C9/deptrac/A4 уже влиты → openapi-mcp #41→#47, Tooling §4.16→§4.22,
integration-tooling 7-я→9-я off-phase подкатегория. Версии:
Tooling v2.8→v2.9, PSR_v1 v3.8→v3.9, Pravila v1.22→v1.23, CLAUDE.md
v2.8→v2.9. Карта 116→118 узлов. Stale line-anchors → Grep-by-symbol.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:32:03 +03:00
Дмитрий
4ec83457ad
@
...
feat(a3): register openapi-mcp-server in .mcp.json
openapi MCP server (@ivotoby/openapi-mcp-server v1.14.0, MIT, stdio) —
отдаёт docs/api/openapi.yaml как MCP-ресурс/тулы. Smoke verified
(npx --help, native-Windows OK). Конфиг — env-vars API_BASE_URL +
OPENAPI_SPEC_PATH (README stdio-форма).
Task 2 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:20:43 +03:00
Дмитрий
b37c373a4f
@
...
docs(a3): OpenAPI skeleton for /api/deals — A3 smoke artifact
Стартовый OpenAPI 3.1 скелет для группы /api/deals* (8 эндпоинтов)
как smoke-доказательство api-docs-тулинга. Redocly lint — valid (exit 0,
2 warning о неполноте, ожидаемо для скелета). Не полная спека API.
Task 1 плана A3 integration-tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:19:19 +03:00
Дмитрий
fef2bc9e0f
@
...
docs(a3): A3 integration-tooling implementation plan
10 задач: api-docs smoke → openapi-mcp install → карта (NODE_SECTION_SECONDARY
слой + 2 узла) → нормативка (Tooling/PSR_v1/Pravila/CLAUDE.md) → регрессия+память.
Точные якоря карты: NODE_SECTION (110 узлов), SECTION_NODES build (1973-1977),
ld-section (2082-2083), форматы ag_pest/mcp_boost. Риск кросс-веточной
нумерации с A11/C9 — Task 10 Step 2.
cspell-words.txt +redocly/ivotoby. Через superpowers:writing-plans.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:19:19 +03:00
Дмитрий
2bfdb3289a
@
...
docs(a3): A3 integration-tooling design spec
Дизайн интеграции раздела A3 «Программирование — интеграции (API, вебхуки)»
карты automation-graph.html — параллельно A6/D3.
- 2 новых узла: api-docs agent (claude-flow, 0-install) + openapi-mcp-server
(npm/stdio MCP, Tooling #41 §4.16)
- 5 кросс-реф узлов через новый аддитивный слой NODE_SECTION_SECONDARY
(context7/Boost/Pest/Semgrep/Sentry — NODE_SECTION 1:1 не ломается)
- Нормативка: Tooling v2.5, PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5
- Риск кросс-веточной нумерации с A11/C9 зафиксирован
cspell-words.txt +4 валидных термина (аудировал/JVM/хендлеров/ivo).
Через superpowers:brainstorming (2 развилки сняты с заказчиком).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-17 15:19:19 +03:00
Дмитрий
e7ff61d41d
docs(a4): add A4 design-tooling integration plan
...
The 8-task plan executed for the A4 epic, with the post-flight Plan Correction block (FM2 defer, #44-46 numbering, ADR-006, knowledge-work-plugins marketplace, /plugin unavailable in VSCode-extension env).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 14:07:26 +03:00
Дмитрий
b996a37e34
feat(a4): register Universal Icons MCP #45 in .mcp.json
...
Off-phase A4 design-tooling. Smoke verified post-reload: health_check OK, get_icon home/lucide returns a valid framework-neutral SVG. Comment ADR ref corrected ADR-004 -> ADR-006.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 14:07:25 +03:00
Дмитрий
75d7012fb0
fix(a4): correct #46 Design plugin marketplace -> knowledge-work-plugins
...
The 'design' plugin lives in anthropics/knowledge-work-plugins (same marketplace as #42 product-management), not claude-plugins-official (which carries only frontend-design). Verified post-reload against the marketplace manifest. Pre-push fixup of 3a19be5's own error - v2.8/v3.8/v2.8 unchanged. Tooling 4.21 also completes the capability list (+Design System Management, +Dev Handoff).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 14:07:15 +03:00
Дмитрий
3a19be5042
docs(a4): register #44-46 design-tooling — Tooling v2.8 / PSR_v1 v3.8 / Pravila v1.22 / CLAUDE.md v2.8
2026-05-17 13:03:58 +03:00
Дмитрий
d655edb442
fix(map): mcp_figma/mcp_icons → R10.1 блок 3 (MCP-серверы, не блок 1)
2026-05-17 12:40:49 +03:00
Дмитрий
1fcd9a1eb5
feat(map): add mcp_figma/mcp_icons/design_plugin nodes — closes section A4 (3→6)
2026-05-17 12:35:00 +03:00
Дмитрий
13b99edc44
docs(adr): ADR-006 — A4 design-tooling boundaries (FM1/DP1/DP2)
2026-05-17 12:29:09 +03:00
Дмитрий
516ada8ad5
feat(map): deptrac node — extends section A6 to 4 nodes
...
automation-graph.html — new `deptrac` node (architecture-tooling),
NODE_SECTION → A6 (раздел «Архитектура систем» 3→4 узла), edge
psr_v1→deptrac, NODE_DETAILS + NODE_META entries. Smoke-tested:
113 nodes / 118 edges, 0 JS errors.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:32:37 +03:00
Дмитрий
888904429b
docs(deptrac): register #43 deptrac architecture-tooling in 4 normative files
...
Tooling Прил. Н v2.6→v2.7 (§4.18 new, §0 counter 42→43, off-phase
+12→+13; footer v2.6 row restored — pre-existing C9 gap); PSR_v1
v3.6→v3.7 (R10.1 Блок 1 note — deptrac is a Composer dev-dep, not a
marketplace plugin, like mermaid-skill/CCPM); Pravila v1.20→v1.21
(§13.2 architecture-tooling para +deptrac); CLAUDE.md v2.6→v2.7
(§3 title, §1 row 2b, §3.3 +#43 row, §6 +para, §9 +entry, §0
cross-refs) via /claude-md-management:claude-md-improver.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:28:08 +03:00
Дмитрий
c4ce502135
docs(arch): code-derived C4 component-layer diagram from deptrac (gap 4)
...
docs/architecture/c4-component-layers.md — the Level-3 layer
dependency graph generated by `deptrac analyse --formatter=mermaidjs`
(code-derived, drift-proof). Closes the A6 «C4 drift» gap at the
component level. README diagram index + regenerate note updated.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:15:34 +03:00
Дмитрий
305264be5b
ci(deptrac): wire deptrac as lefthook pre-commit job 10
...
Job 10 runs `deptrac analyse` (root: app/) when staged app/**/*.php
changes — the layer-dependency gate. Red-green verified: a
Model→Service dependency is flagged (DependsOnDisallowedLayer,
exit 1); a clean tree exits 0. app/.gitignore += /.deptrac.cache.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:13:27 +03:00
Дмитрий
d971f9cd59
feat(deptrac): layer model + ruleset config + ADR-005
...
app/deptrac.yaml — 13 layers (Controller/Service/Model/Job/…),
conservative ruleset enforcing inward/upward-violating directions.
First `deptrac analyse`: 0 violations / 481 allowed / 977 uncovered
— the codebase already conforms, so no baseline file is needed.
ADR-005 records the decision.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:09:24 +03:00
Дмитрий
3b57842a1d
docs(plan): deptrac architecture-fitness integration plan
...
9-task plan closing the 4 open A6 architecture-fitness gaps
(conformance, layer-direction, C4 drift, active design) via
deptrac as a lefthook job-10 layer-dependency gate. + cspell vocab.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:07:09 +03:00
Дмитрий
65061f640e
build(deptrac): add deptrac 4.6.1 as a composer dev-dependency (DT1)
...
deptrac/deptrac ^4.6 + 5 transitive deps (symfony/config,
dependency-injection, var-exporter; phpdocumentor/graphviz;
jetbrains/phpstorm-stubs). Primary DT1 path — composer dev-dep;
no PHAR fallback needed (resolver clean, 0 security advisories).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 11:04:45 +03:00
Дмитрий
d15f1b7bf4
merge: origin/main (automation-graph C9 map + project-management tooling) в C9-интеграцию
2026-05-17 10:13:02 +03:00
Дмитрий
550dfd0d44
fix(projects): C9 code-review findings — ProjectResource отдаёт regions[] + покрытие
...
C1: ProjectResource не возвращал regions → edit-диалог/drawer затирали
сохранённые регионы при сохранении. +поле в toArray().
C2: +integration-тест outbound regions[] через полный SyncSupplierProjectsJob::handle().
I1: расскип NewProjectDialog payload-теста (regions в POST).
I2: assert data.regions в ProjectsStore/UpdateTest (ловит C1 на backend-уровне).
I4: docblock — bulkUpdateRegions legacy (region_mask, не влияет на outbound до Plan 6.5).
M1: CHANGELOG v8.22 — исправлен неверный пример регионов (Москва=82).
Регрессия: Pest 905/902/3sk/0, Vitest 104f/884/3sk/0.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 10:05:32 +03:00
Дмитрий
c847c02441
merge: C9 — Plan 6 регионы субъект-уровня в портал
...
# Conflicts:
# app/tests/Feature/Plan4/Schema/SchemaDeltaTest.php
# db/CHANGELOG_schema.md
# db/schema.sql
2026-05-17 09:30:21 +03:00
Дмитрий
644b81e13a
feat(map): C9 nodes ccpm + product_mgmt — closes section «Управление проектами»
2026-05-17 09:10:44 +03:00
Дмитрий
72e8d0727d
docs(c9): CLAUDE.md v2.6 — register C9 project-management tooling (#41-42)
2026-05-17 09:10:44 +03:00