diff --git a/Архитектура-10-operator-analytics-contract.md b/Архитектура-10-operator-analytics-contract.md index f1ce3ba..915963d 100644 --- a/Архитектура-10-operator-analytics-contract.md +++ b/Архитектура-10-operator-analytics-contract.md @@ -184,7 +184,10 @@ `tenant_limit_changed`) пишут «было → стало» по каждому затронутому полю; для сложных значений (`Dict`/`MyPrompts`/`AiConfigs`) фиксируется факт изменения без значений. Ядро отдаёт `changes` как есть; человекочитаемые названия событий, акторов, параметров и значений — в ресурсах интерфейса (`ru.js`: `operator.event`/`operator.actor`/`operator.field`/`operator.value`). -Прежние записи плоского формата (`{ "login": "..." }`, пары `old*`/`new*`) читаются обратно совместимо. +Прежние записи плоского формата (`{ "login": "..." }`, пары `old*`/`new*`) читаются обратно совместимо, +а устаревший список изменённых настроек (`fields` как JSON-массив) нормализуется к строке через запятую. +При чтении ядро разрешает ссылки-идентификаторы: карточки (`c_…`) — в заголовок, контейнеры (`b_…`) — в имя +колонки (`IAuditReferenceResolver`); служебные контейнеры (`inbox`/`archive`/`trash`) подписывает интерфейс. **Коды**: `200`, `401`.