---
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.*