Commit Graph

5 Commits

Author SHA1 Message Date
Дмитрий 06441fd79b fix(hooks): gitleaks-full-history чисто пропускается без бинаря (шелл-агностичный guard, без exit-127)
Хрупкий guard `test -f ./bin/gitleaks.exe || exit 0` падал exit-127, когда команда test недоступна
в шелле git-хука → шаг pre-push падал вместо чистого пропуска. Новый tools/run-if-exists.mjs (node,
всегда доступен в контексте хука): бинарь отсутствует → skip exit 0; присутствует → запуск с
пробросом кода. lefthook gitleaks-full-history переведён на него. Разведка: bin/gitleaks.exe и
.gitleaks.toml в репо отсутствуют → реальный скан невозможен, наблюдался именно exit-127, не
настоящая находка; .gitleaksignore без бинаря/конфига/отпечатков не составить. gitleaks #1 и lychee
#14 — тот же паттерн, отдельный инфра-долг. Эпик роутер-реестр этап 3, item 6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 10:02:47 +03:00
Дмитрий c5af28f529 refactor(router): Этап B сноса цепочек L — потребители/наблюдатель/хуки без реестра L1-L17
B2: router-classifier.mjs без buildChainsBlock и блоков «Available chains» (recommended_chain сохранён).
B3: удалены router-stop-gate(+test) и observer-chain-map-checker(+test); status-md-generator без
health-check C6; lefthook.yml без шага observer-chain-map-checker. observer-chain-detector и
observer-chain-map.json — снос отложен в под-этап (живые импортёры transcript-parser/retrofill/stop-hook).
Гайд: восстановлена markdown-разметка урока 2026-06-20. Полный свод зелёный.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 04:01:48 +03:00
Дмитрий 5fb98977df fix(lefthook): skip-if-missing для непоставленных проверок + завершение этапа 2b в учёте (роутер-реестр)
Ремонт инфра-долга (после сплита ADR-020 не установлены gitleaks/markdownlint/
cspell/lychee → pre-commit жёстко падал, форсил глухой LEFTHOOK=0):
5 джоб pre-commit/pre-push обёрнуты в `if test -f <tool>; then <run>; else echo skip; fi`.
- инструмент отсутствует → джоба ПРОПУСКАЕТСЯ (коммит не срывается);
- инструмент есть и нашёл проблему → по-прежнему БЛОКИРУЕТ (if/then/else, не ||);
- рабочие контролёры (adr-judge/cross-ref/observer/registry) идут на каждом коммите.

Учёт этапа 2b: splitting-inventory +секция статуса (2a/2b DONE, осталось 2c/2d/этап3);
план этапа 2 (vocabulary-graph) + спека/план церемонии фиксации внесены в репозиторий.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 11:42:40 +03:00
Дмитрий c7f4160358 chore: lefthook brain-split + snapshot-stamp 3977770
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 09:12:49 +03:00
Дмитрий 397777089e feat: claude-brain — управляющий слой, выделен из Лидерры по ADR-020
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 08:06:08 +03:00