diff --git a/docs/observer/STATUS.md b/docs/observer/STATUS.md index 30e32cd0..d7de1c10 100644 --- a/docs/observer/STATUS.md +++ b/docs/observer/STATUS.md @@ -1,6 +1,6 @@ # Brain Status (auto-generated) -Last updated: 2026-06-14T03:11:23.658Z +Last updated: 2026-06-14T04:04:33.419Z | Контролёр | Состояние | Детали | |---|---|---| @@ -8,30 +8,30 @@ Last updated: 2026-06-14T03:11:23.658Z | C2 Cross-ref consistency | ✅ | [cross-ref-checker] OK — 0 drift in 4 files | | C3 Observer-of-observer | ✅ | [observer-of-observer] OK — last read 2 week(s) ago | | C4 Сигнальный статус | ✅ | This file (self-reference) | -| C5 Observer-coverage | ✅ | 1327 episode(s) this month · Stop-hook + post-commit OK | +| C5 Observer-coverage | ⚠️ | 1336 episode(s) this month · observer-stop-hook NOT registered in .claude/settings.json Stop hook | | C6 Chain map sync | ✅ | [chain-map-checker] OK — 16 chains in sync | ## Кто на посту (оборона М1–М6) -⚠️ **ПОСТ ПУСТОЙ** — не зарегистрированы: enforce-floor.mjs, enforce-supreme-gate.mjs, enforce-judge-gate.mjs, enforce-snapshot.mjs, enforce-floor-escape-consume.mjs, enforce-skill-journaler.mjs, enforce-verify-gate.mjs, enforce-criterion-gate.mjs (оборона НЕ подтверждена; SE-B/Δ8) +⚠️ **ПОСТ ПУСТОЙ** — не зарегистрированы: enforce-floor.mjs, enforce-supreme-gate.mjs, enforce-normative-content-rules.mjs, enforce-read-path-deny.mjs, enforce-mcp-classification.mjs, enforce-judge-gate.mjs, enforce-snapshot.mjs, enforce-floor-escape-consume.mjs, enforce-skill-journaler.mjs, enforce-verify-gate.mjs, enforce-criterion-gate.mjs, enforce-coverage-verify.mjs, enforce-todowrite-skill-verifier.mjs (оборона НЕ подтверждена; SE-B/Δ8) Судья М4: **live-block** (inert $0 / shadow / floor-only / live-block) | Машина / страж | Хук | Зарегистрирован | |---|---|---| -| М1/М5 Нормативный страж (КАРТА/ЗАКОН) | `enforce-normative-content-rules.mjs` | ✅ | -| М5 Read-exfil страж | `enforce-read-path-deny.mjs` | ✅ | -| М5 Egress-exfil страж | `enforce-mcp-classification.mjs` | ✅ | -| enforce-coverage-verify.mjs | `enforce-coverage-verify.mjs` | ✅ | -| enforce-todowrite-skill-verifier.mjs | `enforce-todowrite-skill-verifier.mjs` | ✅ | | М5 Пол (вето-до-плана / content-floor) | `enforce-floor.mjs` | 🔴 | | М2 Стена (действие = шаг плана) | `enforce-supreme-gate.mjs` | 🔴 | +| М1/М5 Нормативный страж (КАРТА/ЗАКОН) | `enforce-normative-content-rules.mjs` | 🔴 | +| М5 Read-exfil страж | `enforce-read-path-deny.mjs` | 🔴 | +| М5 Egress-exfil страж | `enforce-mcp-classification.mjs` | 🔴 | | М4 Судья (приёмка + надзор) | `enforce-judge-gate.mjs` | 🔴 | | М6 Снимок (точка отката) | `enforce-snapshot.mjs` | 🔴 | | М6 Escape владельца (законная дверь) | `enforce-floor-escape-consume.mjs` | 🔴 | | М1 Журналер навыков | `enforce-skill-journaler.mjs` | 🔴 | | enforce-verify-gate.mjs | `enforce-verify-gate.mjs` | 🔴 | | enforce-criterion-gate.mjs | `enforce-criterion-gate.mjs` | 🔴 | +| enforce-coverage-verify.mjs | `enforce-coverage-verify.mjs` | 🔴 | +| enforce-todowrite-skill-verifier.mjs | `enforce-todowrite-skill-verifier.mjs` | 🔴 | Недавние escape владельца: 0 · Недавние блоки: 10 @@ -39,21 +39,21 @@ Last updated: 2026-06-14T03:11:23.658Z | Время | Действие | Причина | |---|---|---| -| 2026-06-14T03:10:30.235Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | -| 2026-06-14T03:10:23.129Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | -| 2026-06-14T02:51:22.689Z | write:c:/моя/проекты/портал crm/документация | действие не в плане (ожидался шаг undefined: Bash npx vitest run --root app --config vitest.config.tools.mjs) | -| 2026-06-14T02:51:14.396Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | авторское сырьё-чтение вне шага плана — гейт ДР-1 (impl-режим) [тип: data] (W2) | -| 2026-06-14T02:51:14.296Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | -| 2026-06-14T02:51:13.289Z | write:c:/users/administrator/appdata/local/temp/claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json | авторское сырьё-чтение вне шага плана — гейт ДР-1 (impl-режим) [тип: data] (W2) | -| 2026-06-14T02:51:09.145Z | bash:ls $TEMP/claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json 2>/dev/null && cat $TEMP/claude-economy-78967b63- | действие не в плане (ожидался шаг undefined: Bash npx vitest run --root app --config vitest.config.tools.mjs) | -| 2026-06-14T02:51:08.997Z | bash:ls $TEMP/claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json 2>/dev/null && cat $TEMP/claude-economy-78967b63- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | -| 2026-06-14T02:45:37.824Z | write:c:/моя/проекты/портал crm/документация/tools/sign-of.mjs | действие не в плане (ожидался шаг undefined: Bash npx vitest run --root app --config vitest.config.tools.mjs) | -| 2026-06-14T02:44:04.007Z | bash:echo X | действие не в плане (ожидался шаг undefined: Bash npx vitest run --root app --config vitest.config.tools.mjs) | +| 2026-06-14T03:58:01.587Z | write:c:/моя/проекты/портал crm/документация | действие не в плане (ожидался шаг undefined: Edit C:/Users/Administrator/.claude/projects/c---------------------crm----- | +| 2026-06-14T03:57:54.723Z | powershell:$path = "$env:TEMP\claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json"; if (Test-Path $path) { Get-Cont | действие не в плане (ожидался шаг undefined: Edit C:/Users/Administrator/.claude/projects/c---------------------crm----- | +| 2026-06-14T03:57:51.750Z | bash:ls $TEMP/claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json 2>/dev/null && cat $TEMP/claude-economy-78967b63- | действие не в плане (ожидался шаг undefined: Edit C:/Users/Administrator/.claude/projects/c---------------------crm----- | +| 2026-06-14T03:57:51.654Z | bash:ls $TEMP/claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json 2>/dev/null && cat $TEMP/claude-economy-78967b63- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | +| 2026-06-14T03:57:47.394Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | авторское сырьё-чтение вне шага плана — гейт ДР-1 (impl-режим) [тип: data] (W2) | +| 2026-06-14T03:57:47.293Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | +| 2026-06-14T03:52:39.606Z | write:c:/моя/проекты/портал crm/документация | действие не в плане (ожидался шаг undefined: Edit C:/Users/Administrator/.claude/projects/c---------------------crm----- | +| 2026-06-14T03:52:30.719Z | powershell:$tempPath = $env:TEMP; $filePath = "$tempPath\claude-economy-78967b63-b8e6-4101-92e9-f00d7d49bad3.json"; if ( | действие не в плане (ожидался шаг undefined: Edit C:/Users/Administrator/.claude/projects/c---------------------crm----- | +| 2026-06-14T03:52:26.620Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | авторское сырьё-чтение вне шага плана — гейт ДР-1 (impl-режим) [тип: data] (W2) | +| 2026-06-14T03:52:26.525Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/78967b63-b8e6-4101-92e9-f00d7d49bad | ## Метрики (информационные, не алерты) -- Observer evidence: 1327 episodes this month, 0 observer_error markers, 5 PII matches before filter -- Legacy v1 episodes (not in factor analysis): 1327 +- Observer evidence: 1336 episodes this month, 0 observer_error markers, 6 PII matches before filter +- Legacy v1 episodes (not in factor analysis): 1336 - Last /brain-retro: 18 day(s) ago - Использование узлов: см. `/brain-retro` (раз в спринт). missed_activations: 0. **Неиспользованные узлы — не алерт, если профильной задачи не было** (Pravila §16.4 v1.36; capability-readiness; см. memory `feedback_brain_unused_tools_not_problem` — outside-repo memory store). @@ -63,15 +63,15 @@ Baseline дисциплины роутера (этап 2 router discipline overh | Тип задачи | Эпизодов | % с триггер-матчем | % через скил | |---|---|---|---| -| planning | 192 | 5.2% | 18.8% | -| feature | 47 | 6.4% | 2.1% | -| analysis | 40 | 5.0% | 0.0% | +| planning | 193 | 5.2% | 18.7% | +| feature | 48 | 6.3% | 2.1% | +| analysis | 41 | 4.9% | 0.0% | | bugfix | 36 | 11.1% | 19.4% | | cleanup | 1 | 0.0% | 0.0% | -Router step distribution: 1: 664, 2: 483, 3: 18, 5: 141 +Router step distribution: 1: 669, 2: 487, 3: 18, 5: 141 -Boundaries applied (ADR / границы): 8 of 1306 эпизодов (0.6%). +Boundaries applied (ADR / границы): 8 of 1315 эпизодов (0.6%). ## Активные многоэтапные проекты @@ -111,7 +111,7 @@ Episodes since last run: 542 / threshold: 10 ## Reviewer: субагент vs fallback -0 эпизодов проверено из 1327. +0 эпизодов проверено из 1336. ## Reviewer findings diff --git a/docs/superpowers/router-mentor-wall-GUIDE.md b/docs/superpowers/router-mentor-wall-GUIDE.md index 9b29be29..bd170df3 100644 --- a/docs/superpowers/router-mentor-wall-GUIDE.md +++ b/docs/superpowers/router-mentor-wall-GUIDE.md @@ -62,6 +62,11 @@ - `settings.json` (вкл/выкл стены + флаги/ключи) и снятие застрявшей печати (досрочное завершение / перезапуск). Правки `settings.json` подхватываются только после **перезапуска** Claude Code. +- **Перезапуск ≠ сброс застрявшего плана.** Перезапуск Claude Code перечитывает + `settings.json` (подхватывает новые хуки/флаги), но **не** сбрасывает застрявшую печать и + сессию — план и его указатель живут отдельно в runtime. Чтобы сбросить застрявший план: + досрочно завершить печать, **или** Claude берёт новую церемонию с **другим** именем файла + (новый `plan_id` сам перебивает старый указатель). - Чтение `~/.claude/runtime` — закрыто. Вердикты/печать владелец видит в внешних логах вызовов; участнику runtime недоступен — спрашивай владельца. @@ -92,6 +97,11 @@ иначе пропуск не совпадёт. Для широких задач проще временный maintenance (`"hooks": {}` + перезапуск). Escape чтут стена М2 / пол М5 / судья М4 / гейт памяти; `router-gate` (USER-level git) — отдельно. +**Запись в память/правила — только с твоего разрешения.** Когда Claude хочет записать в +память или правила (особенно **про саму стену**) — защита от подделки памяти это блокирует +(by-design, не баг). Разреши меткой `FLOOR-ESCAPE:` (выше) или временным maintenance. Сам +Claude память про стену записать не может — и не должен. + ## Что под капотом (чтобы не лезть в код) - Стена = `enforce-supreme-gate` (PreToolUse на все инструменты); оркестратор =