Files
brain/docs/observer/STATUS.md
T

169 lines
12 KiB
Markdown
Raw Normal View History

# Brain Status (auto-generated)
Last updated: 2026-06-26T15:28:49.277Z
| Контролёр | Состояние | Детали |
|---|---|---|
| C1 L1-watcher | ✅ | [l1-watcher] OK — 0 drift |
| C2 Cross-ref consistency | ✅ | [cross-ref-checker] OK — 0 drift in 4 files |
| C3 Observer-of-observer | ✅ | [observer-of-observer] OK — last read 4 week(s) ago |
| C4 Сигнальный статус | ✅ | This file (self-reference) |
| C5 Observer-coverage | ✅ | 3331 episode(s) this month · Stop-hook + post-commit OK |
## Кто на посту (оборона М1–М6)
⚠️ **ПОСТ ПУСТОЙ** — не зарегистрированы: enforce-judge-gate.mjs (оборона НЕ подтверждена; SE-B/Δ8)
Судья М4: **live-block** (inert $0 / shadow / floor-only / live-block)
| Машина / страж | Хук | Зарегистрирован |
|---|---|---|
| М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` | ✅ |
| М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` | ✅ |
| М4 Судья (приёмка + надзор) | `enforce-judge-gate.mjs` | 🔴 |
Недавние escape владельца: 0 · Недавние блоки: 10
**Недавние блоки (детали):**
| Время | Действие | Причина |
|---|---|---|
| 2026-06-26T14:42:17.264Z | bash:ls -la ~/.claude/runtime/secretary-mode-*.json 2>/dev/null; echo "--- содержимое флагов ---"; for f in ~/.claude/ru | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls -la ~/.claude/runti |
| 2026-06-26T12:58:47.855Z | bash:node -e "JSON.parse(require('fs').readFileSync(process.argv[1],'utf8')) && console.log('valid JSON, bytes:', requir | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:node -e "JSON.parse(re |
| 2026-06-26T12:55:30.873Z | bash:f="C:/Users/Administrator/.claude/projects/c--------------claude-brain/memory/MEMORY.md"; echo "lines: $(wc -l < "$ | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:f="C:/Users/Administra |
| 2026-06-26T12:47:02.309Z | bash:cd "c:/моя/проекты/claude-brain" && git commit -- tools/secretary-slim.mjs tools/secretary-slim.test.mjs tools/secr | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cd "c:/моя/проекты/cla |
| 2026-06-26T12:45:27.198Z | bash:cd "c:/моя/проекты/claude-brain" && git add tools/secretary-slim.mjs tools/secretary-slim.test.mjs && git commit -- | [verify-gate] расписка отклонена (stale-fingerprint) — пере-прогоните verify (staged-diff изменился / битая подпись) |
| 2026-06-26T12:45:27.010Z | bash:cd "c:/моя/проекты/claude-brain" && git add tools/secretary-slim.mjs tools/secretary-slim.test.mjs && git commit -- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cd "c:/моя/проекты/cla |
| 2026-06-26T11:00:25.748Z | bash:cd "c:/моя/проекты/claude-brain/docs/secretary/выпонение-задач-секретаря/" && node -e ' const p=JSON.parse(require( | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cd "c:/моя/проекты/cla |
| 2026-06-26T10:58:29.564Z | bash:node "C:/Users/ADMINI~1/AppData/Local/Temp/2/claude/c--------------claude-brain/135faced-f5a3-44a1-89ff-1d3a7ae854e | floor: необратимая команда без аварийного выхода — блок (вето-до-плана); FLOOR-ESCAPE: bash:node "C:/Users/ADMINI~1/AppD |
| 2026-06-26T10:58:15.367Z | bash:node -e "const fs=require('fs'),p='c:/моя/проекты/claude-brain/docs/secretary/развитие-секретаря';for(const f of fs | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:node -e "const fs=requ |
| 2026-06-26T09:35:55.128Z | bash:ls -la ~/.claude/runtime/ 2>/dev/null \| grep -i secret; echo "---flags---"; for f in ~/.claude/runtime/*secret*; d | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls -la ~/.claude/runti |
## Метрики (информационные, не алерты)
- Observer evidence: 3331 episodes this month, 0 observer_error markers, 258 PII matches before filter
- Legacy v1 episodes (not in factor analysis): 3331
- Last /brain-retro: 30 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).
## Метрики дисциплины
Baseline дисциплины роутера (этап 2 router discipline overhaul, spec 2026-05-23). Цель — увидеть «точку До» перед enforcement-хуком этапа 3.
| Тип задачи | Эпизодов | % с триггер-матчем | % через скил |
|---|---|---|---|
| planning | 374 | 5.6% | 20.1% |
| feature | 119 | 4.2% | 3.4% |
| analysis | 73 | 5.5% | 4.1% |
| bugfix | 56 | 7.1% | 21.4% |
| cleanup | 9 | 11.1% | 11.1% |
| refactor | 1 | 0.0% | 0.0% |
Router step distribution: 1: 1697, 2: 1171, 3: 88, 5: 301
Boundaries applied (ADR / границы): 89 of 3257 эпизодов (2.7%).
## Активные многоэтапные проекты
- **Router discipline overhaul** ([spec](../superpowers/specs/2026-05-23-router-discipline-overhaul-design.md))
- Этап 1 (машиночитаемый реестр) ✅ закрыт 2026-05-23 — `docs/registry/nodes.yaml` (83 узла + 16 chains L1-L16), `tools/registry-load.mjs` + `tools/registry-render.mjs` (16 тестов), auto-render Tooling §4.0 + routing-off-phase, lefthook job 17 (warn-only).
- Этап 2 (измерения + классификатор-парсер) ✅ закрыт 2026-05-24 + влит в main 2026-05-24 — discipline-metrics (3 среза), brain-retro-analyzer переключён на реестр, STATUS.md блок «Метрики дисциплины», baseline snapshot `docs/observer/baselines/2026-05-24-pre-enforcement.md`. Plan: `docs/superpowers/plans/2026-05-24-router-overhaul-stage-2-measurements.md`.
- Этап 3 (принуждение — хук на routing) — Phase A+B (классификатор + 3 хука: router-prehook/tool-gate/stop-gate в `.claude/settings.json`) ✅ + влит в main 2026-05-24. Гейт работает в режиме **`warn-only`** (только stderr-предупреждения, никакой блокировки). Bug-fix `bec69aa5`: `deriveRouterStep` в `tools/discipline-metrics.mjs` — шаг роутера теперь выводится из наблюдаемых признаков (был захардкоженной константой 1). **Follow-up 3 fixes 2026-05-24** (после ANTHROPIC_API_KEY + рестарта CC выявлены при инспекции state): (a) UTF-8 stdin helper `tools/router-stdin-helper.mjs` через `StringDecoder` + подключение к 3 хукам (русский в state-файл и Anthropic API без mojibake); (b) `tools/observer-state-enricher.mjs` — pure helper для чтения `router-state-<session>.json`; (c) `parseTranscript` обогащение `primary_rationale` 4 полями (`recommended_node` override + `recommended_chain` + `chain_progress` + `chain_completed`). 538 tools-тестов GREEN. Plan: `docs/superpowers/plans/2026-05-24-router-stage3-three-fixes.md`. CHECKPOINT B: дать warn-only накопить реальные наблюдения с **починенным** сторожем (план говорит «минимум 24 часа»), затем Task 9 — переключение в `enforce` + 2 новых метрики (domain-hit-rate / chain-completion). Plan: `docs/superpowers/plans/2026-05-24-router-overhaul-stage-3-enforcement.md`.
- Этап 4 (уборка устаревших правил, deprecation `observer-classification-map.json` → удаление) — не начат.
## Длинные сессии
⚠️ Сегодня (2026-06-26 UTC) есть сессии с ≥50 ходов — корреляция с падением дисциплины роутинга (retro #5 candidate B).
| session_id | макс. ход | % regulated | последний эпизод |
|---|---|---|---|
| `ddeb63dd` | 66 | 0% | 2026-06-26T09:27:13.726Z |
| `e0e992ac` | 57 | 4% | 2026-06-26T04:12:06.721Z |
| `040800af` | 51 | 10% | 2026-06-26T15:25:58.420Z |
Long sessions correlate with discipline drift. Если % regulated просел в текущей сессии — рассмотри перезапуск.
## Стоимость месяца
| Компонент | Токены (in/out) | USD |
|---|---|---|
| Classifier (Sonnet 4.6) | 68479/251178 | $3.97 |
| Self-assessment (Sonnet 4.6) | 0/0 | $0.00 |
| Reviewer (Opus 4.7 + fallback) | 0/0 | $0.00 |
| **Итого** | | **$3.97** |
## Аномалии классификатора
Аномалий нет.
## Авто-ретроспектива
Last self-retrospect: never ⚠️ (542 эпизодов с последнего запуска, порог 10)
Episodes since last run: 542 / threshold: 10
## Reviewer: субагент vs fallback
0 эпизодов проверено из 3331.
## Reviewer findings
(нет проверенных эпизодов в текущем периоде)
## Использование override-фраз
| Фраза | За всё время | За сегодня |
|---|---|---|
| `recovery` | 2302 | 0 |
| `без скилов` | 507 | 0 |
| `ремонт инфраструктуры` | 331 | 0 |
| `срочно` | 225 | 0 |
| `memory dump` | 46 | 0 |
| `direct ok` | 6 | 0 |
| `быстрый коммит` | 3 | 0 |
## System Health
Топ-3 процессов с CPU > 1ч:
| PID | Имя | CPU-время | Возраст |
|---|---|---|---|
| 3440 | MsMpEng | 14.71ч | NaNч |
| 21928 | Code | 4.88ч | 10093698.0ч |
| 1212 | svchost | 3.61ч | 0.0ч |
⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий.
## Очередь обучения роутера
Очередь пуста — нет кандидатов на одобрение.
## Покрытие дверей
✅ Все двери покрыты верховной стеной М2 (matcher: *).
## Целостность журналов действий
🔴 Битые цепочки (3 из 118):
| session | broken at seq |
|---|---|
| `03437265-6d58-4622-aeed-c0eeac0f2c32` | 1 |
| `54594686-843c-4ea8-bcd3-5ae6a7244e30` | 14 |
| `9c02276d-dabb-40e4-9c04-44c18d47485a` | 14 |
## Алерт-индикаторы
✅ — норма ・ ⚠️ — внимание ・ 🔴 — действие требуется ・ ⚪ — не запускалось