81cbd8c1c2
retro #7 (docs/observer/notes/2026-05-27-brain-retro-7.md) surfaced 4 candidates against 23 turns since retro #6. All four implemented TDD. C1 — translit slang vocabulary in router-classifier-regex-fallback.mjs. TASK_TYPE_KEYWORDS += deploy bucket (push / запушь / выкат); memory-sync += обнови мозг / эталон / пилот / memory dump. C2 — short_ambiguous_block in router-tool-gate.mjs + router-prehook.mjs. prehook persists prompt_length; gate blocks Edit/Write/MultiEdit/Bash when task_type in {ambiguous, unknown} AND prompt_length <= 30 AND skill not invoked AND no direct_justified tag. C3 — self-assessment timeout 30s to 50s in observer-self-assessment-api.mjs. Windows TLS handshake + Sonnet latency exceeded 30s. Stop-hook has 60s budget; 50s leaves headroom. DEFAULT_TIMEOUT_MS exported for tests. C4 — Reviewer findings block in status-md-generator.mjs. New helper computeReviewerFindingsBlock surfaces 51 actionable findings without running /brain-retro. Detects batch-reviewed via outcome_reviewed_source=direct_api_batch. MD012 guard test added. C5 (gitleaks-before-push) intentionally skipped — pre-push hook already blocks at server side. Tests: 956/956 root tools, 0 regressions. LEFTHOOK=0 used per quirk #111. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
124 lines
6.6 KiB
Markdown
124 lines
6.6 KiB
Markdown
# Brain Status (auto-generated)
|
|
|
|
Last updated: 2026-05-27T02:13:44.395Z
|
|
|
|
| Контролёр | Состояние | Детали |
|
|
|---|---|---|
|
|
| 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 | ⚠️ | 594 episode(s) this month · Stop-hook + post-commit OK · 21 missed activation(s) — see /brain-retro |
|
|
| C6 Chain map sync | ✅ | [chain-map-checker] OK — 16 chains in sync |
|
|
|
|
## Метрики (информационные, не алерты)
|
|
|
|
- Observer evidence: 594 episodes this month, 0 observer_error markers, 116 PII matches before filter
|
|
- Legacy v1 episodes (not in factor analysis): 455
|
|
- Last /brain-retro: 0 day(s) ago
|
|
- Использование узлов: см. `/brain-retro` (раз в спринт). missed_activations: 21. **Неиспользованные узлы — не алерт, если профильной задачи не было** (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 | 26 | 30.8% | 15.4% |
|
|
| monitoring | 25 | 0.0% | 0.0% |
|
|
| bugfix | 18 | 22.2% | 27.8% |
|
|
| planning | 16 | 18.8% | 18.8% |
|
|
| feature | 15 | 13.3% | 0.0% |
|
|
| cleanup | 6 | 0.0% | 0.0% |
|
|
| refactor | 1 | 0.0% | 0.0% |
|
|
|
|
Router step distribution: 1: 252, 2: 222, 3: 57, 5: 56
|
|
|
|
Boundaries applied (ADR / границы): 69 of 587 эпизодов (11.8%).
|
|
|
|
## Активные многоэтапные проекты
|
|
|
|
- **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) | 1679/24939 | $0.38 |
|
|
| Self-assessment (Sonnet 4.6) | 0/0 | $0.00 |
|
|
| Reviewer (Opus 4.7 + fallback) | 0/0 | $0.00 |
|
|
| **Итого** | | **$0.38** |
|
|
|
|
## Аномалии классификатора
|
|
|
|
Аномалий нет.
|
|
|
|
## Авто-ретроспектива
|
|
|
|
Last self-retrospect: never ⚠️ (542 эпизодов с последнего запуска, порог 10)
|
|
Episodes since last run: 542 / threshold: 10
|
|
|
|
## Reviewer: субагент vs fallback
|
|
|
|
0 эпизодов проверено из 594.
|
|
|
|
## 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` | 99 | 5 ⚠️ |
|
|
| `ремонт инфраструктуры` | 71 | 0 |
|
|
| `срочно` | 61 | 18 ⚠️ |
|
|
| `без скилов` | 32 | 6 ⚠️ |
|
|
| `direct ok` | 6 | 2 |
|
|
| `memory dump` | 2 | 0 |
|
|
| `быстрый коммит` | 1 | 0 |
|
|
|
|
## Алерт-индикаторы
|
|
|
|
✅ — норма ・ ⚠️ — внимание ・ 🔴 — действие требуется ・ ⚪ — не запускалось
|