Дмитрий
e362fd24a6
fix(m2): указатель шага подписан (HMAC step-ptr) — подмена ptr → сброс (R-19)
2026-06-05 06:23:35 +03:00
Дмитрий
527acd7cf3
fix(brain): доменное разделение подписи — план/артефакт/журнал/расписка не взаимозаменяемы (R-31/J6)
2026-06-05 06:21:19 +03:00
Дмитрий
109e35fbc8
fix(m2): session_id из stdin-события, не из env — сессии больше не слипаются (R-28/J3)
2026-06-05 06:09:45 +03:00
Дмитрий
1267bfe267
docs: реестр — R-27 закрыт (указатель ↔ план), исправлено 10, открытых багов кода нет
2026-06-05 04:22:11 +03:00
Дмитрий
d138bd5f0e
fix(m2): указатель шага привязан к plan_id — перепечать сбрасывает указатель (R-27/J2)
2026-06-05 04:21:05 +03:00
Дмитрий
ee22c64d9e
docs: единый реестр замечаний по реинжинирингу мозга v2 (R-01..R-31)
2026-06-05 04:18:07 +03:00
Дмитрий
86b48a10ef
fix(m2): decide самодостаточно проверяет печать артефакта (защита-в-глубину) (F2)
2026-06-05 04:05:22 +03:00
Дмитрий
ee7e483e29
fix(m2): actionOf — поля объекта выровнены с B4 (ловит MCP filename/uri/destination) (F1)
2026-06-05 04:04:09 +03:00
Дмитрий
87a2eb96f9
docs(m2): аудит Машины 2 — куча (T1-T9 хвосты + F1-F3 замечания + фикс-сет)
2026-06-05 04:03:03 +03:00
Дмитрий
8b76b107c4
docs(m4): K6 анти-откат high-water-mark — несрываемый контракт судьи (B3 переадресован M2→M4)
2026-06-05 03:59:19 +03:00
Дмитрий
27a7cc9a18
fix(m1): extractPath — расширены path-поля (ловит MCP filename/uri/destination) (B4)
2026-06-05 03:42:40 +03:00
Дмитрий
558f0a4253
fix(m1): seq+ts входят в chain_hash журнала — подмена метаданных ломает цепь (B2)
2026-06-05 03:41:38 +03:00
Дмитрий
9cb56e4eb5
docs(m1): аудит Машины 1 — хвосты (A1-A4) + замечания (B1-B4) + фикс-сет
2026-06-05 03:40:13 +03:00
Дмитрий
72dbd67d11
docs(m3): итоговая сводка отложенного по Машине 3 (9 пунктов, ждут Машину 4/шаг владельца)
2026-06-05 03:29:44 +03:00
Дмитрий
317682b59c
feat(m3-d): контракты + look-ahead в промпт роутера + проброс runRouter (фикс-2)
2026-06-05 03:24:49 +03:00
Дмитрий
929ad55f2c
feat(m3-d): нюх 5.3 + интервьюер 4.4 в промпт роутера (фикс-3)
2026-06-05 03:23:11 +03:00
Дмитрий
cb01a482d0
feat(m3-a): checkContractNeutrality — G1 страж нейтральности этикетки (фикс-5, опц.)
2026-06-05 03:22:07 +03:00
Дмитрий
688ff61da2
feat(m3-a): dispatchContract — G3 детерминированная диспетчеризация точно|мягко (фикс-4)
2026-06-05 03:20:55 +03:00
Дмитрий
0c07530195
fix(m3-b): resolveNode заземляет skill-ref по префиксу (superpowers:X -> #19 ) — фикс-1
2026-06-05 03:18:26 +03:00
Дмитрий
1ecbab5eb7
docs(m3): аудит-сверка 2026-06-05 + фикс-сет 1-5 (G1-G6 расклад, заземление, look-ahead, нюх/интервьюер)
2026-06-05 03:17:20 +03:00
Дмитрий
35e05d2ac9
docs(m3): build summary + follow-up list in questions log (Машина 3 complete)
2026-06-04 19:52:30 +03:00
Дмитрий
63fb924493
test(m3-e): learning hard-rule invariants + plan — Машина 3 собрана
...
Машина 3-E «Очередь одобрений + ручка разведки» собрана (TDD): router-learning-queue.mjs
(propose-only + owner batch approval + render/signal/persist; hard-rule «без да — никак»)
+ router-exploration.mjs (ручка %разведки=0 default, проба=вопрос владельцу, риск-гард).
19 новых тестов. Финальная регрессия tools-only 2212 GREEN.
МАШИНА 3 (Роутер-наставник) собрана целиком: 3-A контракты / 3-B граф узлов /
3-C машина охвата / 3-D движок роутера / 3-E очередь обучения. Доставка в живую
инфру (STATUS/brain-retro), K4-поправка, live-wiring, перенос волн — follow-up
после Машины 4 (журнал вопросов).
2026-06-04 19:51:45 +03:00
Дмитрий
15d71658f6
feat(m3-e): exploration knob ( #3 ) — probe = owner question, off by default + risk-guard
2026-06-04 19:50:31 +03:00
Дмитрий
34bfaa9fb9
feat(m3-e): learning queue — propose-only + owner batch approval + render/signal/persist (hard-rule no auto-fill)
2026-06-04 19:49:32 +03:00
Дмитрий
da4831a3b6
test(m3-d): router-engine invariants on real graph + plan + questions log
...
Машина 3-D «Движок роутера» собрана (TDD): router-engine.mjs (detectHighRisk 6.1
детерминированный / validateLevelSkip 6.2 / cheaperOf / validateTrace 5.1 /
groundTrace ОВ-Д2 / buildRouterPrompt+parse+runRouter, llmCall мокается как
router-classifier) + step-pointer.mjs (дерево-указатель волн D6/OQ1, стендово).
35 новых тестов, регрессия tools-only 2193 GREEN. K4-поправка к стене + live-wiring
+ перенос волн в живой main — ОТЛОЖЕНО до Машины 4 (журнал вопросов).
2026-06-04 19:46:09 +03:00
Дмитрий
3b39f624cc
feat(m3-d): step-pointer tree (waves D6/OQ1) — standalone, not yet wired into M2
2026-06-04 19:45:04 +03:00
Дмитрий
22f144522d
feat(m3-d): router-engine — risk(6.1)/skip(6.2)/price + trace 5.1 + grounding(ОВ-Д2) + buildRouterPrompt/parse/runRouter (llmCall injected, mocked)
2026-06-04 19:43:57 +03:00
Дмитрий
404a938256
test(m3-c): coverage-machine invariants on 3-A contracts + plan
...
Машина 3-C «Машина охвата A/B/C/D» собрана (TDD): coverage-machine.mjs —
A граф зависимостей (buildDependencyGraph/topoOrder/findHoles/decompositionGroups),
B реестр нужды↔решения (coverageRegistry: дыры+сироты), C requestsChecklist,
D ограничения как нужды (effectiveNeeds), хребет readinessChecklist (4 галочки + §).
Независимый верификатор охвата (рычаг E §6.3). 19 новых тестов, регрессия 2158 GREEN.
2026-06-04 19:26:21 +03:00
Дмитрий
32a19f3a08
feat(m3-c): coverage-machine A/B/C/D + readinessChecklist (C-14, set/graph ops)
2026-06-04 19:23:02 +03:00
Дмитрий
62030e23a7
test(m3-b): node-graph invariants on real registry + plan
...
Машина 3-B «Граф узлов из реестра» собрана (TDD): node-graph.mjs поверх
loadRegistry — buildNodeGraph/resolveNode (ОВ-Д2 заземление) + twinsOf
(subcategory) / hintLinksOf (chains) / conflictsOf (явные) + checkGraphFreshness
(3.6). 20 новых тестов, регрессия tools-only 2139 GREEN.
2026-06-04 19:19:00 +03:00
Дмитрий
06ac8b80dc
feat(m3-b): node-graph from registry — buildNodeGraph/resolveNode (ОВ-Д2) + twins/hints/conflicts + freshness 3.6
2026-06-04 19:17:50 +03:00
Дмитрий
6e3de1aca6
test(m3-a): contract fixtures (own+external) + 3-A invariants + plan + questions log
...
Машина 3-A «Контракты скилов» собрана (TDD): skill-contract.mjs (схема C-13/L
+ form validator + normalize/accessors + G4 drift-guard) + skill-contract-registry.mjs
(buildRegistry/loadRegistry). 28 новых тестов, регрессия tools-only 2119 GREEN.
Образцы own (writing-plans) + external (operations:process-doc). Журнал вопросов заведён.
2026-06-04 19:12:47 +03:00
Дмитрий
99b82699be
feat(m3-a): skill-contract-registry — buildRegistry (validate/dedupe/drift) + loadRegistry (disk)
2026-06-04 19:11:28 +03:00
Дмитрий
901a65237f
feat(m3-a): skill-contract schema + form validator + normalize/accessors + G4 drift-guard (C-13/L)
2026-06-04 19:10:24 +03:00
Дмитрий
d2c828a228
docs(router-mentor): sync 26-point coverage map with M2 build + M3 canon
...
Сверка 2026-06-04: все 26 назначений «пункт → машина» актуальны и
непротиворечивы (собранное в M2 подтверждено по коду). Внесены 6 пометок
дельты, назначения по машинам не менялись:
- п.15: default-deny уточнён зелёным проходом (finding 9) + узкое Write-
исключение K4 (Вариант А, реализуется в 3-D)
- п.23: D29 как отдельный сверщик растворён → роль у артефакта + закрытой
двери (C-7); якорь «сырая просьба» сохранён в P16-e (M3)
- п.24: добавлен контракт K5 (судья судит план как будущее, «проверено» за
факт не берёт; реальное проверено = рантайм-сентинел M5)
- п.26: routing-tag ещё живой, редизайн escape отложен в M6
- мастер-карта: K5 добавлен в аварийный блок Машины 4 (рядом с K1/K2)
- чертёж M2: условие В синхронизировано с каноном K4 (читаемый .md через
узкое исключение; печать seal — только каналом одобрения)
2026-06-04 18:59:52 +03:00
Дмитрий
21f22ca81e
docs(router-mentor-m3): M3 shape + K4 resolution (Variant A) + router discipline (§6) + K5 judge-rule-2 contract
...
Brainstorm 2026-06-04: K4 artifact-write narrow exemption; 5 sub-plans (3-A..3-E); router-discipline levers A-G; 3-layer=triage+delegate-to-real-nodes; skill-imitation closure (234/236); criterion-not-verified judge rule (K5, loud block for Machine 4). All 6 review findings closed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 18:43:43 +03:00
Дмитрий
18a18cfa08
test(m2): supreme-wall invariants — default-deny/seal/seed/step-match (Task 9)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 16:49:29 +03:00
Дмитрий
a982580e43
feat(m2): door-coverage — auditDoors (forgotten-channel) + auditExempt (green-pass safety) (Tasks 7,14)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 16:49:10 +03:00
Дмитрий
8642fe85ea
feat(m2): supreme-gate — seeds/decide/runGate/decideMode/observe-only/closed-door (Tasks 4-6,10,13,12)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 16:48:49 +03:00
Дмитрий
3772eaf756
feat(m2): plan-lock — freeze/verify/match/persist/reconcile/2nd-seal/closed-door (Tasks 1-3,8,11,12)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 16:48:30 +03:00
Дмитрий
46ffb0d02a
docs(router-mentor-m2): actualize blueprint with C/L + fresh-eyes revision + cross-machine contracts
...
- Машина 2 чертёж: вшита C/L-надстройка (два плана, две печати, закрытая дверь, контракт скила), решения A-K
- Fresh-eyes ревизия 2026-06-04: findings 1-5 (закрытая дверь починена: ref+artifact_id+версия+persist+who-seals), 6-7 (D29 поглощена слоем, D33 → два режима), 8 (растворён призмой нет-болтовни), 9 (зелёный проход = нет долговременного/исходящего эффекта + условия А/Б/В), мелочи 10-12
- Аварийный блок межмашинных контрактов K1-K4 (М4/М5/М3) — без них зелёный проход и снятие D29 = дыры
- Мастер-карта: НАДСТРОЙКА C/L, Машина 1 собрана, красные маркеры K1-K4 в разделах М3/М4/М5
- Дизайн-спека: D33 ревизия (нет болтовни → два режима) + баннер секции
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 15:37:26 +03:00
Дмитрий
52ddf774de
docs(router-mentor): M2 review 2026-06-04 — C-1..C-14, L-series, M1 confirmed no-rework
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 12:27:12 +03:00
Дмитрий
933b1efba5
docs(router-mentor): handoff для новой сессии — решения Машины 2 A/B/заморозка + остаток C-G
2026-06-04 06:02:32 +03:00
Дмитрий
cbb70b3985
chore(imitation): remove DB password from tracked phpunit.xml (B4)
...
DB_USERNAME/DB_PASSWORD now come from the untracked local .env (dev creds postgres/liderra_dev_pass that already match liderra_testing on the same local Postgres). phpunit.xml keeps only the non-secret DB_DATABASE/DB_CONNECTION override. Verified: tests still connect (FakeDaDataClientTest 3/3 GREEN) without the env vars in phpunit.xml. .env.testing remains gitignored.
2026-06-04 05:21:39 +03:00
Дмитрий
5a80a93e06
docs(imitation): phase 1 runbook + results report
...
Manual UI walkthrough, imitation:seed usage, natural-cycle observation, report template, and the filled Phase 1 results: imitation suite 54/54 GREEN; findings (F1 seedPhoneRange fixed, F2/F3 plan-vs-resolver tag/unknown, money bcmath kopeck-clean, step-3 substitution, orphan-lead resting place); regression note (22 single-process failures are pre-existing pollution, confirmed green in isolation; imitation prod changes verified).
2026-06-04 05:20:22 +03:00
Дмитрий
f3e214e22a
feat(imitation): imitation:seed command to populate local portal
...
Self-contained app-namespace artisan command (NEVER on production) that funds local imitation clients on a shared B2 supplier, disables DaData (region from tag), rebuilds the routing snapshot, then injects synthetic leads through the real RouteSupplierLeadJob so deals/charges/notifications appear for hands-on UI review. The lead payload encodes the supplier unique_key as a domain so RouteSupplierLeadJob re-resolves the real supplier (parseProjectField then resolveOrStub). Test asserts exit 0 + new deals.
2026-06-04 05:09:29 +03:00
Дмитрий
efee04b5d4
test(imitation): topologies + money + intake checks
2026-06-04 04:58:20 +03:00
Дмитрий
852be5eae0
test(imitation): X1 step-3 substitution + X3 source breakdown
2026-06-04 04:45:37 +03:00
Дмитрий
aadfcafc96
test(imitation): scenarios G5/G6 special leads + dedup
2026-06-04 04:38:12 +03:00
Дмитрий
c3ee3e77c6
test(imitation): scenario G3 orphan lead
2026-06-04 04:29:35 +03:00