phase1(hooks-fix): сужение pre-push lychee + 2 битых ссылки + allowlist demo HTML
При первом запуске pre-push hook'ов после установки lefthook (`4eee06f`)
обнаружились 3 проблемы — все легитимны, не в самом lefthook'е:
1. **gitleaks-full-history** ловил 42 хита `ru-phone-unmasked` в HTML-концептах
handoff Платона (liderra_v8_handoff/concepts/v8_*.html и web/v8/v8_*.html).
Это ДЕМО-данные для визуализации, не реальные ПДн. Добавлены в allowlist
.gitleaks.toml: `liderra_v8_handoff/concepts/.*\.html` + `web/v8/.*\.html`
+ `app/composer.lock`.
2. **lychee-links** ловил 21 ошибку «Cannot resolve root-relative link» на
ссылки `/login`, `/register`, `/legal/*` в HTML-концептах. Эти маршруты
появятся только в фазе 2+ (Vue+Vuetify реализация). Сужен glob
pre-push lychee — выкинут `web/**/*.html`. Дополнительно добавлены
`liderra_v8_handoff/concepts` и `web/v8` в .lychee.toml exclude_path
как защита для других вариантов запуска.
3. **2 РЕАЛЬНЫХ битых ссылки** в narrative — спасибо lychee, нашёл:
- `docs/CRM_bp-gr_Инструкция_v8_5.md:6128` ссылался на `brandbook.md`,
но этот файл удалён 08.05.2026 (заменён на `liderra_v8_handoff/docs/
BRANDBOOK_v2.md` v8 Forest). Исправлен относительный путь.
- `README.md:88` ссылался на `docs/README_АРХИВ_v8_4.md`, но переименован
в `_v8_5.md` коммитом `4ffc19a` от 07.05.2026. Поправлено + bump v8.4→v8.5
в подписи.
Финальный smoke-test после правок:
- gitleaks detect (full history): «no leaks found»
- lychee на narrative .md: 122 OK / 0 Errors / 5 Excluded
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-1
@@ -78,7 +78,13 @@ paths = [
|
||||
'''\.git/''',
|
||||
'''bin/''',
|
||||
'''cspell-words\.txt''',
|
||||
'''\.gitleaks\.toml'''
|
||||
'''\.gitleaks\.toml''',
|
||||
# HTML-концепты handoff Платона (v8 Forest) — демо-данные для визуализации,
|
||||
# не реальные ПДн. Дублирующие пути в liderra_v8_handoff/concepts/ и web/v8/
|
||||
'''liderra_v8_handoff/concepts/.*\.html''',
|
||||
'''web/v8/.*\.html''',
|
||||
# Composer lock — содержит хеши/строки, иногда ловятся регулярками false-positive
|
||||
'''app/composer\.lock'''
|
||||
]
|
||||
regexTarget = "match"
|
||||
regexes = [
|
||||
|
||||
+8
-1
@@ -56,7 +56,14 @@ exclude = [
|
||||
exclude_path = [
|
||||
"node_modules",
|
||||
".git",
|
||||
"bin"
|
||||
"bin",
|
||||
# HTML-концепты handoff Платона (v8 Forest) и копии в web/v8/ — демо-файлы
|
||||
# с root-relative ссылками на будущие маршруты Vue+Vuetify (/login, /register,
|
||||
# /legal/offer, /legal/privacy и т.п.). Lychee не может резолвить их без
|
||||
# --root-dir, плюс маршруты появятся только после реализации в фазе 2+.
|
||||
# Линки внутри концептов проверяем визуально при ревью handoff'а.
|
||||
"liderra_v8_handoff/concepts",
|
||||
"web/v8"
|
||||
]
|
||||
|
||||
# User-Agent — некоторые сайты режут пустой
|
||||
|
||||
@@ -85,7 +85,7 @@ liderra/
|
||||
| [CLAUDE.md](CLAUDE.md) | Оперативная карта для Claude Code: приоритет правил (5 уровней), стек проекта, карта 28 инструментов «когда что использовать», 10 запретов, текущая фаза |
|
||||
| [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) | Прил. Н v1.0 — полный реестр 28 инструментов в 4 фазах (фаза 0 — сейчас, +1 Laravel, +2 Vue, +3 pre-prod), конфликты и решения, процедура перехода между фазами, особенности Windows + PowerShell |
|
||||
| [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) v1.2 | Продуктовые правила работы Claude в проекте |
|
||||
| [docs/README_АРХИВ_v8_4.md](docs/README_АРХИВ_v8_4.md) v8.4 | Состав архива, навигатор по документам |
|
||||
| [docs/README_АРХИВ_v8_5.md](docs/README_АРХИВ_v8_5.md) v8.5 | Состав архива, навигатор по документам |
|
||||
| [docs/CRM_bp-gr_Инструкция_v8_5.md](docs/CRM_bp-gr_Инструкция_v8_5.md) v8.5 | Главное ТЗ из 28 разделов (v8.5 — реализация 27 решений аудита C от 07.05.2026; v8.4 финал был 06.05.2026) |
|
||||
| [db/schema.sql](db/schema.sql) v8.5 | Схема БД PostgreSQL 16 (54 таблицы + 12 партиций, 91 индекс, 34 RLS-политики, 4 роли, 12 триггеров, 4 функции — после v8.5 от 07.05.2026) |
|
||||
|
||||
|
||||
@@ -6125,7 +6125,7 @@ groups:
|
||||
|
||||
## 26.1. Источник истины
|
||||
|
||||
Полная дизайн-система — в файле **[brandbook.md](brandbook.md) v1.1** (палитра, типографика, лого SVG inline, Vuetify-тема). Этот раздел — **краткая выжимка ключевых решений**, без дублирования.
|
||||
Полная дизайн-система — в файле **[liderra_v8_handoff/docs/BRANDBOOK_v2.md](../liderra_v8_handoff/docs/BRANDBOOK_v2.md) v8 Forest** (палитра Forest, типографика Inter+JBM, лого L-Square SVG, Vuetify-тема). Этот раздел — **краткая выжимка ключевых решений**, без дублирования. *Старый `docs/brandbook.md` v1.1 удалён 08.05.2026 после ребрендинга и заменён handoff'ом Платона — см. CLAUDE.md §0 + memory `reference_archive.md`.*
|
||||
|
||||
| Тема | Где смотреть в брендбуке |
|
||||
|---|---|
|
||||
|
||||
+5
-3
@@ -88,11 +88,13 @@ pre-push:
|
||||
gitleaks нашёл утечки в истории коммитов.
|
||||
Перед push разберись с каждой находкой.
|
||||
|
||||
# 6. lychee — проверка всех ссылок в .md / .html (медленно, но ловит битые ссылки до push)
|
||||
# 6. lychee — проверка ссылок в narrative-доках (.md). HTML-концепты в web/v8/
|
||||
# и liderra_v8_handoff/concepts/ намеренно НЕ проверяются — там root-relative
|
||||
# ссылки на будущие маршруты Vue+Vuetify (/login, /register, /legal/*).
|
||||
- name: lychee-links
|
||||
run: ./bin/lychee.exe --config .lychee.toml "docs/**/*.md" "db/**/*.md" "*.md" "web/**/*.html"
|
||||
run: ./bin/lychee.exe --config .lychee.toml "docs/**/*.md" "db/**/*.md" "*.md"
|
||||
fail_text: |
|
||||
lychee нашёл битые ссылки.
|
||||
lychee нашёл битые ссылки в .md.
|
||||
Запусти `npm run links` локально, поправь URL или добавь в `.lychee.toml` exclude.
|
||||
|
||||
# Подавить служебный вывод
|
||||
|
||||
Reference in New Issue
Block a user