# Terminology

> Словарь канонических терминов (гамма-спектрометрия, радон, ОВК, Geant4, ESP32, метрология и др.), RU/EN, определения — цитаты первоисточников. Триггеры: «как правильно называется», «проверь термин», «lint терминов»; сверяться ОБЯЗАТЕЛЬНО перед любым публичным текстом в этих доменах. Запись — только через «Терминолога».

- Skill: `vibeengineering-llc/terminology` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add vibeengineering-llc/terminology`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vibeengineering-llc/terminology/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: VibeEngineering-LLC (https://skillmd.com/u/vibeengineering-llc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vibeengineering-llc/terminology

---


# terminology — словарь терминов контура

Канонический термин + определение-цитата + источник, по доменам, RU и EN парами.
Архитектура и правила — `ARCH-PLAN-TERMINOLOGY-2026-07-31.md` в Codeaudit.

## Поиск

```bash
python ~/.claude/skills/terminology/scripts/lookup.py МДА
python ~/.claude/skills/terminology/scripts/lookup.py peak --domain gamma-spec --lang en
```

Находка в `synonyms_bad` помечается ⛔ с указанием канона — так ловится запрещённая подмена.

## Правила

1. **Запись только через Терминолога** (отдельная сессия, write-lock на `data/terms.jsonl`).
   Нашёл новый термин или ошибку — cross-session-сообщение ему, не правка файла.
2. **Определение = дословная цитата первоисточника** с адресом (страница/раздел).
   Пересказ по памяти в словарь не вносится — правило sci-search действует здесь буквально.
3. **Приоритет источников при расхождении** — сверху вниз по списку домена в
   `data/domains.yaml` (международный → национальный → отраслевой инженерный).
4. **RU и EN — связанные записи** через поле `equivalent`. Нет установленного
   эквивалента — поле пустое, причина в `note`. Машинный перевод запрещён.
5. **Индекс — кэш.** Ссылаться в текстах на источник из записи, не на словарь.
6. **Запрет неологизмов.** Протокол при неизвестном термине: словарь (`lookup.py`) →
   первоисточники домена (`domains.yaml`, сверху вниз) → не нашёл → писать
   описательной конструкцией + маркер ⚠️ + **перечень мест, где искал** (какие
   источники, какими запросами, RU и EN) → передать Терминологу.
   «Не нашёл» — факт о поиске, не о мире: рядовой агент НЕ выносит вердикт
   «устоявшегося термина нет» — он не отличит «нет» от «плохо искал» (тот же класс
   ошибки, что «файла нет ни в одном коммите» при устаревшем клоне). Вердикт выносит
   Терминолог полным поиском (IEV, глоссарии, обе языковые ветви) и фиксирует его
   **отрицательной записью** в словаре: `term` = описательная конструкция,
   `note` = «устоявшегося имени нет, проверено там-то, дата» — чтобы поиск не
   повторялся и у отрицания были владелец и срок годности.
   Чеканить новое имя нельзя ни при найденном, ни при ненайденном.
   Прецедент: «характерная доля пика» — имя, отчеканенное для несуществующей
   характеристической ТОЧКИ. Сама величина (доля пика в окне, f = erf(Δ/(σ√2)))
   существует и считается по коду; не существует у неё единого «характерного»
   значения — разброс 0,3–1,0 по конфигурациям. Имя константы, которой нет, —
   неологизм класса выдуманного DOI. Поймано внешним аудитом.

## Структура

```
terminology/
├── SKILL.md
├── data/
│   ├── terms.jsonl      — журнал записей (append-only, через Терминолога)
│   └── domains.yaml     — домены и приоритеты источников
└── scripts/
    └── lookup.py        — поиск (подстрока/точное, фильтры --domain --lang)
```

Статус: этап 0 (фундамент). Словарь пуст, наполнение — этап 1 плана.

