Files
portal/docs/observer/STATUS.md
T
Дмитрий 740a3a2183 docs(замер): близнец разгадан — у явления есть день рождения, 31.07, и правка вне хранилища
Находка М-399, правила 224-227. Три смены искали КАК, а надо было спросить КОГДА.

Замерено по всей истории (4400 коммитов, не 4322 как писала прошлая смена):
близнецов семь, самый ранний 31.07.2026 в 10:11, а за предыдущие три месяца
и ~3800 коммитов - НИ ОДНОГО. Все одиннадцать паразитных одиночек - после 31.07.

Одна команда рождает два коммита - теперь доказано с двух сторон. Команда пущена
в 10:16:56, родитель родился 10:17:03, близнец 10:17:13, следующая команда 10:17:26.
Других команд в окне не было ни в этой смене, ни в двух соседних, работавших
в те же секунды. Повторять было некому.

Откуда STATUS.md: lefthook.yml:259, дело status-md после КАЖДОГО коммита кладёт
файл в очередь на следующий. В комментарии рядом так и написано.

Причина: 30.07 в 12:22 lefthook 2.1.8 поставлен глобально в систему. До того
в рабочих подпапках он не находился вовсе и хуки молча пропускались. Про эту же
программу в чужой записке сказано: виснет при git commit, борясь за очередь
с родительским коммитом. Правки в хранилище нет и не будет - только слова
в записке коммита того дня.

Граница знания названа честно: вырезанием не доказано, явление редкое
(раз из шестисот). Ровно поэтому опыт прошлой смены ничего не опроверг.

Три ложных следа отрезаны: долгий коммит (разбросы 9..155 с), вид записки
(у шести из семи заголовка в команде нет вовсе), сторож-самокоммитчик.

Правило 224: у явления спрашивают день рождения раньше, чем причину.
Правило 225: причина может лежать вне хранилища - поиском по файлам не найдётся.
Правило 226: искать зов программы по тексту команды - половина поиска.
Правило 227: в записи разговора один вызов лежит по нескольку раз, считать номера.

Проверок 2871 в 105 файлах, ноль красных, код 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 17:43:51 +03:00

141 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Brain Status (auto-generated)
Last updated: 2026-08-06T14:43:47.155Z
| Контролёр | Состояние | Детали |
|---|---|---|
| C1 L1-watcher | 🔴 | If the plugin is referenced in Tooling under a group/human name, add an alias to tools/.l1-watcher-aliases.txt. |
| C2 Cross-ref consistency | ✅ | [cross-ref-checker] OK — 0 drift in 4 files |
| C3 Observer-of-observer | ✅ | [observer-of-observer] OK — last read 10 week(s) ago |
| C4 Сигнальный статус | ✅ | This file (self-reference) |
| C5 Observer-coverage | ⚠️ | 203 episode(s) this month · observer-stop-hook NOT registered in .claude/settings.json Stop hook; .git/hooks/post-commit not installed (run: npx lefthook install --force) |
| C6 Chain map sync | ✅ | [chain-map-checker] OK — 17 chains in sync |
## Кто на посту (оборона М1–М6)
⚠️ **ПОСТ ПУСТОЙ** — не зарегистрированы: 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: **inert** (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` | 🔴 |
| М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 · Недавние блоки: 0
## Метрики (информационные, не алерты)
- Observer evidence: 203 episodes this month, 0 observer_error markers, 45 PII matches before filter
- Legacy v1 episodes (not in factor analysis): 203
- Last /brain-retro: 71 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 | 81 | 0.0% | 0.0% |
| bugfix | 20 | 0.0% | 0.0% |
| feature | 16 | 0.0% | 0.0% |
| analysis | 2 | 0.0% | 0.0% |
Router step distribution: 1: 37, 2: 163, 5: 3
Boundaries applied (ADR / границы): 0 of 203 эпизодов (0.0%).
## Активные многоэтапные проекты
- **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` → удаление) — не начат.
## Длинные сессии
Ни одной сессии с >50 ходов сегодня (UTC). ✅
## Стоимость месяца
| Компонент | Токены (in/out) | USD |
|---|---|---|
| Classifier (Sonnet 4.6) | 0/0 | $0.00 |
| Self-assessment (Sonnet 4.6) | 0/0 | $0.00 |
| Reviewer (Opus 4.7 + fallback) | 0/0 | $0.00 |
| **Итого** | | **$0.00** |
## Аномалии классификатора
Аномалий нет.
## Авто-ретроспектива
Last self-retrospect: never ⚠️ (542 эпизодов с последнего запуска, порог 10)
Episodes since last run: 542 / threshold: 10
## Reviewer: субагент vs fallback
0 эпизодов проверено из 203.
## 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-время | Возраст |
|---|---|---|---|
| 4332 | MsMpEng | 60.61ч | 0.0ч |
| 11840 | Code | 11.56ч | NaNч |
| 4 | System | 6.98ч | NaNч |
⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий.
## Очередь обучения роутера
Очередь пуста — нет кандидатов на одобрение.
## Покрытие дверей
⚠️ Есть забытые двери (matcher: (хук НЕ зарегистрирован)).
Непокрытые мутирующие инструменты: Edit, Write, MultiEdit, NotebookEdit, Bash, Task, Skill
## Целостность журналов действий
Ключ подписанта не provisioned — проверка цепи недоступна (ключ — owner-шаг A3).
## Алерт-индикаторы
✅ — норма ・ ⚠️ — внимание ・ 🔴 — действие требуется ・ ⚪ — не запускалось