Дмитрий
fee8efc809
docs(finance): C6+C7 finance-tooling implementation plan
...
11 задач в 3 фазах: Ф1 billing-audit скил (C6), Ф2 finance plugin enable +
ru-tax-accounting скил (C7), Ф3 нормативка (Tooling/PSR/Pravila/CLAUDE) +
роутер (routing-off-phase L13 + router-procedure) + наблюдатель (9-атрибутные
блоки + C1/C2) + карта (+3 узла) + ADR-012 + push.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 09:19:50 +03:00
Дмитрий
2ef20d7d48
docs(finance): C6+C7 finance-tooling epic design spec
...
Объединённый эпик «Финансы»: наполнение разделов карты C6 (биллинг/тарификация)
+ C7 (бухгалтерия/налоги). 3 новых узла (#61 finance plugin, #62 billing-audit,
#63 ru-tax-accounting) + reuse-классификация + расширенная нормативка
(роутер routing-off-phase.md + наблюдатель 9-атрибутные блоки) + ADR-012.
+9 терминов в cspell-words.txt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 09:11:07 +03:00
Дмитрий
84a56d449e
docs(discovery): brief переделки миграции проектов + распределения лидов
...
Зафиксированы решения discovery-интервью 2026-05-20: два режима экспорта
проектов (онлайн + пакетный 18:00 МСК), один save с тремя флагами B1+B2+B3,
tag=регион, и новый алгоритм распределения лидов (cap=3 рандом из недобравших,
заказ = max(наиб_лимит, ceil(Σ/3)); группировка отменена). Реализация не начата.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 08:58:57 +03:00
Дмитрий
91030445fe
feat(map): iter9 — brain governance subsystem (+9 nodes, +12 edges, +1 GREEN)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 05:12:24 +03:00
Дмитрий
02dc9a88c5
docs(map): iter9 implementation plan
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 04:59:29 +03:00
Дмитрий
0678d702e6
docs(map): spec self-review fix — edges 13->12
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 04:50:18 +03:00
Дмитрий
031f745c13
docs(map): iter9 brain-governance design spec
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 04:49:32 +03:00
Дмитрий
d24482c123
docs(observer): sync spec §6 with as-built factor-analyzer
...
§6 drifted from the implemented brain-retro analyzer after Phase 1.2/1.3:
- factor matrix now lists 9 axes (session_turn + parallel_session were
captured in the episode schema §3 but missing from the §6 matrix);
- outcome inference documents 'blocked' (error events > retry events) and
notes 'failure' as deferred to the phase-2 agent-judge.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 18:17:17 +03:00
Дмитрий
667f8fa114
docs(discovery): 3-tier failover live-smoke 2026-05-19 — all tiers green, 156/156 Supplier suite
2026-05-19 17:31:15 +03:00
Дмитрий
2012026637
fix(supplier): manage-project.js — drop wrong status-switch click + recon live-smoke
...
Task 4 live-smoke выявил: единственный .el-switch формы — include/exclude
регионов (regions_reverse), НЕ статус active/paused. Старый код кликал его
по dto.active → ошибочно ставил regions_reverse. Статус — дефолт портала
(active), UI-switch для него нет → switch-блок удалён.
recon-doc 2026-05-19-rt-project-form-locators.md: +секция Live-smoke
(domain-формат валидируется, multi-source save = N проектов, switch = regions,
type/tab re-render); row 6 исправлен.
2026-05-19 17:31:15 +03:00
Дмитрий
b9fff59f9c
docs(discovery): rt-project form locators recon (Element UI + Vuetify dialog, 10 fields)
2026-05-19 17:31:12 +03:00
Дмитрий
49fc6ea580
docs(supplier): plan for migration follow-up — HTTP-200 login detect + form rewrite + 3-tier smoke
2026-05-19 17:29:52 +03:00
Дмитрий
f1ec324eed
feat(brain): Forest polish + observer README entry for the dashboard
2026-05-19 16:23:52 +03:00
Дмитрий
8f3c24af76
feat(brain): conflict three-layer panel (design / friction / correlation) +3 tests
2026-05-19 16:23:51 +03:00
Дмитрий
97c93140a6
feat(brain): Агрегат view — metric tiles + node heat overlay
2026-05-19 16:23:51 +03:00
Дмитрий
139527261c
feat(brain): aggregator — node heat, distributions, redirect rate (+4 tests)
2026-05-19 16:23:50 +03:00
Дмитрий
19cf599c67
feat(brain): Лента auto-poll with pause (5s interval, view-driven)
2026-05-19 16:23:50 +03:00
Дмитрий
7a5e2d1962
feat(brain): Лента view — groupBySession + grouped feed UI
2026-05-19 16:23:49 +03:00
Дмитрий
83648bdc45
feat(brain): Разбор view UI — list + filters + trajectory highlight
2026-05-19 16:23:49 +03:00
Дмитрий
5b08c94e3f
feat(brain): filterEpisodes + 3 tests (Task 7 logic; UI deferred)
...
Worktree has no app/node_modules — vitest not run here; final regression
deferred to main-checkout post parallel-session release. Logic is a 7-line
pure filter; tests cover empty filter, classification, errors-only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 16:23:48 +03:00
Дмитрий
71ed478536
feat(brain): Карта view — plain topology + design conflicts list
2026-05-19 16:23:48 +03:00
Дмитрий
e51aa39fbb
feat(brain): dashboard shell + graph banner + view switching
2026-05-19 16:23:47 +03:00
Дмитрий
56fbc0a6cd
feat(brain): node attribution — episode signals to graph nodes
2026-05-19 16:23:46 +03:00
Дмитрий
a44db17366
feat(brain): episode JSONL parser + v1/v2 normalizer
2026-05-19 16:23:46 +03:00
Дмитрий
170fc69a64
refactor(brain): extract automation-graph topology to a shared data file
2026-05-19 16:23:45 +03:00
Дмитрий
a10014f45d
feat(brain): static server + /api/episodes for the dashboard
2026-05-19 16:23:45 +03:00
Дмитрий
df5e0ad0c9
fix(brain): correct vitest command in plan — run from app/
...
The config's include `../tools/*.test.mjs` resolves relative to its
own dir (app/), not cwd. Baseline verified 2026-05-19 from app/:
11 files, 169 tests passing, 0 failures.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 16:23:44 +03:00
Дмитрий
cb3b7be366
docs(brain): brain dashboard implementation plan
...
13 tasks across 3 phases — static server + topology extraction + 4 views
(Карта / Разбор / Лента / Агрегат). TDD on dashboard-core.js, smoke on UI.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 16:23:44 +03:00
Дмитрий
47a257624a
docs(brain): brain dashboard design spec
...
Standalone HTML dashboard that visualises the observer episode log over
the automation-graph topology — 4 views (map / task-replay / session
feed / aggregate), graph as shared canvas, 3-phase build order.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 16:23:43 +03:00
Дмитрий
db0936a072
chore(observer): remove 5 empty unknown-* episode stubs + commit session episodes
...
unknown-<ts>, empty events, fake outcome:success) — zero information.
Removed; remaining episodes carry real data. One-time cleanup of
pre-extension garbage — append-only stays the operational rule.
STATUS.md regenerated by C4.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 13:40:37 +03:00
Дмитрий
be9c934773
feat(observer): AskUserQuestion in-turn choice + parallel_session narrowing
...
#1 — detectAskUserQuestionChoice: when a turn contains an AskUserQuestion
whose answer exactly matches an offered option label, classify as
user_chose_from_options. The answered entry carries a structured
toolUseResult (questions[].options[].label + answers map). A custom
"Other" free-text answer is NOT a pick — falls through. Wired into
parseTranscript after the text-list detector.
#3 — parallel_session: dropped broad word matches (параллельн /
"parallel session") that false-fired on any casual mention. Now only
strong collision evidence (foreign git index / чужой staged /
index.lock / another git process). Best-effort per spec R2 — prefer
false-negative over false-positive.
169/169 tools tests GREEN (+9 new).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 13:39:09 +03:00
Дмитрий
58d09aae85
docs: CLAUDE.md header version drift fix — 2.18 -> 2.20
...
Header «Версия» line lagged at 2.18 while §9 already carried v2.19
(factor-analysis extension) and v2.20 (phase 1.1) entries — pre-existing
drift from 831573d . Header now reflects actual latest version; v2.18
summary demoted to «v2.18 наследие». Full per-version detail stays in §9.
Через /claude-md-management:claude-md-improver (§5 п.10).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 13:39:08 +03:00
Дмитрий
26a7e95c37
docs(supplier): closure — project channel failover epic (12 tasks)
...
Все 12 задач плана docs/superpowers/plans/2026-05-19-supplier-project-channel-failover.md
выполнены. Резервный канал миграции проектов Лидерра → crm.bp-gr.ru:
3 яруса — AJAX rt-project-* → авто-браузер формы «Мои проекты» →
operator worklist (supplier_manual_sync_queue).
Задачи: T1 live recon rt-project-* контракта · T2 SupplierProjectChannel
interface + AjaxProjectChannel · T3 supplier_manual_sync_queue (schema v8.25)
· T4 FailoverProjectChannel escalation matrix · T5 portal-side dedup ·
T6 manage-project.js · T7 FormProjectChannel + DI · T8 wire jobs ·
T9 cron 20:30→18:00 / 20:15→17:45 · T10 admin endpoints · T11 admin UI ·
T12 регрессия + code-review.
Регрессия зелёная: Pest 973/970/0 / 3 skipped / 2847 assertions;
Vitest 882/0 / 3 skipped (111 files); Pint clean; gitleaks 14 commits /
0 leaks; markdownlint + lychee clean. Larastan: изолированный прогон по
supplier-failover файлам — 0 реальных ошибок (полный baseline-drift —
артефакт worktree-env, _ide_helper_models.php отсутствовал; финальная
larastan-верификация — в основной копии после merge, memory quirk).
Финальное code-review (Opus): найден + исправлен 1 CRITICAL (контракт
listProjects — нормализация сырых rt-строк) + I1 (log дедуп-сбоя).
ОГРАНИЧЕНИЯ (не верифицировано в этой сессии):
- Live smoke по 3 ярусам (план T12.1-12.3) НЕ выполнен — требует боевого
портала crm.bp-gr.ru, queue worker, форс-фейлов DI и создания тестовых
проектов на живом портале. Откладывается на отдельную сессию с
присутствием заказчика.
- Code-review I2 (partial-unique индекс supplier_manual_sync_queue от
дубль-эскалаций при job-retry) и I3 (lockForUpdate в manualQueueResolve)
— follow-up до прод-релиза (эпик гейтится Б-1, не в проде).
- Larastan полный baseline — пересинхронизировать в основной копии.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 13:12:30 +03:00
Дмитрий
68c0a21bf9
sessions: claim supplier-project-channel-failover
...
Per Pravila §15.2: pre-flight `git fetch origin && git log HEAD..origin/main` clean
after rebase onto bf09162 . Worktree env restored (composer install + npm ci
--legacy-peer-deps + npm run build + storage/framework dirs); Pest baseline
GREEN 937/934 / 0 failed / 3 skipped / 2756 assertions / 51.7s.
Scope: 17 files (interface + 3 channels + 2 exceptions + 2 jobs + DI + migration
+ schema/CHANGELOG + node script + controller + view + console route).
Version-claim: db/schema.sql v8.21 → v8.22 (Task 3 +supplier_manual_sync_queue).
Closes: docs/superpowers/plans/2026-05-19-supplier-project-channel-failover.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 12:55:04 +03:00
Дмитрий
937274cdc5
docs(brain): phase 1.1 normative sync — user_chose_from_options 3rd kind
...
Pravila v1.32 -> v1.33: §16.2 decision_provenance.kind extended to 3
values (autonomous | user_directed_method | user_chose_from_options);
§16.7 +paragraph «Граница user_chose_from_options» (routing-gate does
not block collaborative-choice); §16.6 +plan cross-ref; §10 +v1.32
(missing) +v1.33 entries.
Tooling §0 cross-ref string Pravila v1.32 -> v1.33 (no header bump).
CLAUDE.md §0 Pravila row v1.32 -> v1.33, §3.6 +phase 1.1 sentence,
§9 +v2.20 entry (via claude-md-management plugin, §5 п.10).
cross-ref-checker: 0 drift in 4 files.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 12:14:12 +03:00
Дмитрий
4069aaa775
docs(observer): implementation plan — phase 1.1 user_chose_from_options
...
5 tasks TDD plan with explicit code per step. Task 1 creates
observer-choice-detector.mjs pure module (23 tests). Task 2 wires
into transcript-parser. Task 3 extends routingGateDecision (no-block).
Task 4 extends brain-retro factor matrix. Task 5 normative sync
(Pravila §16.2 + CLAUDE.md §3.6 + spec cross-ref).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 11:53:53 +03:00
Дмитрий
386bdd4d1a
docs(observer): spec v1.1 — phase 1.1 amendment user_chose_from_options
...
Adds 3rd decision_provenance kind for collaborative-choice case
(user picks one of options Claude offered). Distinct from
user_directed_method: counterfactual = Claude's recommended option,
not "what Claude would have done autonomously". Routing-gate does
NOT block this kind — collaborative choice from Claude-designed
choice-space.
Trigger: 19.05.2026 live false-positives — "1 экономия 0%",
"в делаем", "делай 2" classified as user_directed_method.
§11 + 8 subsections; 7-attribute decision_provenance schema;
new tools/observer-choice-detector.mjs (pure module); parser
+routing-gate +/brain-retro extensions.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 11:47:30 +03:00
Дмитрий
831573d275
docs(brain): observer factor-analysis extension — normative sync
...
ADR-011 amended: +Decision §5 (observer v2 four-layer), §3 4→5
controllers (+C5), Enforcement +routing-gate + C5 bullets, related
+factor-analysis spec/plan.
Pravila v1.31→v1.32: §16.2 +абзац «Схема эпизода v2», §16.3 4→5
контролёров (+C5 row), +§16.7 routing-тег-дисциплина (mechanical
Stop-hook decision:block, stop_hook_active loop guard), +§16.8
самодисциплина наблюдателя (observer_error marker, parse_gap event,
C5 lefthook warn-only), §16.6 +cross-refs на factor-analysis spec/plan.
PSR_v1 v3.16→v3.17: R16.1 +предложение про schema v2 поля и
расширенные события; R16.4 +cross-refs.
Tooling Прил. Н v2.17: §0 cross-ref strings 1.31/3.16 → 1.32/3.17
(no header version bump).
brain-governance spec: related +factor-analysis spec.
observer-factor-analysis-design.md: status draft→accepted.
CLAUDE.md v2.19: §0 Pravila/PSR_v1 cross-refs bumped to v1.32/v3.17
with v2 summary prepended (legacy preserved as «v1.31 наследие» /
«v3.16 наследие»); §3.6 appended observer schema v2 + routing-gate +
C5 + brain-retro analyzer paragraph; §9 +v2.19 entry.
cross-ref-checker: 0 drift in 4 files.
Plan: docs/superpowers/plans/2026-05-19-observer-factor-analysis.md
Spec: docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 11:08:55 +03:00
Дмитрий
bf09162a04
docs(observer): brain-retro skill + README for schema v2
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-19 10:55:37 +03:00
Дмитрий
21297f1c9c
feat(observer): brain-retro analyzer — outcome inference + factor matrix
...
Pure deterministic Layer-4 aggregation module (spec §6) for the /brain-retro
skill. Exports: dedupeEpisodes, inferOutcome, groupEpisodesToTasks,
findCausalChains, buildFactorMatrix, analyze. Read-only — never writes JSONL.
11/11 tests green. CLI smoke: 10 real episodes → valid JSON with all 5 keys.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 10:47:57 +03:00
Дмитрий
45da3b816f
chore(observer): wire C5 coverage-checker into lefthook (job 15)
2026-05-19 10:44:10 +03:00
Дмитрий
5e1891fc28
docs(supplier): plan — project channel failover (12 tasks, TDD)
...
Реализация по спеку 2026-05-19-supplier-project-channel-failover-design.md.
12 атомарных задач:
T1 live discovery + Tier 1 contract verification
T2 SupplierProjectChannel interface + AjaxProjectChannel
T3 supplier_manual_sync_queue table (migration + schema.sql + CHANGELOG)
T4 FailoverProjectChannel skeleton + Window/TierEscalated exceptions
T5 portal-side idempotency dedup
T6 manage-project.js Node script
T7 FormProjectChannel + DI wiring
T8 wire jobs to FailoverProjectChannel
T9 schedule retiming 20:30→18:00, 20:15→17:45
T10 admin worklist endpoints
T11 admin worklist UI
T12 live smoke + final regression
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 10:43:05 +03:00
Дмитрий
93304304ab
feat(observer): STATUS.md — C5 row + observer_error metric
2026-05-19 10:41:17 +03:00
Дмитрий
34d44f42a6
feat(observer): coverage + registration-integrity controller (C5)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-19 10:38:25 +03:00
Дмитрий
f2d04f6afa
feat(observer): Stop-hook routing-gate enforcement
2026-05-19 10:34:57 +03:00
Дмитрий
682e4068ea
feat(observer): Stop-hook v2 episode + observer_error marker
2026-05-19 10:31:37 +03:00
Дмитрий
71c6845653
feat(observer): routing-gate method-direction detector
2026-05-19 10:27:23 +03:00
Дмитрий
c0f6c42195
feat(observer): parser v2 — process events, routing-tag, episode assembly
2026-05-19 10:23:08 +03:00
Дмитрий
9a20707d36
docs(supplier): spec — project migration channel failover (3-tier resilience)
...
Резерв канала миграции проектов Лидерра → crm.bp-gr.ru:
AJAX rt-project-* → авто-браузер «Мои проекты» → operator worklist.
4 секции согласованы заказчиком поэтапно 19.05.2026.
Зеркало входящего дизайна (webhook + CSV-сверка):
2026-05-18-supplier-csv-reconcile-channel-design.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 10:20:01 +03:00
Дмитрий
e101949c27
feat(observer): parser v2 — environment, task_size, prompt_signal extractors
2026-05-19 10:15:17 +03:00