--- date: 2026-05-03 type: audit source: kb-health.py score: 458 tags: [audit, health, metric] --- # KB health — 2026-05-03 **Score (меньше = лучше): `458`** Проверено файлов: 327 ## Разбивка | Категория | Кол-во | Вес | Штраф | |---|---:|---:|---:| | broken_wikilinks | 7 | 10 | 70 | | broken_paths | 20 | 10 | 200 | | missing_frontmatter | 17 | 3 | 51 | | orphan_files | 38 | 2 | 76 | | undated_todos | 36 | 1 | 36 | | duplicate_basenames | 5 | 5 | 25 | | **ИТОГО** | | | **458** | ## Битые wikilinks | Откуда | `[[таргет]]` | |---|---| | `decisions/2026-04-30-niikn-culture-gov-fakeip-fix.md` | `[[notes/govru-diagnosis]]` | | `decisions/2026-05-02-apple-id-tj-via-residential-proxy.md` | `[[../snippets/clients/]]` | | `decisions/2026-04-30-openwrt-homelab-agh-podkop-chain.md` | `[[../claude-memory/podkop]]` | | `decisions/2026-04-29-rustdesk-client-deployment-package.md` | `[[../snippets/clients/]]` | | `decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md` | `[[notes/govru-diagnosis]]` | | `projects/dttb/rustdesk.md` | `[[../../../knowledge-base/feedback_lxc_loadavg]]` | | `snippets/clients/yaroslav-amnezia-setup.md` | `[[feedback_finland_security]]` | ## Битые relative-пути | Откуда | Путь | |---|---| | `notes/claude/2026-04-21-200915-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `projects/dttb/vps-swtest.md` | | `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `decisions/2026-04-28-rustdesk-lejianwen-pro-migration.md` | | `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` | | `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/credentials.md` | | `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/proxmox-inventory.md` | | `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` | | `notes/claude/2026-04-29-231939-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/happ-routing-roscomvpn.md` | | `notes/claude/2026-04-29-160010-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` | | `notes/claude/2026-04-29-071329-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/otchet-yuri-2026-04.md` | | `notes/claude/2026-04-29-150044-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` | | `notes/claude/2026-04-29-223542-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` | | `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `projects/dttb/znamenskoye-network-topology.md` | | `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `claude-memory/benelux-topology.md` | | `notes/claude/2026-04-29-180420-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` | | `notes/claude/2026-04-28-132949-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` | | `notes/claude/2026-04-29-163821-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/amnezia-split-tunnel-ru.md` | | `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` | | `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` | | `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` | | `notes/claude/2026-04-29-001915-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/yuri-vitalievich.md` | ## Без frontmatter (17) - `projects/dttb/znamenskoye-log.md` - `projects/niikn/kripto-arm.md` - `projects/mmfb/yuri-vitalievich.md` - `projects/mmfb/otchet-yuri-2026-04.md` - `snippets/happ-vpn-client-instruction.md` - `snippets/invoice-template.md` - `snippets/assets/happ-routing-roscomvpn/README-upstream.md` - `claude-memory/servicedesk-dttb.md` - `claude-memory/benelux.md` - `claude-memory/nextcloud-dttb.md` - `claude-memory/nvr-fix.md` - `claude-memory/videonablyudenie.md` - `claude-memory/znamenskoe-home.md` - `claude-memory/niikn-nextcloud.md` - `claude-memory/krasnogorsk.md` - `claude-memory/mas-niikn.md` - `claude-memory/MEMORY.md` ## Orphan — без бэклинков (38) _Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._ - `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` - `decisions/2026-04-30-niikn-culture-gov-fakeip-fix.md` - `decisions/2026-05-02-apple-id-tj-via-residential-proxy.md` - `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` - `decisions/2026-04-28-netbird-watchdog-lxc-132-137.md` - `decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md` - `projects/niikn/credentials.md` - `projects/niikn/kripto-arm.md` - `projects/niikn/domofon.md` - `projects/mmfb/yuri-vitalievich.md` - `projects/mmfb/otchet-yuri-2026-04.md` - `projects/mmfb/mikrotik.md` - `projects/zelenograd/README.md` - `snippets/happ-routing-roscomvpn.md` - `snippets/invoice-template.md` - `snippets/assets/happ-routing-roscomvpn/README-upstream.md` - `claude-memory/cliproxy_code_server.md` - `claude-memory/servicedesk-dttb.md` - `claude-memory/benelux-topology.md` - `claude-memory/benelux.md` - `claude-memory/znamenskoye-cameras.md` - `claude-memory/nextcloud-dttb.md` - `claude-memory/nvr-fix.md` - `claude-memory/niikn-vpn-status.md` - `claude-memory/znamenskoye-ohothozyistvo.md` - `claude-memory/znamenskoye-network.md` - `claude-memory/niikn-nextcloud-incident.md` - `claude-memory/videonablyudenie.md` - `claude-memory/znamenskoe-home.md` - `claude-memory/feedback_dns_fakeip.md` - ... +8 ещё ## TODO без даты (36 шт в 5 файлах) - `decisions/2026-04-30-rustdesk-pre-prod-audit.md` — 13 шт - `templates/vpn-client.md` — 7 шт - `decisions/2026-04-29-rustdesk-client-deployment-package.md` — 6 шт - `projects/dttb/vpn-clients.md` — 5 шт - `claude-memory/mas-niikn.md` — 5 шт ## Дубликаты имён (5) - `README.md`: - `README.md` - `decisions/README.md` - `notes/README.md` - `projects/dttb/README.md` - `projects/glavtorg/README.md` - `projects/niikn/README.md` - `projects/krasnogorsk/README.md` - `projects/zelenograd/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` - `credentials.md`: - `projects/dttb/credentials.md` - `projects/niikn/credentials.md` - `mikrotik.md`: - `projects/niikn/mikrotik.md` - `projects/mmfb/mikrotik.md` --- *Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.*