⌂ все дашборды/Качество и аудиты← ChatGPT-Codex-Export-Audit · Fix-Audit-NewHub-2026-06-28 →

Перепись кода и времени

Замер 28 июля 2026, 23:0x · хаб A-2022BAYAREA · считано скриптами, не на глаз · источники: обход файловой системы + разбор 5 981 журнала сессий + Coverage-Map.md + Regression-Status.md

1. Сколько кода

393 251
строк ЧИСТОГО кода
2 727 файлов. Без данных, без venv, без node_modules, без бэкапов.
10 895
функций на Python
+ 72 класса, 533 функции JS, 110 PowerShell
12,9 млн
строк JSON-данных
64 071 файл. Это НЕ код — это выгрузки, кэши, индексы.
74
файла длиннее 500 строк
Рекорд: consensus_s10_staged.py — 1 823 строки

По языкам

ЯзыкФайловСтрокКодКомментарииДоля кодовой базы
Python2 592380 299320 05920 345
96,7%
JavaScript327 2035 955248
1,8%
PowerShell975 5313 9131 229
1,4%
Shell621814857
0,1%
Рядом, но вне «чистого кода»: Batch 4 386 строк (295 файлов) · HTML-дашборды 3 103 (17) · YAML 615 (15)
Язык выбран правильно. Python 96,7% — для склейки API, разбора текста, SQLite, локальных LLM и ночных роботов это ровно тот язык, у которого больше всего готовых кирпичей и который читается почти как английский. Менять не на что: Rust/Go дали бы скорость, которая тебе не нужна, и отняли бы ремонтопригодность, которая тебе нужна. Единственная реальная альтернатива по нише — TypeScript, но он потребовал бы сборки и типов ради того же результата. Вывод: язык не проблема. Проблема в другом, см. блок 3.

2. Тесты и покрытие

2,5%
живых деталей имеют тест
18 из 708. Индустриальный минимум — 60%.
98,6%
живых деталей имеют док
698 из 708. Здесь мы ВЫШЕ индустрии.
36
тестовых модулей всего
на 10 895 функций = 1 тест на 300 функций
4
теста молча красные
28 зелёных из 32 прогнанных, 4 пропущены (сетевые)

Что именно красное (первый прогон регресс-сетки, 28.07)

ТестСимптомЧто это значит
_shared\_test_consensus.pyFileNotFoundErrorстарая копия теста в _shared; рабочий тест зелёный 48/48 → снести копию
cc-review\_test_verdict_parse.pyAttributeError: нет parse_verdictпарсер вердиктов внешних ревьюеров СЕЙЧАС не покрыт
_test_dr_gate.pyпустая заметка insight-DR26-07-03-11тот самый харнес-DR Кирилла оказался пустым
_test_funnel_writeback.pyнет registry\limits.jsonпропал конфиг лимитов воронки контента
Главный вывод дня: тесты БЫЛИ, но их никто не гонял скопом. «Тест есть» и «тест зелёный» были неразличимы.
⚠️ Дыра в флоте. Движки regress_run.py и coverage_map.py живут ТОЛЬКО на ноуте HP17-ZBook. На хабе (эта машина, мастер всего) их НЕТ — доехали только их отчёты через волт. То есть главная машина не может пересчитать собственное покрытие. Это ровно тот P0 из реестра: «у пиров нет автоканала доставки ~/.claude/scripts».

3. Куда уходит время главная цифра

5 879 живых сессий, 1 838 часов. Классификация не по первой фразе, а по тому, что руки реально делали внутри сессии (правки кода / правки волта / отправки наружу) и сколько это шло по часам.

7,3 : 1
инфраструктура : движение вперёд
1 348 ч против 184 ч
274 ч
чистая ПОЧИНКА
14,9% всего времени, 20% инфра-времени
1 073 ч
стройка инфраструктуры
58,4% всего времени
161 ч
аутрич наружу
8,8% всего времени
КудаСессийЧасовДоля времени
🔧 Стройка инфраструктуры1 5801 073
58,4%
🩹 Починка76274
14,9%
📚 Волт и знания103252
13,7%
🚀 Аутрич наружу388161
8,8%
💬 Разговор без действий3 72255
3,0%
🔬 Ресёрч1023
1,2%

По месяцам, часы

МесяцПочинкаСтройка инфрыАутричВолтРесёрч
2026-05840000
2026-061564717112123
2026-07110562901300
Починка снизилась (156 → 110 ч), стройка выросла (471 → 562 ч), аутрич почти не сдвинулся (71 → 90 ч).
Твоё ощущение подтверждено замером, но диагноз другой.

Ты сказал «починка занимает больше времени, чем движение вперёд». Починка — 274 ч, это правда много, но это только пятая часть инфра-времени. Съедает тебя не починка, а стройка инструментов: 1 073 часа. Это в 6,7 раза больше, чем всё, что вышло наружу к людям.

«Шаг вперёд и три назад» — не про поломки. Это про то, что мы строим фабрику быстрее, чем она успевает что-то произвести. Верёвка та же, что в аудите ДР: 263 отчёта → 194 «синтезировано» → 8 решений.

4. Как это выглядит по индустриальным меркам

МетрикаИндустриальная нормаУ насВердикт
Покрытие тестами60% приемлемо · 75% хорошо · 90% образцово (шкала Google)2,5% деталейсильно ниже
Объём тестового кодапримерно 1:1 к продакшн-коду~1:100сильно ниже
Документация на модульобычно 30–60% модулей98,6%выше нормы
Комментарии в коде10–20% строк5,4% (Python)ниже, но док-паспорта компенсируют
Длина файла< 400–500 строк74 файла нарушаютлокально
Change failure rate (DORA)элита < 5% · слабые 40–60%не измеряемнет метрики
MTTR — время до восстановления (DORA)элита < 1 часане измеряем · 4 теста лежали красными «молча»нет метрики
Доля времени на незапланированную работу20–40% норма · >50% кризис15% чистая починкав норме
Доля времени на инструменты vs продуктздоровая команда 10–20% на тулинг73%главная аномалия
Микросервисыметрика архитектуры, не качествамонолит из ~700 скриптов + SQLiteдля соло-оператора верно
DORA = четыре метрики из отчёта Google/DevOps Research: частота релизов, время от кода до прода, доля релизов с поломкой, время восстановления. Это индустриальный стандарт «движемся вперёд или буксуем». У нас из них не измеряется ни одна — поэтому спор «шаг вперёд или три назад» до сегодня решался ощущением.

5. Кто и что советовал по харнесам

КтоЧто предлагалКогдаСтатус
Кирилл Симаков
Monosnap 2.5M MAU
20 оптимизаций харнеса с A/B; «Agent Learning Infrastructure» — апгрейд чужих харнесов через A2A; прямое предложение: «will help you to evolve/upgrade your agents / harness or create a custom one»; фрактальный рой агентов (−десятки % токенов и скорости); zero-trust на апдейты харнеса через смарт-контракты 03.07 коммент · 10.07 зум · 21.07 TG-группа разобрано в Decision Memo 04.07, часть отложена
Денис Смирнов AgentPlane.org — платформа-харнес/оркестрация агентов с облачным слоем2026 не разбирали
Grok Heavy (DR 28.07) DeepEval (pytest-native), mutation-тестирование mutmut против ложного зелёного, Keep Rate по git как метрика28.07 ждёт решения
ChatGPT Pro DR Promptfoo или DeepEval; heartbeat-паттерн; предупреждение: Ragas теряет поддержку, Promptfoo куплен OpenAI но MIT сохранён28.07 ждёт решения
Gemini Pro DR Promptfoo (DeepEval отклонить — UI завязан на SaaS), Inspect AI отклонить; ⚠️ Syncthing нельзя пускать на живые .git и SQLite-WAL28.07 ждёт решения
Готовый ответ уже лежит и ждёт тебя: E:\Obsidian\Anton-Knowledge\02-Decisions\decision-2026-07-28-qa-process-and-test-harness.md — синтез 10 отчётов от 3 вендоров, статус «предложено». Там четыре вопроса ждут твоего «+»: (1) стартуем ли Неделю 1 · (2) Promptfoo или DeepEval · (3) порог «выношу в отдельную сессию» 3 / 5 / 10 файлов · (4) проверяем ли гипотезу Syncthing × .git прямо сейчас.

🧒 Простыми словами

Мы написали очень много: почти 400 тысяч строчек, это как 8 толстых книг. Почти всё на одном языке — Python. Язык выбран правильно, тут менять нечего.

У каждой детали есть инструкция «как чинить» — таких почти у всех, 98 из 100. А вот проверялки, которая сама дёргает деталь и говорит «сломалось», почти нет: только у 18 деталей из 708. Сегодня мы первый раз дёрнули все проверялки разом — и четыре оказались красными, они лежали сломанные молча.

И главное. Ты чувствовал, что чинишь больше, чем идёшь вперёд. Посчитали: чинишь 274 часа, а вот строишь инструменты 1073 часа. Наружу к людям ушло всего 161 час. Получается, мы всё время строим станок, а деталей на нём делаем мало. Это не поломка — это перекос.

Считали: loc_census.py и session_census2.py (обход ФС + разбор 5 981 журнала сессий) · данные покрытия из 00-System\Coverage-Map.md (ноут, 28.07 22:45) · красные тесты из 00-System\Regression-Status.md (ноут, 28.07 08:48) · время сессии капнуто 4 часами, чтобы брошенные окна не завышали · классификация сессии = по действиям внутри неё, а не по первой фразе.