From b80ea1688c3d221f8c834560b269be2e0fbbcf41 Mon Sep 17 00:00:00 2001 From: code-server Date: Sun, 26 Apr 2026 06:05:01 +0000 Subject: [PATCH] code-server auto-sync 2026-04-26T06:05:01+00:00 --- audit/2026-04-26-creds-drift.md | 41 +++++++++++ audit/2026-04-26-dns-drift.md | 81 +++++++++++++++++++++ audit/2026-04-26-drift.md | 71 +++++++++++++++++++ audit/2026-04-26-health.md | 122 ++++++++++++++++++++++++++++++++ audit/2026-04-26-npm-drift.md | 59 +++++++++++++++ audit/2026-04-26-proposed.md | 101 ++++++++++++++++++++++++++ audit/health-latest.json | 16 ++--- 7 files changed, 483 insertions(+), 8 deletions(-) create mode 100644 audit/2026-04-26-creds-drift.md create mode 100644 audit/2026-04-26-dns-drift.md create mode 100644 audit/2026-04-26-drift.md create mode 100644 audit/2026-04-26-health.md create mode 100644 audit/2026-04-26-npm-drift.md create mode 100644 audit/2026-04-26-proposed.md diff --git a/audit/2026-04-26-creds-drift.md b/audit/2026-04-26-creds-drift.md new file mode 100644 index 0000000..bd7a869 --- /dev/null +++ b/audit/2026-04-26-creds-drift.md @@ -0,0 +1,41 @@ +--- +date: 2026-04-26 +type: audit +source: kb-audit-creds.py +tags: [audit, creds, reachability] +--- + +# Credentials reachability — 2026-04-26 + +Ping-проверка URL из [[../projects/dttb/credentials|credentials.md]]. +Проверяется только reachability (HTTP status), не реальный логин. + +- Всего URL: **14** +- ✓ Reachable: 12 / ⚠ Questionable: 2 / ❌ Unreachable: 0 + +## ⚠ Нестандартный ответ + +| URL | Status | Detail | +|---|---|---| +| `https://api.netbird.io` | 404 | Not Found | +| `https://api.netbird.io/api/setup-keys` | 404 | Not Found | + +## ✓ Все ответили нормально + +| URL | Status | Категория | +|---|---|---| +| `https://10.0.0.250:8006` | 200 | ✓ reachable | +| `https://pve.dttb.ru` | 200 | ✓ reachable | +| `http://10.0.0.189:3000` | 200 | ✓ reachable | +| `http://git.dttb.ru` | 200 | ✓ reachable | +| `http://10.0.0.195:81` | 200 | ✓ reachable | +| `https://npm.dttb.ru` | 200 | ✓ reachable | +| `https://dttb.ru` | 200 | ✓ reachable | +| `https://dttb.ru/remote.php/dav/files/admin` | 401 | ✓ auth-required (сервер жив) | +| `https://vps.sweb.ru` | 200 | ✓ reachable | +| `https://api.sweb.ru/domains/dns` | 200 | ✓ reachable | +| `https://mail.niikn.com` | 200 | ✓ reachable | +| `http://192.168.1.22:81` | 200 | ✓ reachable | + +--- +*Автоматически через `scripts/kb-audit-creds.py`.* \ No newline at end of file diff --git a/audit/2026-04-26-dns-drift.md b/audit/2026-04-26-dns-drift.md new file mode 100644 index 0000000..68a8194 --- /dev/null +++ b/audit/2026-04-26-dns-drift.md @@ -0,0 +1,81 @@ +--- +date: 2026-04-26 +type: audit +source: kb-audit-dns.py +tags: [audit, dns] +--- + +# DNS resolve audit — 2026-04-26 + +Резолвим все домены из NPM через публичный DNS (8.8.8.8) и локальный роутер (10.0.0.1). + +- Всего доменов: **22** +- NXDOMAIN на 8.8.8.8: 2 / пустой ответ локально: 1 / split-horizon: 20 + +## ❌ NXDOMAIN / не резолвится на 8.8.8.8 (публичный DNS) + +| Домен | Локальный IP | +|---|---| +| `itilegent.ru` | (тоже нет) | +| `vpn.dttb.ru` | 10.0.0.195 | + +## ⚠ Split-horizon — разные IP снаружи и внутри + +Это нормально для *.dttb.ru (внешний Let's Encrypt IP vs локальный 10.0.0.195). Но неожиданный split может быть багом. + +| Домен | Публичный (8.8.8.8) | Локальный (10.0.0.1) | +|---|---|---| +| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 | +| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 | + +## ⚠ Пустой локальный резолв (роутер не знает) + +- `itilegent.ru` (публичный: -) + +## Полная таблица резолва + +| Домен | 8.8.8.8 | 10.0.0.1 | +|---|---|---| +| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `itilegent.ru` | — | — | +| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 | +| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 | +| `vpn.dttb.ru` | — | 10.0.0.195 | +| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 | + +--- +*Автоматически через `scripts/kb-audit-dns.py`.* \ No newline at end of file diff --git a/audit/2026-04-26-drift.md b/audit/2026-04-26-drift.md new file mode 100644 index 0000000..1d0af56 --- /dev/null +++ b/audit/2026-04-26-drift.md @@ -0,0 +1,71 @@ +--- +date: 2026-04-26 +type: audit +source: kb-audit.py +tags: [audit, drift, infrastructure] +--- + +# KB drift audit — 2026-04-26 + +Сравнение живого `pct list` / `qm list` с [[../projects/dttb/proxmox-inventory|proxmox-inventory.md]] + +- Живых гостей Proxmox: **39** +- Упомянуто в inventory: **39** +- В обоих: 37 / только в live: 2 / отсутствуют в live: 0 +- Известны как удалённые: 2 (в `## 🗑️ Удалённые`) + +## ⚠ В Proxmox есть, в inventory НЕТ (надо добавить) + +| VMID | Type | Status | Name | +|---|---|---|---| +| 128 | LXC | running | profi-parser | +| 131 | VM | running | ubuntu | + +## ✓ Удалённые хосты (задокументированы): 133, 135 + +## Полный живой список + +| VMID | Type | Status | Name | +|---|---|---|---| +| 100 | VM | stopped | NV | +| 101 | LXC | stopped | n8n | +| 102 | LXC | stopped | SMB | +| 103 | LXC | running | NPM | +| 104 | VM | stopped | Agent-DVR | +| 105 | VM | stopped | Nextcloud-AIO-dttb.ru | +| 106 | VM | running | pbs | +| 107 | VM | running | Mailcow | +| 108 | LXC | stopped | zabbix | +| 109 | VM | stopped | itilelegent | +| 110 | VM | stopped | Cloud | +| 111 | VM | running | WinServer2025 | +| 112 | VM | stopped | cloud-dttb | +| 113 | LXC | running | VaultWarden | +| 114 | LXC | running | LinkWarden | +| 115 | LXC | running | watchyourlan | +| 116 | LXC | running | rustdeskserver | +| 117 | LXC | stopped | motioneye | +| 118 | LXC | stopped | plex | +| 119 | LXC | stopped | myspeed | +| 120 | VM | stopped | 7 | +| 121 | LXC | stopped | docker-windows | +| 122 | LXC | stopped | qbittorrent | +| 123 | LXC | stopped | proxmox-local | +| 124 | VM | stopped | Matrix | +| 125 | VM | stopped | datacentr | +| 126 | LXC | stopped | debian | +| 127 | VM | running | haos-17.0 | +| 128 | LXC | running | profi-parser | +| 129 | VM | running | profi-parser-vm | +| 130 | VM | stopped | Zima-OS | +| 131 | VM | running | ubuntu | +| 132 | LXC | running | code-server | +| 134 | LXC | running | ZnamSecurityBot | +| 136 | LXC | running | gitea | +| 137 | LXC | running | openclaw | +| 138 | LXC | running | vpn-proxy | +| 139 | LXC | running | yaroslav-assistant | +| 250 | VM | running | Nextcloud-AIO | + +--- +*Автоматически сгенерировано `scripts/kb-audit.py`. Применять правки — вручную после ревью.* \ No newline at end of file diff --git a/audit/2026-04-26-health.md b/audit/2026-04-26-health.md new file mode 100644 index 0000000..04776c5 --- /dev/null +++ b/audit/2026-04-26-health.md @@ -0,0 +1,122 @@ +--- +date: 2026-04-26 +type: audit +source: kb-health.py +score: 221 +tags: [audit, health, metric] +--- + +# KB health — 2026-04-26 + +**Score (меньше = лучше): `221`** +Проверено файлов: 501 + +## Разбивка + +| Категория | Кол-во | Вес | Штраф | +|---|---:|---:|---:| +| broken_wikilinks | 0 | 10 | 0 | +| broken_paths | 9 | 10 | 90 | +| missing_frontmatter | 14 | 3 | 42 | +| orphan_files | 32 | 2 | 64 | +| undated_todos | 5 | 1 | 5 | +| duplicate_basenames | 4 | 5 | 20 | +| **ИТОГО** | | | **221** | + +## Битые relative-пути + +| Откуда | Путь | +|---|---| +| `notes/claude/2026-04-21-200915-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `projects/dttb/vps-swtest.md` | +| `notes/claude/2026-04-20-113423-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` | +| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/mmfb/mikrotik.md` | +| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/mikrotik.md` | +| `notes/claude/2026-04-24-165527-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` | +| `notes/claude/2026-04-21-203517-дай-мне-команду-в-сшел-виндовс-установка-нетбирд-и.md` | `/Users/ai/.claude/projects/-Users-ai-knowledge-base/memory/reference_netbird_claude_diag.md` | +| `notes/claude/2026-04-20-101023-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/openwrt-bypass.md` | +| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` | +| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `claude-memory/znamenskoye-ohothozyistvo.md` | + +## Без frontmatter (14) + +- `projects/dttb/znamenskoye-log.md` +- `projects/mmfb/yuri-vitalievich.md` +- `snippets/happ-vpn-client-instruction.md` +- `snippets/invoice-template.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 — без бэклинков (32) + +_Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._ + +- `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` +- `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` +- `decisions/2026-04-24-finland-vps-malware-cleanup.md` +- `projects/dttb/vps-swtest.md` +- `projects/niikn/domofon.md` +- `projects/mmfb/yuri-vitalievich.md` +- `projects/mmfb/mikrotik.md` +- `projects/zelenograd/README.md` +- `snippets/happ-vpn-client-instruction.md` +- `snippets/invoice-template.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` +- `claude-memory/niikn-nextcloud.md` +- `claude-memory/feedback_finland_vps.md` +- `claude-memory/whatsapp-proxy.md` +- `claude-memory/gitea-dttb.md` +- `claude-memory/krasnogorsk.md` +- `claude-memory/mas-niikn.md` +- ... +2 ещё + +## TODO без даты (5 шт в 1 файлах) + +- `claude-memory/mas-niikn.md` — 5 шт + +## Дубликаты имён (4) + +- `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` +- `mikrotik.md`: + - `projects/niikn/mikrotik.md` + - `projects/mmfb/mikrotik.md` + +--- +*Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.* \ No newline at end of file diff --git a/audit/2026-04-26-npm-drift.md b/audit/2026-04-26-npm-drift.md new file mode 100644 index 0000000..ef8327e --- /dev/null +++ b/audit/2026-04-26-npm-drift.md @@ -0,0 +1,59 @@ +--- +date: 2026-04-26 +type: audit +source: kb-audit-npm.py +tags: [audit, drift, npm] +--- + +# NPM drift audit — 2026-04-26 + +Сверка [[../projects/dttb/npm-proxy-hosts|npm-proxy-hosts.md]] с NPM API (https://npm.dttb.ru). + +- Живых proxy hosts: **22** +- В KB: **20** +- Совпадений: 20 / новых: 2 / удалённых из NPM: 0 / с изменениями: 2 + +## ⚠ Новые hosts (в NPM есть, в KB нет) + +| ID | Домены | Backend | SSL | Enabled | +|---|---|---|---|---| +| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on | +| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on | + +## 🔄 Изменения (ID совпадает, но что-то сменилось) + +### #12 `bitrix24.dttb.ru` +- backend: KB=`10.0.0.223:8080` → live=`10.0.0.224:8080` + +### #22 `git.dttb.ru` +- ssl: KB=✗ → live=✓ + +## Полный живой список + +| ID | Домены | Backend | SSL | Enabled | +|---|---|---|---|---| +| 1 | `dttb.ru` | `10.0.0.230:11001` | ✓ | on | +| 2 | `office.dttb.ru` | `10.0.0.169:8080` | ✓ | on | +| 3 | `itilegent.ru` | `10.0.0.223:8080` | ✓ | on | +| 4 | `npm.dttb.ru` | `10.0.0.195:81` | ✓ | on | +| 5 | `porteiner.dttb.ru` | `10.0.0.10:9443` | ✓ | on | +| 6 | `pve.dttb.ru` | `10.0.0.250:8006` | ✓ | on | +| 9 | `ai.dttb.ru` | `10.0.0.179:8080` | ✓ | on | +| 10 | `bit.dttb.ru` | `10.0.0.217:8080` | ✓ | on | +| 11 | `link.dttb.ru` | `10.0.0.184:3000` | ✓ | on | +| 12 | `bitrix24.dttb.ru` | `10.0.0.224:8080` | ✓ | on | +| 13 | `ip.dttb.ru` | `10.0.0.112:8840` | ✓ | on | +| 14 | `remot.dttb.ru` | `10.0.0.43:21114` | ✓ | on | +| 15 | `plex.dttb.ru` | `10.0.0.200:32400` | ✓ | on | +| 16 | `home.dttb.ru` | `10.0.0.155:8123` | ✓ | on | +| 17 | `z.dttb.ru` | `10.0.0.220:80` | ✓ | on | +| 21 | `rec.dttb.ru` | `10.0.0.227:8091` | ✓ | on | +| 22 | `git.dttb.ru` | `10.0.0.189:3000` | ✓ | on | +| 23 | `matrix.dttb.ru` | `10.0.0.224:8080` | ✓ | on | +| 25 | `mail.dttb.ru` | `10.0.0.107:443` | ✓ | on | +| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on | +| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on | +| 28 | `bot.dttb.ru` | `10.0.0.239:18789` | ✓ | on | + +--- +*Автоматически через `scripts/kb-audit-npm.py`.* \ No newline at end of file diff --git a/audit/2026-04-26-proposed.md b/audit/2026-04-26-proposed.md new file mode 100644 index 0000000..4eb444d --- /dev/null +++ b/audit/2026-04-26-proposed.md @@ -0,0 +1,101 @@ +--- +date: 2026-04-26 +type: audit-proposed +source: kb-audit-propose.sh (Opus 4.7) +tags: [audit, proposed, inventory] +--- + +# Предложенные правки inventory — 2026-04-26 + +Сгенерировано Claude Opus на основе [[2026-04-26-drift|drift-отчёта]]. +**Правки НЕ применены.** Ревью — ты. Apply — вручную. + +Анализирую drift-отчёт и inventory — всё данные уже перед глазами, агенты не нужны. + +--- + +## 1. Резюме + +В Proxmox появились 2 новых гостя (**LXC 128 profi-parser**, **VM 131 ubuntu**), а **VM 129** — живая и running под именем **profi-parser-vm**, хотя в inventory записана как удалённая «Clawdbot». Итого inventory нужно обновить с 36 до 39 гостей. + +--- + +## 2. Конкретные правки + +### 2.1. Сводка — обновить цифры + +```diff + | Тип | Всего | Запущено | Остановлено | + |-----|-------|----------|-------------| +-| QEMU VM | 15 | 5 | 10 | +-| LXC | 21 | 11 | 10 | +-| **Итого** | **36** | **16** | **20** | ++| QEMU VM | 17 | 7 | 10 | ++| LXC | 22 | 12 | 10 | ++| **Итого** | **39** | **19** | **20** | +``` + +### 2.2. Добавить VM 129 — profi-parser-vm в «Запущенные VM» + +Вставить после блока VM 127 (haos-17.0): + +```markdown +### VM 129 — profi-parser-vm +| Параметр | Значение | +|----------|----------| +| Статус | 🟢 running | +| Назначение | Profi-parser VM (детали уточнить) | +``` + +### 2.3. Добавить VM 131 — ubuntu в «Запущенные VM» + +Вставить после блока VM 129: + +```markdown +### VM 131 — ubuntu +| Параметр | Значение | +|----------|----------| +| Статус | 🟢 running | +| Назначение | Ubuntu VM (детали уточнить) | +``` + +### 2.4. Добавить LXC 128 — profi-parser в «Запущенные LXC» + +Вставить перед блоком LXC 132 (code-server), чтобы VMID шли по порядку: + +```markdown +### LXC 128 — profi-parser +| Параметр | Значение | +|----------|----------| +| Статус | 🟢 running | +| Назначение | Profi-parser (детали уточнить) | +``` + +### 2.5. Удалить VM 129 из секции «Удалённые» + +```diff + ## 🗑️ Удалённые (история) + + | VMID | Имя | Когда | Куда делось | + |------|-----|-------|-------------| +-| 129 | Clawdbot | ~апрель 2026 | Данные перенесены на code-server (132) в `/root/backup-lxc129/`, IP 10.0.0.206 освобождён | + | 133 | clawdbot-1 | ~апрель 2026 | Функционал мигрирован на openclaw (137) | + | 135 | whisper-bot | ~апрель 2026 | — | +``` + +### 2.6. Обновить дату в шапке + +```diff +-> Последнее обновление: 2026-04-17 (обновлено из живого `pct list` / `qm list`) ++> Последнее обновление: 2026-04-26 (обновлено из живого `pct list` / `qm list`) +``` + +--- + +## 3. Предупреждения + +- **VM 129**: в inventory была записана как удалённый «Clawdbot» (LXC), но в live это **VM** с именем **profi-parser-vm**. Скорее всего VMID 129 был переиспользован для нового гостя. Стоит проверить: а) действительно ли бэкап Clawdbot ещё лежит в `/root/backup-lxc129/`; б) IP 10.0.0.206 — он свободен или назначен profi-parser-vm? Историю Clawdbot можно оставить комментарием или убрать полностью. +- **LXC 128, VM 131**: для них нет IP-адресов, ресурсов (CPU/RAM/диск) и назначения — нужно доуточнить через `pct config 128` / `qm config 131` и дозаполнить. +- **LXC 128 + VM 129**: оба содержат «profi-parser» в имени — вероятно, связанные сервисы (парсер в LXC + VM). Стоит описать связь в назначении. + +Хочешь — могу сразу применить эти правки в файл. diff --git a/audit/health-latest.json b/audit/health-latest.json index c4e452a..a0f80bc 100644 --- a/audit/health-latest.json +++ b/audit/health-latest.json @@ -1,13 +1,13 @@ { - "date": "2026-04-19", - "score": 15, + "date": "2026-04-26", + "score": 221, "counts": { "broken_wikilinks": 0, - "broken_paths": 0, - "missing_frontmatter": 0, - "orphan_files": 0, - "undated_todos": 0, - "duplicate_basenames": 3 + "broken_paths": 9, + "missing_frontmatter": 14, + "orphan_files": 32, + "undated_todos": 5, + "duplicate_basenames": 4 }, "weights": { "broken_wikilinks": 10, @@ -17,5 +17,5 @@ "undated_todos": 1, "duplicate_basenames": 5 }, - "files_scanned": 194 + "files_scanned": 501 } \ No newline at end of file