kb-health: объективная метрика качества KB (karpathy-style val_bpb)
6 категорий штрафов со взвешенной суммой: - broken_wikilinks (×10) — [[foo]] не ведёт никуда - broken_paths (×10) — [text](./foo.md) не существует - missing_frontmatter (×3) — .md без frontmatter-заголовка - orphan_files (×2) — нет входящих wikilinks и не в служебных папках - undated_todos (×1) — "- [ ]" без YYYY-MM-DD - duplicate_basenames (×5) — одинаковое имя в разных папках Baseline сегодня: score=493 (158 файлов). Выход: audit/DATE-health.md (человекочит) + audit/health-latest.json (для agent-loop). False-positives зачинены: - wikilinks внутри backticks/fenced code игнорим - ../ и ./ пути резолвятся от файла-источника - CLAUDE.md/README.md не требуют frontmatter
This commit is contained in:
141
audit/2026-04-18-health.md
Normal file
141
audit/2026-04-18-health.md
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
date: 2026-04-18
|
||||
type: audit
|
||||
source: kb-health.py
|
||||
score: 493
|
||||
tags: [audit, health, metric]
|
||||
---
|
||||
|
||||
# KB health — 2026-04-18
|
||||
|
||||
**Score (меньше = лучше): `493`**
|
||||
Проверено файлов: 158
|
||||
|
||||
## Разбивка
|
||||
|
||||
| Категория | Кол-во | Вес | Штраф |
|
||||
|---|---:|---:|---:|
|
||||
| broken_wikilinks | 0 | 10 | 0 |
|
||||
| broken_paths | 4 | 10 | 40 |
|
||||
| missing_frontmatter | 70 | 3 | 210 |
|
||||
| orphan_files | 90 | 2 | 180 |
|
||||
| undated_todos | 48 | 1 | 48 |
|
||||
| duplicate_basenames | 3 | 5 | 15 |
|
||||
| **ИТОГО** | | | **493** |
|
||||
|
||||
## Битые relative-пути
|
||||
|
||||
| Откуда | Путь |
|
||||
|---|---|
|
||||
| `decisions/2026-04-14-niikn-openwrt-awg-fix.md` | `/root/.claude/knowledge-base/projects/niikn/openwrt-bypass.md` |
|
||||
| `decisions/2026-04-14-niikn-openwrt-awg-fix.md` | `/root/.claude/projects/-root/memory/niikn-vpn-status.md` |
|
||||
| `projects/dttb/spaceweb-dns.md` | `feedback_spaceweb_dns.md` |
|
||||
| `claude-memory/niikn-vpn-status.md` | `/root/.claude/knowledge-base/projects/niikn/openwrt-bypass.md` |
|
||||
|
||||
## Без frontmatter (70)
|
||||
|
||||
- `decisions/2026-04-17-peredelki-podkop-stability-fix.md`
|
||||
- `decisions/2026-03-03-mailserver-setup-scenario.md`
|
||||
- `decisions/2026-04-16-unifi-migration-peredelki.md`
|
||||
- `decisions/2026-04-14-niikn-openwrt-awg-fix.md`
|
||||
- `decisions/2026-03-04-matrix-niikn-setup.md`
|
||||
- `decisions/2026-02-26-clawdbot-129-cliproxy-fix.md`
|
||||
- `decisions/2026-04-14-openclaw-claude-code-pipeline.md`
|
||||
- `decisions/2026-04-17-code-server-upgrade.md`
|
||||
- `notes/2026-02-26-session-summary.md`
|
||||
- `notes/2026-02-26-knowledge-base-setup.md`
|
||||
- `notes/2026-02-26-full-session-log.md`
|
||||
- `notes/2026-02-26-claude-code-session-clawdbot-fix.md`
|
||||
- `projects/clawdbot-bots.md`
|
||||
- `projects/bitrix-sites.md`
|
||||
- `projects/infrastructure-overview.md`
|
||||
- `projects/homelab-proxmox.md`
|
||||
- `projects/video-surveillance.md`
|
||||
- `projects/all-projects-summary.md`
|
||||
- `projects/unresolved-issues.md`
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/dttb/agentdvr-home.md`
|
||||
- `projects/dttb/mailcow-dttb.md`
|
||||
- `projects/dttb/netbird-inventory.md`
|
||||
- `projects/dttb/npm-proxy-hosts.md`
|
||||
- `projects/dttb/gitea.md`
|
||||
- `projects/dttb/video-surveillance-report.md`
|
||||
- `projects/dttb/network-topology.md`
|
||||
- `projects/dttb/server1c.md`
|
||||
- `projects/dttb/npm-homelab.md`
|
||||
- `projects/dttb/openclaw.md`
|
||||
- ... +40 ещё
|
||||
|
||||
## Orphan — без бэклинков (90)
|
||||
|
||||
_Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._
|
||||
|
||||
- `decisions/2026-04-17-peredelki-podkop-stability-fix.md`
|
||||
- `decisions/2026-03-03-mailserver-setup-scenario.md`
|
||||
- `decisions/2026-04-16-unifi-migration-peredelki.md`
|
||||
- `decisions/2026-04-14-niikn-openwrt-awg-fix.md`
|
||||
- `decisions/2026-03-04-matrix-niikn-setup.md`
|
||||
- `decisions/2026-02-26-clawdbot-129-cliproxy-fix.md`
|
||||
- `decisions/README.md`
|
||||
- `decisions/2026-04-14-openclaw-claude-code-pipeline.md`
|
||||
- `decisions/2026-04-17-code-server-upgrade.md`
|
||||
- `notes/2026-02-26-session-summary.md`
|
||||
- `notes/2026-02-26-knowledge-base-setup.md`
|
||||
- `notes/README.md`
|
||||
- `notes/2026-02-26-full-session-log.md`
|
||||
- `notes/2026-02-26-claude-code-session-clawdbot-fix.md`
|
||||
- `projects/clawdbot-bots.md`
|
||||
- `projects/bitrix-sites.md`
|
||||
- `projects/infrastructure-overview.md`
|
||||
- `projects/homelab-proxmox.md`
|
||||
- `projects/video-surveillance.md`
|
||||
- `projects/all-projects-summary.md`
|
||||
- `projects/unresolved-issues.md`
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/krasnogorsk/README.md`
|
||||
- `projects/dttb/agentdvr-home.md`
|
||||
- `projects/dttb/mailcow-dttb.md`
|
||||
- `projects/dttb/netbird-inventory.md`
|
||||
- `projects/dttb/gitea.md`
|
||||
- `projects/dttb/video-surveillance-report.md`
|
||||
- `projects/dttb/network-topology.md`
|
||||
- `projects/dttb/server1c.md`
|
||||
- ... +60 ещё
|
||||
|
||||
## TODO без даты (48 шт в 12 файлах)
|
||||
|
||||
- `projects/niikn/changelog.md` — 12 шт
|
||||
- `projects/niikn/NIIKN-ChangeLog.md` — 6 шт
|
||||
- `projects/niikn/matrix.md` — 5 шт
|
||||
- `projects/dttb/nextcloud-talk-bot/README.md` — 5 шт
|
||||
- `daily/2026-04-19.md` — 5 шт
|
||||
- `claude-memory/mas-niikn.md` — 5 шт
|
||||
- `decisions/2026-04-16-unifi-migration-peredelki.md` — 4 шт
|
||||
- `projects/niikn/README.md` — 2 шт
|
||||
- `decisions/2026-04-14-openclaw-claude-code-pipeline.md` — 1 шт
|
||||
- `projects/dttb/mailcow-dttb.md` — 1 шт
|
||||
- `daily/2026-04-17.md` — 1 шт
|
||||
- `templates/daily-note.md` — 1 шт
|
||||
|
||||
## Дубликаты имён (3)
|
||||
|
||||
- `README.md`:
|
||||
- `README.md`
|
||||
- `decisions/README.md`
|
||||
- `notes/README.md`
|
||||
- `projects/krasnogorsk/README.md`
|
||||
- `projects/dttb/README.md`
|
||||
- `projects/glavtorg/README.md`
|
||||
- `projects/niikn/README.md`
|
||||
- `projects/dttb/nextcloud-talk-bot/README.md`
|
||||
- `snippets/README.md`
|
||||
- `scripts/README.md`
|
||||
- `nextcloud.md`:
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/dttb/nextcloud.md`
|
||||
- `proxmox-inventory.md`:
|
||||
- `projects/dttb/proxmox-inventory.md`
|
||||
- `projects/mmfb/proxmox-inventory.md`
|
||||
|
||||
---
|
||||
*Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.*
|
||||
Reference in New Issue
Block a user