# ADR-2026-08-11. Наружу расширение выходит только приведённым к перечню - **Дата:** 2026-08-11 - **Источник:** [openspec/changes/archive/2026-08-11-no-user-filename-in-log/design.md](../../openspec/changes/archive/2026-08-11-no-user-filename-in-log/design.md), раздел `Decisions` ## Решение Расширение принятой записи приводится к закрытому перечню известных форматов прежде, чем уйти меткой метрики; всё, чего в перечне нет, заменяется одним общим значением. Имя файла на диске при этом не трогается — там расширение остаётся тем, каким пришло. Дословно из источника: > Из трёх способов человек выбрал средний. Отвергнуты: оставить как есть и завести > задачу — канал жил бы до неё, а закрытие этой задачи читалось бы как > «починено»; приводить расширение везде, включая имя файла на диске, — > раскладка каталога записей объявлена необратимой и меняется решением человека, > а не по ходу починки журнала. ## Почему Расширение берётся из имени, которое дал отправитель, дословно: имя `запись.тайное-слово` отдаёт `тайное-слово`, а `Разговор с Петровым 11.08` — `08`. Оно уходило меткой метрики, а страница метрик отдаётся без проверки отправителя. Канал оказался шире того, ради которого задача заводилась: журнал читает владелец сервиса, метки — кто угодно, и то же значение оседает в хранилище метрик. Тем же каналом множество значений метки становится неограниченным: их задаёт анонимный отправитель. Отказ от нормализации на диске — не экономия, а граница обратимости: формат имени файла и раскладка `data/files` объявлены необратимыми, и меняются они решением человека под свою задачу, а не попутно с починкой журнала. ## Цена - Перечень форматов стал нормой и требует ведения: формат, который сервис начнёт принимать, до внесения в перечень будет виден в метрике как общее значение, неотличимо от чужого хвоста. - Форма метки размера принятой записи изменилась — ведущая точка пропала (`.mp3` стало `mp3`). Ряды, собранные до выкладки, перестают пополняться. - Настоящий формат записи, попавшей в общее значение, остаётся видимым только в журнале — по полю пути строки приёма и полю формата строки конвертации. - Хвост расширения по-прежнему уходит в журнал внутри пути файла. Это остаток, он записан в [../security.md](../security.md), и своей задачи у него пока нет.