Phase 4: обогатить frontmatter проектов + 6 новых stub'ов
Существующие проекты получили frontmatter с aliases для FTS / objects-map: niikn — Cloud-NIIKN New niikn.com, pve-niikn, Kripto-ARM, M.Maul dttb — Work Server dttb, code-server, rustdeskserver, MacBook-Pro, ... glavtorg, krasnogorsk, zelenograd — добавлен frontmatter с aliases Создано 6 новых README: projects/znamenskoye/README.md — был отсутствующий index 3-х объектов projects/mmfb/README.md — был отсутствующий index ММФБ + LionART projects/sergey/README.md — stub OpenWrt_Sergey (Одинцово) projects/benilux/README.md — stub OpenWrt Benilux (Истра) projects/vishnevyy-sad/README.md — stub Константин (Москва) projects/openwrt-4/README.md — stub анонимный OpenWrt_4 Обновлён scripts/kb-objects-map.py: exact-match вместо substring (избегает FP вроде alias 'cloud' ⊂ 'Cloud-NIIKN New niikn.com'). Aliases теперь должны содержать полные имена пиров как в netbird-inventory. Метрика: с 38 orphan-пиров до 14. Остаток — реально неклассифицированные клиентские машины без явной привязки к проекту (Денис Тихая, DESKTOP-2IOQS54 и др.) — задача для отдельного шага обогащения. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -91,14 +91,12 @@ def _norm(s: str) -> str:
|
||||
|
||||
|
||||
def name_match(peer_name: str, candidates: list[str]) -> bool:
|
||||
"""Exact match с нормализацией (ye→e, без пробелов/_/−).
|
||||
Чтобы избежать FP типа `cloud` ⊂ `Cloud-NIIKN`, требуется точное равенство."""
|
||||
pn = _norm(peer_name)
|
||||
if not pn:
|
||||
return False
|
||||
for c in candidates:
|
||||
cn = _norm(c)
|
||||
if cn and (cn in pn or pn in cn):
|
||||
return True
|
||||
return False
|
||||
return any(_norm(c) == pn for c in candidates if c)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
|
||||
Reference in New Issue
Block a user