Убраны дубли HTTP-заголовков. nginx уже шлёт enforcing CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, HSTS, Permissions-Policy, COOP, CORP через add_header always. App-уровневый middleware SecurityHeaders дублировал четыре из них и слал лишний CSP Report-Only; на проде add_header always плюс PHP-заголовок давали дубль в ответе. - удалён middleware SecurityHeaders и его регистрация в bootstrap/app.php - SecurityHeadersTest переписан: фиксирует, что приложение эти заголовки не ставит Прод-дедуп вступит в силу после деплоя. Verify локально 4 из 4 green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
14 KiB
Brain Status (auto-generated)
Last updated: 2026-06-18T06:11:12.692Z
| Контролёр | Состояние | Детали |
|---|---|---|
| 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 3 week(s) ago |
| C4 Сигнальный статус | ✅ | This file (self-reference) |
| C5 Observer-coverage | ✅ | 2177 episode(s) this month · Stop-hook + post-commit OK |
| C6 Chain map sync | ✅ | [chain-map-checker] OK — 17 chains in sync |
Кто на посту (оборона М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 владельца: 10 · Недавние блоки: 10
Недавние escape владельца (детали):
| Время | Действие | Причина |
|---|---|---|
| 2026-06-18T06:08:47.673Z | write:c:/моя/проекты/claude-brain/tools/standby-mode-control.mjs | escape владельца |
| 2026-06-18T06:08:24.060Z | bash:ssh liderra-prod 'sudo -u postgres psql -d liderra -tA -c "SELECT id, tenant_id, email, created_at FROM users ORDER | escape владельца |
| 2026-06-18T06:08:17.915Z | write:c:/моя/проекты/портал crm/документация/docs/superpowers/runbooks/2026-06-18-gitea-prod-deploy-pipeline.md | escape владельца |
| 2026-06-18T06:04:44.929Z | bash:ssh liderra-prod 'sudo -u postgres psql -d liderra -tA -c "SELECT id, subdomain, organization_name, contact_email, | escape владельца |
| 2026-06-18T06:04:30.671Z | gate3-arb:continue:2671a8496c40010114e1165780148740d431e17cae66a5f9b2d94e869d6d3ad4 | escape владельца |
| 2026-06-18T06:00:47.994Z | bash:composer --working-dir=app test -- tests/Feature/AdminBillingIndexTest.php tests/Feature/AdminIncidentsIndexTest.ph | escape владельца |
| 2026-06-18T06:00:10.711Z | write:c:/моя/проекты/портал crm/документация/app/tests/feature/adminbillingindextest.php | escape владельца |
| 2026-06-18T05:59:46.643Z | write:c:/моя/проекты/claude-brain/docs/superpowers/specs/2026-06-18-wall-impl-read-freedom-design.md | escape владельца |
| 2026-06-18T05:56:49.449Z | bash:composer --working-dir=app test -- tests/Feature/AdminBillingIndexTest.php tests/Feature/AdminIncidentsIndexTest.ph | escape владельца |
| 2026-06-18T05:52:42.671Z | write:c:/моя/проекты/портал crm/документация/docs/superpowers/router-mentor-wall-guide.md | escape владельца |
Недавние блоки (детали):
| Время | Действие | Причина |
|---|---|---|
| 2026-06-18T06:11:19.256Z | write:c:/users/administrator/.claude/projects/c--------------claude-brain/5714105c-2a95-4bc9-ad32-1714dc853904.jsonl | path «C:/Users/Administrator/.claude/projects/c--------------claude-brain/5714105c-2a95-4bc9-ad32-1714dc853904.jsonl» pr |
| 2026-06-18T06:11:11.354Z | bash:cat "$TEMP/claude-economy-5714105c-2a95-4bc9-ad32-1714dc853904.json" 2>/dev/null || echo "FILE_NOT_FOUND" | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
| 2026-06-18T06:11:11.301Z | bash:cat "$TEMP/claude-economy-5714105c-2a95-4bc9-ad32-1714dc853904.json" 2>/dev/null || echo "FILE_NOT_FOUND" | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cat "$TEMP/claude-econ |
| 2026-06-18T06:10:44.905Z | write:c:/моя/проекты/портал crm/документация | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
| 2026-06-18T06:10:35.112Z | powershell:$tempPath = $env:TEMP; $file = "$tempPath\claude-economy-51a6fd40-3220-4b06-bdcc-8541a67857c1.json"; if (Test | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
| 2026-06-18T06:10:31.109Z | write:c:/users/administrator/.claude/projects/c---------------------crm-------------/51a6fd40-3220-4b06-bdcc-8541a67857c | path «C:/Users/Administrator/.claude/projects/c---------------------crm-------------/51a6fd40-3220-4b06-bdcc-8541a67857c |
| 2026-06-18T06:10:25.862Z | bash:cat "$TEMP/claude-economy-51a6fd40-3220-4b06-bdcc-8541a67857c1.json" 2>/dev/null || echo "FILE_NOT_FOUND" | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
| 2026-06-18T06:10:25.762Z | bash:cat "$TEMP/claude-economy-51a6fd40-3220-4b06-bdcc-8541a67857c1.json" 2>/dev/null || echo "FILE_NOT_FOUND" | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cat "$TEMP/claude-econ |
| 2026-06-18T06:10:25.438Z | write:c:/моя/проекты/claude-brain | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
| 2026-06-18T06:10:10.586Z | write:c:/моя/проекты/портал crm/документация | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) |
Метрики (информационные, не алерты)
- Observer evidence: 2177 episodes this month, 0 observer_error markers, 38 PII matches before filter
- Legacy v1 episodes (not in factor analysis): 2177
- Last /brain-retro: 22 day(s) ago
- Использование узлов: см.
/brain-retro(раз в спринт). missed_activations: 0. Неиспользованные узлы — не алерт, если профильной задачи не было (Pravila §16.4 v1.36; capability-readiness; см. memoryfeedback_brain_unused_tools_not_problem— outside-repo memory store).
Метрики дисциплины
Baseline дисциплины роутера (этап 2 router discipline overhaul, spec 2026-05-23). Цель — увидеть «точку До» перед enforcement-хуком этапа 3.
| Тип задачи | Эпизодов | % с триггер-матчем | % через скил |
|---|---|---|---|
| planning | 247 | 5.3% | 16.6% |
| feature | 74 | 4.1% | 4.1% |
| bugfix | 58 | 6.9% | 12.1% |
| analysis | 50 | 6.0% | 2.0% |
| cleanup | 2 | 0.0% | 0.0% |
| refactor | 1 | 0.0% | 0.0% |
Router step distribution: 1: 1162, 2: 747, 3: 40, 5: 199
Boundaries applied (ADR / границы): 33 of 2148 эпизодов (1.5%).
Активные многоэтапные проекты
- 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-fixbec69aa5:deriveRouterStepвtools/discipline-metrics.mjs— шаг роутера теперь выводится из наблюдаемых признаков (был захардкоженной константой 1). Follow-up 3 fixes 2026-05-24 (после ANTHROPIC_API_KEY + рестарта CC выявлены при инспекции state): (a) UTF-8 stdin helpertools/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_rationale4 полями (recommended_nodeoverride +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→ удаление) — не начат.
- Этап 1 (машиночитаемый реестр) ✅ закрыт 2026-05-23 —
Длинные сессии
⚠️ Сегодня (2026-06-18 UTC) есть сессии с ≥50 ходов — корреляция с падением дисциплины роутинга (retro #5 candidate B).
| session_id | макс. ход | % regulated | последний эпизод |
|---|---|---|---|
ffef16cb |
50 | 3% | 2026-06-18T05:23:41.663Z |
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 эпизодов проверено из 2177.
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-время | Возраст |
|---|---|---|---|
| 3420 | MsMpEng | 2.91ч | 0.0ч |
| 18808 | php | 1.30ч | NaNч |
| 1104 | svchost | 1.21ч | 12284958.2ч |
⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий.
Очередь обучения роутера
Очередь пуста — нет кандидатов на одобрение.
Покрытие дверей
✅ Все двери покрыты верховной стеной М2 (matcher: *).
Целостность журналов действий
🔴 Битые цепочки (3 из 76):
| session | broken at seq |
|---|---|
03437265-6d58-4622-aeed-c0eeac0f2c32 |
1 |
54594686-843c-4ea8-bcd3-5ae6a7244e30 |
14 |
9c02276d-dabb-40e4-9c04-44c18d47485a |
14 |
Алерт-индикаторы
✅ — норма ・ ⚠️ — внимание ・ 🔴 — действие требуется ・ ⚪ — не запускалось