История до 1.7.5 — в git log (сообщения коммитов вида v1.7.5: …). Здесь ведём план и состав следующего релиза.
Статус: состав накапливается. Сборка не запускается — Олег добавляет нововведения, релиз собирается после закрытия состава.
Тема: правило периметра данных доводится до работающего механизма, а не остаётся декларацией в промпте.
Основание — аудит профиля ai-si 05.11.2026. Проверенное состояние:
| Что | Факт |
|---|---|
skills/productivity/docx/references/anonymization.md |
процедура полная: тело, таблицы, все headerN/footerN.xml, docProps/core.xml, app.xml, картинки; замена подчёркиваниями; верификация из 3 шагов |
skills/productivity/docx/scripts/scan_open_pii.py |
есть, работает (--summary, --header, --json, --fail-on-open) |
skills/ailab/anonymization-check |
лежит в сборке, в профиль не ставится — категории ailab в установленном профиле нет |
skills/engineering/ai-data-perimeter |
есть только в профиле ai-si, в сборке отсутствует → получателям не приедет |
profiles/<p>/hooks/ |
пусто — принуждения нет |
SOUL.md сборки |
про обезличивание, периметр и заказчика — ни слова |
Отсюда формулировка «у нас обезличивание до отправки в модель» сегодня не подтверждается: правило записано в скилле, но срабатывает по триггеру и зависит от того, вспомнит ли модель его применить.
Проблема: одна и та же процедура описана в трёх местах — docx/references/anonymization.md, ailab/anonymization-check, engineering/ai-data-perimeter. Три редакции разъедутся.
Иерархия, которую фиксируем:
| Место | Роль |
|---|---|
engineering/ai-data-perimeter |
канон: правила периметра, проверка «соблюдается ли», порядок работы с документом заказчика, чек-лист и нормы (references/perimeter-rules.md) |
docx/references/anonymization.md |
техника правки DOCX-пакета + scripts/scan_open_pii.py — исполнение под каноном |
ailab/anonymization-check |
свести к тонкой ссылке на канон либо убрать; сейчас это третья редакция того же правила |
engineering/ai-data-perimeter в сборку (dist/vasily/skills/engineering/), проверить, что категории engineering и ailab доезжают до установленного профиля при установке и обновлении.skills/engineering/ai-data-perimeter/SKILL.md + references/perimeter-rules.md; третьей редакции правила в профиле нет.SOUL.md — сведено с ai-data-perimeterСверено с каноном. SOUL не переписывает светофор и контуры (они в references/perimeter-rules.md), а закрывает то, что действует до первого чтения файла, и не противоречит трём правилам скилла: аудит вместо согласия (Правило 0), декларация ≠ контроль (Правило 1), агент сам канал (Правило 2).
Расхождения первой редакции, исправленные при сверке:
| Было в первой редакции | Что говорит скилл | Исправлено |
|---|---|---|
| не покрывала запрос «подтверди, что соблюдается» | Правило 0: это аудит по двум слоям, а не согласие | добавлены оба слоя и запрет ответа по одному |
| «не открывается, пока не решено» — без статуса данных | документ до классификации считается красным | добавлен статус «считается красным» |
| правило жило само по себе | процедура — в скилле, SOUL задаёт только порядок | добавлена ссылка на канон, дублирование убрано |
| не было стоп-сигнала | «маркеров нет» = скорее всего оригинал; ноль находок ≠ чисто | добавлено |
| не сказано, кто обезличивает | обезличивание — работа человека, спорное агент не решает | добавлено |
Формулировка для вставки в SOUL.md (в сборку и в рабочий профиль):
## Периметр данных Правила, светофор и процедура — скилл `ai-data-perimeter`. Здесь — то, что действует до первого чтения файла. - Документ заказчика (ТЗ, договор, переписка, форма, ИД) до классификации считается красным. Инструментами чтения он не открывается, пока не решено, откуда берётся обезличенная копия: её даёт владелец или агент делает копию и читает только её. - Оригинал не открывать «чтобы посмотреть объект». Таблица соответствия токенов и реальных значений не читается никогда — она и есть закрываемые данные. - Обезличивание — работа человека по его таблице соответствий. Агент делает копию по технике `docx/anonymization.md`, только если об этом попросили, и не решает за человека, что закрывать в спорных случаях. - Проверка полноты: `python scripts/scan_open_pii.py "<файл>" --summary`. Агент читает счётчики; полный отчёт со значениями — человеку, потому что находки и есть закрываемые данные. - «Маркеров нет» — единственный стоп-сигнал: скорее всего, это оригинал. Ноль находок ≠ «документ чист». Формулировка: «шаблоны нашли N, открыто: …». - «Документ обезличен» и «у нас это соблюдается» без проверки файлов — запрещены. На просьбу подтвердить меру проверяются два слоя: организационный (приказ, регламент, журнал) и технический (SOUL, установленные скиллы, hooks). Ответ по одному слою — ошибка в обе стороны. - Если механизма принуждения нет — говорить это прямо: правило в промпте срабатывает по триггеру, а не по факту.
SOUL.md в сборке (приезжает всем получателям) + profiles/<p>/SOUL.md в рабочем профиле (иначе правило не действует у того, кто уже установлен).Каталог hooks/ пуст — механизма, физически не дающего уйти оригиналу, нет. Кандидат на следующий релиз: перехват исходящего запроса (hook или шлюз) с прогоном шаблонов ПДн и блокировкой отправки. Перед планированием — проверить, какие события Hermes умеет перехватывать; обещать механизм без проверки нельзя.
distribution.yaml → version: 1.7.6; README.md → «Текущая версия: 1.7.6».v1.7.6: <главное изменение>.