Дмитрий
4fed9dbf97
docs router-mentor: worklog finale - fix3 done + F-K + revert incident for brain
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 11:22:27 +03:00
Дмитрий
f67acb2186
feat router-mentor: arbitration fixes 1+2+3 - verdict visibility, round-memory judge-self-history and mentor-re-eval, owner-seal arbitration; 29/29 tools green
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 11:13:52 +03:00
Дмитрий
e4c920aebf
docs: lead-region merge runbook + domain-blockers F-T1/F-T2/F-P1 verification
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 09:04:00 +03:00
Дмитрий
f4d623a39e
docs: compact CLAUDE.md to v2.47, move history and phase journal to CHANGELOG
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-15 17:01:15 +03:00
Дмитрий
cdd3cbfa3b
feat: research-tooling Perplexity Pack #87-89 — registry/router/normative sync + ADR-019
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 15:44:42 +03:00
Дмитрий
4edc0b6bd4
docs mentor: git-approval commit recipe in GUIDE
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 13:43:42 +03:00
Дмитрий
5f099eaaa0
docs mentor: escape-door activation note in GUIDE
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 13:34:13 +03:00
Дмитрий
9e6d35710c
feat(research): Perplexity Pack — вет IS9 + перенос 3 MCP-серверов research-tooling (plan-v13, owner waiver)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 12:47:49 +03:00
Дмитрий
8329f679fb
docs(mentor): гайд стены — floor-safe планы + judge-timeout 90с (уроки 14.06)
...
Частые ошибки +floor-safe планы (не ставить node -e/curl/rm-rf/PS-write/runtime-write Bash-шагами плана — пол блокирует, стена после Δ7+ встаёт колом, escape не двигает указатель; файловые операции — Write/Edit). Async-нота: per-attempt таймаут тяжёлых LLM 30с→90с.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 11:00:06 +03:00
Дмитрий
d796457f9a
docs(research): спека интеграции Perplexity Pack (off-phase research-tooling)
2026-06-14 08:55:55 +03:00
Дмитрий
88191eba2b
docs(mentor): гайд стены — maintenance toggle + рецепт коммита со STATUS.md
...
Ещё два пользовательских пункта (по запросу владельца): (A) maintenance — точные шаги выключить/включить стену через settings.json hooks; (D) если lefthook ругается на STATUS.md — git restore --staged --worktree перед commit. Согласовано.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 08:07:26 +03:00
Дмитрий
a4f478c2ba
docs(mentor): гайд стены — перезапуск≠сброс плана + память/правила требуют разрешения
...
Два пользовательских пункта по итогам сессии 14.06: (B) перезапуск Claude Code перечитывает settings.json, но не сбрасывает застрявшую печать/сессию — сброс через досрочное завершение или новую церемонию с другим именем; (C) запись в память/правила про саму стену by-design требует escape владельца или maintenance. Согласовано владельцем (в+с).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 08:03:18 +03:00
Дмитрий
a49b39833d
docs(mentor): процедура escape владельца (FLOOR-ESCAPE токен) в гайд стены
...
Зафиксирована процедура разового подписанного пропуска floor_escape: владелец пишет метку FLOOR-ESCAPE: <action> в ответе AskUser, среда подписывает ключом, окно 5 мин, одноразовый. Формат canonicalAction (bash/powershell/skill/write/mcp). Найдено по запросу владельца «расскажи и отметь в инструкции» (сессия 14.06).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 07:04:26 +03:00
Дмитрий
4f9d735e4d
revert(wall): откат Post-advance — PostToolUse не срабатывает на упавшем Bash
...
Live-смоук: PostToolUse не запускается на exit≠0 → Post не двигает указатель на RED-шагах. Код возвращён к Pre-advance (3928 GREEN). Спека/план помечены ОТВЕРГНУТО. Настоящий фикс desync = перестановка skill-discipline перед supreme-gate.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 06:11:11 +03:00
Дмитрий
ad76cdf496
fix(wall): supreme-gate сдвигает указатель на PostToolUse (фикс рассинхрона)
...
Pre-такт = ворота + журнал-намерение (без сдвига); Post-такт = сдвиг по подтверждённому исполнению. Лечит desync при блоке поздним хуком / user-deny. +runGatePre/runGatePost/isPostEvent, runGate → compat-обёртка. Регрессия tools-only 3938 passed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 05:34:33 +03:00
Дмитрий
af14d00988
docs(mentor): спека робастного фикса supreme-gate — сдвиг указателя на PostToolUse
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 05:09:32 +03:00
Дмитрий
e0442ef71c
feat(mentor): тупой судья навыков + фикс роутера prefilter-bypass
...
- router: classify({skipPrefilter}) — наставник зовёт мозг роутера мимо detectMicro
(ловил 'format' подстрокой в имени модуля → роутер не доходил до LLM); recommendedChainOf
в on-plan-write маппит node/recommended_node/recommended_chain (рекомендация не теряется)
- skills в ПОДПИСАННУЮ печать (Вариант 1): sealablePlan/freezePlan/sealPlan
- стена: isPlanDeclaredSkill — объявленный в опломбированном плане навык вызываем (снимает дедлок)
- enforce-domain-skill-discipline (новый хук): объявил → обязан вызвать (журнал M1) до
первого мутирующего шага; поверх готового domain-skill-discipline
- гайд docs/superpowers/router-mentor-wall-GUIDE.md + дизайн/план-доки
- регрессия tools-only 3928 passed + 2 skip, 0 регрессий
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 04:08:53 +03:00
Дмитрий
37ce1ae2ea
feat(wall): оркестратор наставник-судья - строгая последовательность печати
...
Новый enforce-mentor-then-judge.mjs запускает наставника дочерним процессом до конца, потом судью (свежий mentor-GO/вердикт) - убирает гонку параллельных PostToolUse-хуков. Машины enforce-mentor-on-plan-write/enforce-judge-gate байт-в-байт не тронуты. Зарегистрирован в settings.json. TDD +5 тестов.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 17:15:37 +03:00
Дмитрий
52e116ecee
docs(mentor): спека+план мержа роутер↔наставник + протокол сессии Р1-Р9 + l1-l2 redesign
...
Design-of-record для коммита cd1c4609 (мерж роутера в наставника):
- specs/plans 2026-06-13-router-mentor-merge-* (спека простым языком + 9-задачный TDD-план)
- session-protocol-2026-06-13 (решения Р1-Р9, записи только по команде владельца)
- specs/plans 2026-06-13-l1-l2-negotiation-redesign-* (redesign согласования, Фазы 0-6)
- cspell-words.txt +8 терминов (скилам/грепом/Пивот/таймаутил/эмбеддинги/мержа/стэк/вызыватель)
- markdownlint MD032 авто-фикс (пустые строки вокруг списков)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 11:42:09 +03:00
Дмитрий
2a50c91882
feat(mentor): degraded-судья диагностируем — cause(no_key/transport_error)+errorType+at
...
Разбор «перемежающегося degraded судьи» по systematic-debugging: действующего
бага нет (ключ SET, 28/28 вердиктов чистые, degraded-строки несверяемы — at:null,
без парного WARN). Гипотеза «retry/таймаут» не подтверждена → таймаут не трогали.
Вместо этого закрыта слепота диагностики (TDD, под maintenance):
- callJudgeModel различает no_key vs transport_error+errorType (classifyLLMError);
- причина протекает в вердикт → warnJudgeUnavailable (+cause/error_type/at) и seal-запись;
- main() передаёт nowMs: Date.now() → seal/verdict/warn больше не at:null (логи сверяемы).
Файлы: tools/seal-log.mjs, tools/enforce-judge-gate.mjs. +9 тестов; 2 exact-match
приведены к новому контракту. Регрессия tools-only 3829 GREEN (база 3820), 0 регрессий.
cspell-words.txt +8 терминов. Роадмап: секция «Печать M7» + degraded-наблюдаемость.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 04:12:53 +03:00
Дмитрий
9f99b4ead4
fix(mentor): печать плана M7 — снять дедлок судья↔наставник + наблюдаемость seal-attempts
2026-06-13 03:40:20 +03:00
Дмитрий
c149eef224
docs(mentor): roadmap двухуровневые переговоры (волны 1-7) + cspell
2026-06-12 19:35:46 +03:00
Дмитрий
155e9dc24a
docs(mentor): two-level negotiation spec-v2 (anchored) + plans
2026-06-12 19:15:48 +03:00
Дмитрий
27082a42de
feat(mentor): wire mentor surface + counter + escalation card (wave 7)
2026-06-12 19:09:59 +03:00
Дмитрий
31e044d6d5
feat(mentor): wire judge escalation to arbitration card (wave 6)
2026-06-12 19:03:59 +03:00
Дмитрий
c3e72f6a54
feat(mentor): objection-format judge+mentor formatters (waves 4-5) - 9 tests green
2026-06-12 18:43:43 +03:00
Дмитрий
75b832ad9e
feat(mentor): negotiation-section parser (wave 3) - 4 tests green
2026-06-12 18:30:05 +03:00
Дмитрий
d0d175c9b6
feat(mentor): arbitration-card pure builder (wave 2) - 6 tests green
2026-06-12 18:26:17 +03:00
Дмитрий
9eeb23073d
feat(mentor): mentor NO-GO counter L1 (wave 1) - 3 tests green
2026-06-12 17:59:24 +03:00
Дмитрий
09620f368e
feat(m7): re-plan на ходу (impl-карвут) + эскалация судьи (escape-honor + счётчик NO-GO) + docs-хвост
2026-06-12 15:48:17 +03:00
Дмитрий
a83e383648
docs(mentor): тест-гейт Ф8 пройден 3754+2 GREEN + пусковой рецепт регрессии (npx, не app/node_modules — баг vitest 4.1.5 на out-of-root)
2026-06-12 11:10:42 +03:00
Дмитрий
33e486efcf
docs(mentor): роадмап — хвосты вычеркнуты (env-фикс был в fb4f179b, Связано: в шаблоне) + журнал bugs.md в репо + observer refresh
2026-06-12 10:52:24 +03:00
Дмитрий
e523b1ec49
docs(mentor): инцидент 12.06 — вход Фазы 8 на main, баннер в handoff #5 , судьба d1ad4e85 (cherry-pick только внутри Ф8) + cspell словоформы + observer refresh
2026-06-12 10:45:53 +03:00
Дмитрий
fb4f179bb1
chore(mentor): роадмап эпика 2026-06-12 + env ROUTER_LLM_BASE_URL в observer-self-assessment-api (зеркало транспорт-фикса, TDD) + cspell словоформы. Регрессия tools 3754 GREEN
2026-06-12 08:14:35 +03:00
Дмитрий
6af37af7c0
fix(mentor): smoke этап 4 пройден — деталь ошибки транспорта в catch вердикта + env ROUTER_LLM_BASE_URL в дефолте callAnthropicAPI (смена оператора на aitunnel) + контракт массива строк в промпте plan_points_addressed (F-C3); runbook этап 4 + env-таблица + блок смены оператора; smoke-план; cspell +aitunnel и словоформы. Регрессия tools 3753 GREEN
2026-06-12 07:55:31 +03:00
Дмитрий
dc93e7eab5
feat(strict-llm-keys): оба строго — судья только ROUTER_JUDGE_LLM_KEY, наставник только ROUTER_MENTOR_LLM_KEY, общий ROUTER_LLM_KEY не фолбэк (решение владельца 2026-06-12; resolveJudgeLlmKey/resolveMentorLlmKey + env-тесты строгости + runbook-таблица ключей)
2026-06-12 06:39:17 +03:00
Дмитрий
5fba781936
feat(mentor-activation): активационная обёртка наставника — рубильник SEAM + journal/verdict store + export PLAN_PATH_RE + контекст-в-плане + producer-хук PostToolUse + freeze-gate зубы в печать судьи (план T1-T7 + sharp-edges W-1..W-4)
2026-06-12 05:51:41 +03:00
Дмитрий
e86581feaf
docs(mentor): runbook активации роутера-наставника — 5 этапов для владельца (обёртка → флаг → регистрация → smoke → обкатка)
2026-06-11 20:15:29 +03:00
Дмитрий
142e620531
fix(mentor-finreview): финревью Фазы B 5-скил — FR-1 freeze-gate VF-1/SE-A1 inline + FR-2 единый рендер районов/staleness (W1-канон) + FR-4 balanced-парс JSON + VA-1 единый рендер контекста/ДР-1 + VA-2 маркер КОНТЕКСТ ПУСТ + VA-3 валидация request_district + F-C2-6/W7 ноты
2026-06-11 20:10:42 +03:00
Дмитрий
05714e978d
feat(mentor-integration): боевая проводка C2 — W1 catalog≠graph+районы (М3) + W2 гейт ДР-1 в стене (М2, аддитивно) + W3 onPlanWrite + W4 warn-прокидка O18 + W6 интеграционный тест + W7 контракты (sub-plan C2 + Д-С2-1..7 + sharp-edges F-C2-1..5)
2026-06-11 19:09:39 +03:00
Дмитрий
3e5cd6a504
docs(router-mentor): sub-plan A-E R6.3 amendments — все 24 находки ревью закрыты (C-1/нах.F1-F7/SE1-SE13/VF-1/V-1..6)
2026-06-11 13:25:12 +03:00
Дмитрий
29f1eba183
docs(router-mentor): спека R6.3 хвост — фолд ревью 5-скил цепочки
...
- §6.2 binding вердикт↔plan_hash (нах.F4), §5.5 INFERRED-guard (VF-1), §5.3 дозапрос соседа (нах.F7), §5.7/§8 радары=код (нах.F2), §10 карта закрытия, §0 changelog R6.3, шапка Статус R6.3
- §6.1 развод ролей уже в 2eb65f67; закрытие C-1 + нах.F1-F7 + VF-1 + V-1/V-2/C-3 (детали §10)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-11 12:59:31 +03:00
Дмитрий
b7c93afa2d
docs(router-mentor): sub-plan C2 (манифест интеграции V-1) + F (радары нах.F2)
...
- C2: реестр деферралов W1-W7 (renderDistricts/«(100%)», reading-wiring, onPlanWrite, warn, мастер-порядок, интеграционный тест, контракты инъекций)
- F: graph-radar + skeleton-radar (проверка полноты §8 Q3)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-10 16:25:17 +03:00
Дмитрий
2eb65f67cb
docs(router-mentor): R6.3 §6.1 развод ролей наставника (C-1) + edit-план ревью
...
- спека §6.1 +R6.3 «два выхода наставника»: выбор-скила (router-трасса) vs разбор-плана (mentor-вердикт runMentorVerdict + onPlanWrite) — корень C-1
- новый edit-план (10 задач, 24 находки ревью 5-скил цепочки: F1-F7/SE1-SE13/VF-1/V1-V6/C1-C4)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-10 16:17:10 +03:00
Дмитрий
25826e1ba4
docs(router-mentor): sub-plan B+D+E+C — декомпозиция R6.2 завершена
2026-06-10 14:31:01 +03:00
Дмитрий
6199472ee8
docs(router-mentor): R6.2 + sub-plan A + handoff-2
2026-06-10 13:36:57 +03:00
Дмитрий
2aea040125
docs(phase8): refresh снимок+runbook + paste-ready settings.json блок
...
После закрытия M6 FIX-5 и верификации тест-гейта §9.2:
- 2026-06-10-phase8-state-snapshot.md: HEAD f2aa3fb7→33894a62; M6 FIX-5 из
«отложено» → закрыто (key-gated); D-3 доска live → закрыта (c9f823df );
регрессия 3449→3478; §9.2 верифицирован зелёным (предусловие C закрыто).
- 2026-06-09-phase8-deployment-runbook.md: Prerequisites регрессия →3478 +
§9.2 verified; +строка History 2026-06-10.
- 2026-06-10-phase8-settings-paste-block.md (новый): paste-ready записи для
settings.json — 13 хуков защитного контура (PreToolUse 10 / PostToolUse 2 /
Stop 1) + companion + список снятия зоопарка (~20). Merge-not-replace, атомарно,
пол #1 ДО снятия router-gate. Референс для владельца (Claude settings.json не пишет).
Только docs. Активация Фазы 8 (settings.json/keychain/ENV) — шаги владельца.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 05:52:32 +03:00
Дмитрий
33894a625a
docs(escape-sign): отметить M6 FIX-5 как РЕАЛИЗОВАНО (спека §12 + план чек-боксы)
...
После закрытия реализации M6 FIX-5 (3 задачи TDD + гейт закрытия, регрессия
3478+2skip GREEN):
- spec 2026-06-10-floor-escape-signing-design.md: статус ЧЕРНОВИК → РЕАЛИЗОВАНО;
§12 боксы «Ревью владельца» + «writing-plans» → [x] (+пометка одобренного
отклонения Task 3: быстрый путь).
- plan 2026-06-10-floor-escape-signing.md: +статус-баннер (РЕАЛИЗОВАНО, регрессия,
отклонение Task 3); все рабочие чек-боксы (Task 1/2/3 + гейт) → [x].
Только docs. Прод-код инертен до провижининга ключа (Фаза 8).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 05:38:21 +03:00
Дмитрий
04cae7bc04
feat(escape-sign): reader key-gated verify floor_escape (M6 FIX-5 Task 3)
...
loadFloorEscapes (единственный ВЫДАЮЩИЙ читатель floor_escape) теперь key-gated
проверяет подпись: ключ есть → оставить только валидно-подписанные (форж/
неподписанный/битый отброшены); нет ключа (truthy) → принять все (как сегодня,
content-floor backstop).
- Рефактор: generic loadRecords → floor_escape-специфичный readFloorEscapeRecordsAt,
возвращает ПОЛНЫЕ записи {type,action,ts,sig} (не stripped) для верификации.
Единственный вызыватель — loadFloorEscapes (loadConsumed читает другой файл).
- loadFloorEscapes(sessionId, now, {keyImpl, fsImpl, runtimeDir}) — 3-й опц.
аргумент, обратно-совместим (8 потребителей зовут loadFloorEscapes(sess)).
- ОТКЛОНЕНИЕ от дословного кода плана (одобрено владельцем): быстрый путь —
пропусков нет → [] БЕЗ резолва ключа. Поведение §3/§6 идентично, но keychain-
subprocess не дёргается на каждый tool-use в массовом пустом случае
(loadFloorEscapes — gate hot-path; 5 из 8 потребителей keychain не читали).
TDD: 6 новых тестов — 4 key-gated (signed принят / forged+tampered отброшены /
ключ null → все / '' falsy → все / окно 5 мин), 2 на быстрый путь (нет записей /
нет файла → [] без вызова ключа). Регрессия существующего escape-grant GREEN
(26 тестов). Суммарно 32 GREEN по затронутым файлам.
План: docs/superpowers/plans/2026-06-10-floor-escape-signing.md (Task 3)
Прод-код инертен до провижининга ключа (Фаза 8). Гейт закрытия — следующим шагом.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 05:28:40 +03:00
Дмитрий
dc7f6dd979
feat(escape-sign): writer подписывает floor_escape при наличии ключа (M6 FIX-5 Task 2)
...
processEvent (PostToolUse AskUser) теперь подписывает floor_escape-пропуск
подписью FLOOR_ESCAPE, когда ключ доступен (resolveReceiptKey):
- +keyImpl=resolveReceiptKey, fsImpl={appendFileSync,mkdirSync} — инъекция для
hermetic-тестов; резолв ключа один раз на событие (fail-safe: ошибка → key=null
→ floor_escape пишется неподписанным, PostToolUse-наблюдаемость не ломается).
- esc подписывается только при наличии ключа; approve_git_operation (rec) НЕ
трогаем (§2.2). Нет ключа → esc без sig (как сегодня).
- Запись через fsImpl.* вместо прямых node:fs.
TDD: 2 новых теста (ключ → валидная подпись; ключ null → без sig). Регрессия
существующего enforce-askuser-answer-parser GREEN (approve_git_operation-путь цел).
Суммарно 10 GREEN по затронутым файлам.
План: docs/superpowers/plans/2026-06-10-floor-escape-signing.md (Task 2)
Прод-код инертен до провижининга ключа (Фаза 8).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 05:16:15 +03:00