Files
portal/docs/observer/STATUS.md
T
Дмитрий 903aa70098 spec(router-gate): v3.3 closes 10 of 12 holes from v4.1 adversarial audit
V3.3 — второй раунд adversarial audit от controller'а на свою же v3.2. Главное:

N1 fatal honest revision — мой v3.2-фикс S5 был самообманом. BLOCKED-protocol regex в subagent response = controller-written text → fake `{"status":"DONE"}` маркер trivially. §3.4 переписан: убран claim «closes S5», заменён weak heuristic (tool_use count > 0 + marker check). S5 → §9 acceptable residual класса controller-writable signals (как S8). Real-fix требует harness-level enforcement за пределами controller-writable spec'а.

12 правок без новых секций:
- §3.4 BLOCKED-protocol → weak heuristic + S5 residual (N1)
- §3.2.0 расширен: user-run smoke + PostToolUse semantics probe (N4, N10)
- §4 Поведение 1 stale-registry → mandatory AskUser (N2)
- §4.5 fail-CLOSE с конкретными keyword-примерами (N8)
- §4.7 first-option-position bias detection (N11)
- §5.1 file-watcher reset только на git commit exit 0 + lefthook GREEN (N3)
- §5.1 SKILL_BASH_ALLOW hardcoded mapping в gate-code, не Skill-controlled (N5)
- §8 +PostToolUse handler task + implementation order matrix (N7, N9)
- §9 N12 off-topic detection limits acknowledged + S5 acceptable residual
- §10.2 +schema для edited-files-<sess>.json (N6)

Implementation budget: 18-27h (v3.2) → 19.5-29h (v3.3). +1.5-2h за inline-фиксы.

Главный урок: controller-writable signals — fundamental class уязвимостей. Любой текстовый/JSON-маркер в response = fake-able trivially. Реальное закрытие требует out-of-band каналов. S5 и S8 — этого класса, оба unresolvable в controller-writable spec.

cspell-words.txt sync: +1 валидный термин (эскалируем).

Verify-sentinel: 1179/1179 vitest tools-only GREEN.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 07:50:34 +03:00

6.9 KiB
Raw Blame History

Brain Status (auto-generated)

Last updated: 2026-05-29T04:31:35.642Z

Контролёр Состояние Детали
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 0 week(s) ago
C4 Сигнальный статус This file (self-reference)
C5 Observer-coverage ⚠️ 685 episode(s) this month · Stop-hook + post-commit OK · 20 missed activation(s) — see /brain-retro
C6 Chain map sync [chain-map-checker] OK — 16 chains in sync

Метрики (информационные, не алерты)

  • Observer evidence: 685 episodes this month, 0 observer_error markers, 138 PII matches before filter
  • Legacy v1 episodes (not in factor analysis): 546
  • Last /brain-retro: 2 day(s) ago
  • Использование узлов: см. /brain-retro (раз в спринт). missed_activations: 20. Неиспользованные узлы — не алерт, если профильной задачи не было (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.

Тип задачи Эпизодов % с триггер-матчем % через скил
analysis 31 25.8% 16.1%
planning 18 16.7% 16.7%
bugfix 18 22.2% 27.8%
feature 16 12.5% 0.0%
cleanup 6 0.0% 0.0%
refactor 1 0.0% 0.0%

Router step distribution: 1: 308, 2: 241, 3: 63, 5: 61

Boundaries applied (ADR / границы): 75 of 673 эпизодов (11.1%).

Активные многоэтапные проекты

  • Router discipline overhaul (spec)
    • Этап 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) 4143/57492 $0.87
Self-assessment (Sonnet 4.6) 0/0 $0.00
Reviewer (Opus 4.7 + fallback) 0/0 $0.00
Итого $0.87

Аномалии классификатора

Аномалий нет.

Авто-ретроспектива

Last self-retrospect: never ⚠️ (542 эпизодов с последнего запуска, порог 10) Episodes since last run: 542 / threshold: 10

Reviewer: субагент vs fallback

0 эпизодов проверено из 685.

Reviewer findings

Проверено: 339 эпизодов. 51 actionable (wrong_skill + wrong_chain_order).

error_root_cause

cause count
n/a 261
wrong_skill 41
external_failure 23
wrong_chain_order 10
wrong_tool 4

Топ alternative_better

recommended count
#19 16
#25 15
#34 8
#18 6
#33 3

node_quality

judgment count
disputable 191
correct 113
wrong_node 31
underkill 2
overkill 2

Использование override-фраз

⚠️ Превышен порог override-использования сегодня (≥5/день)

Фраза За всё время За сегодня
recovery 1171 274 ⚠️
без скилов 233 55 ⚠️
ремонт инфраструктуры 229 44 ⚠️
срочно 144 51 ⚠️
memory dump 17 0
direct ok 6 0
быстрый коммит 3 0

System Health

Топ-3 процессов с CPU > 1ч:

PID Имя CPU-время Возраст
3464 MsMpEng 1.23ч 14475943.0ч

⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий.

Алерт-индикаторы

— норма ・ ⚠️ — внимание ・ 🔴 — действие требуется ・ — не запускалось