Files
portal/docs/observer/STATUS.md
T
Дмитрий a4a8ea31b9 refactor(security): единый источник security-заголовков — nginx
Убраны дубли 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>
2026-06-18 09:31:47 +03:00

14 KiB
Raw Blame History

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; см. memory feedback_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-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-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

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

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