terminology — словарь терминов контура
Канонический термин + определение-цитата + источник, по доменам, RU и EN парами.
Архитектура и правила — ARCH-PLAN-TERMINOLOGY-2026-07-31.md в Codeaudit.
Поиск
python ~/.claude/skills/terminology/scripts/lookup.py МДА
python ~/.claude/skills/terminology/scripts/lookup.py peak --domain gamma-spec --lang en
Находка в synonyms_bad помечается ⛔ с указанием канона — так ловится запрещённая подмена.
Правила
- Запись только через Терминолога (отдельная сессия, write-lock на
data/terms.jsonl).
Нашёл новый термин или ошибку — cross-session-сообщение ему, не правка файла.
- Определение = дословная цитата первоисточника с адресом (страница/раздел).
Пересказ по памяти в словарь не вносится — правило sci-search действует здесь буквально.
- Приоритет источников при расхождении — сверху вниз по списку домена в
data/domains.yaml (международный → национальный → отраслевой инженерный).
- RU и EN — связанные записи через поле
equivalent. Нет установленного
эквивалента — поле пустое, причина в note. Машинный перевод запрещён.
- Индекс — кэш. Ссылаться в текстах на источник из записи, не на словарь.
- Запрет неологизмов. Протокол при неизвестном термине: словарь (
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 плана.
1---2name: terminology3description: Словарь канонических терминов (гамма-спектрометрия, радон, ОВК, Geant4, ESP32, метрология и др.), RU/EN, определения — цитаты первоисточников. Триггеры: «как правильно называется», «проверь термин», «lint терминов»; сверяться ОБЯЗАТЕЛЬНО перед любым публичным текстом в этих доменах. Запись — только через «Терминолога».4---56# terminology — словарь терминов контура78Канонический термин + определение-цитата + источник, по доменам, RU и EN парами.9Архитектура и правила — `ARCH-PLAN-TERMINOLOGY-2026-07-31.md` в Codeaudit.1011## Поиск1213```bash14python ~/.claude/skills/terminology/scripts/lookup.py МДА15python ~/.claude/skills/terminology/scripts/lookup.py peak --domain gamma-spec --lang en16```1718Находка в `synonyms_bad` помечается ⛔ с указанием канона — так ловится запрещённая подмена.1920## Правила21221. **Запись только через Терминолога** (отдельная сессия, write-lock на `data/terms.jsonl`).23 Нашёл новый термин или ошибку — cross-session-сообщение ему, не правка файла.242. **Определение = дословная цитата первоисточника** с адресом (страница/раздел).25 Пересказ по памяти в словарь не вносится — правило sci-search действует здесь буквально.263. **Приоритет источников при расхождении** — сверху вниз по списку домена в27 `data/domains.yaml` (международный → национальный → отраслевой инженерный).284. **RU и EN — связанные записи** через поле `equivalent`. Нет установленного29 эквивалента — поле пустое, причина в `note`. Машинный перевод запрещён.305. **Индекс — кэш.** Ссылаться в текстах на источник из записи, не на словарь.316. **Запрет неологизмов.** Протокол при неизвестном термине: словарь (`lookup.py`) →32 первоисточники домена (`domains.yaml`, сверху вниз) → не нашёл → писать33 описательной конструкцией + маркер ⚠️ + **перечень мест, где искал** (какие34 источники, какими запросами, RU и EN) → передать Терминологу.35 «Не нашёл» — факт о поиске, не о мире: рядовой агент НЕ выносит вердикт36 «устоявшегося термина нет» — он не отличит «нет» от «плохо искал» (тот же класс37 ошибки, что «файла нет ни в одном коммите» при устаревшем клоне). Вердикт выносит38 Терминолог полным поиском (IEV, глоссарии, обе языковые ветви) и фиксирует его39 **отрицательной записью** в словаре: `term` = описательная конструкция,40 `note` = «устоявшегося имени нет, проверено там-то, дата» — чтобы поиск не41 повторялся и у отрицания были владелец и срок годности.42 Чеканить новое имя нельзя ни при найденном, ни при ненайденном.43 Прецедент: «характерная доля пика» — имя, отчеканенное для несуществующей44 характеристической ТОЧКИ. Сама величина (доля пика в окне, f = erf(Δ/(σ√2)))45 существует и считается по коду; не существует у неё единого «характерного»46 значения — разброс 0,3–1,0 по конфигурациям. Имя константы, которой нет, —47 неологизм класса выдуманного DOI. Поймано внешним аудитом.4849## Структура5051```52terminology/53├── SKILL.md54├── data/55│ ├── terms.jsonl — журнал записей (append-only, через Терминолога)56│ └── domains.yaml — домены и приоритеты источников57└── scripts/58 └── lookup.py — поиск (подстрока/точное, фильтры --domain --lang)59```6061Статус: этап 0 (фундамент). Словарь пуст, наполнение — этап 1 плана.