Андрей Северский – Собранный из писем (страница 13)
— До решения комиссии вы работаете в границах выданного допуска, — сказала она. — Мы не лечим одно нарушение другим.
— Значит, нарушение вы допускаете.
— Я допускаю ошибку. Их здесь достаточно без громких слов.
— Ошибка оставляет след в утверждённой схеме.
— Не всегда.
Это короткое признание прозвучало тише остального. Майя ждала продолжения, но Ракитина закрыла заявку.
— Не подключайте Павла к новым материалам до утра. И не пытайтесь обходить отказ через инженерный доступ Аси.
— Я ещё не называла Асю.
— Вы вызываете её всякий раз, когда хотите назвать этическую проблему технической.
— А вы называете техническую проблему правами семей.
Ракитина впервые повернулась от окна полностью.
— Потому что права семей существуют. Вы сами поставили должность на соблюдение отзыва Неверова.
— Отзыв не даёт права смешивать закрытые материалы с Павлом.
— И не даёт вам права раскрывать их, чтобы доказать смешение.
Майя забрала терминал с отказом. У двери Ракитина добавила:
— Если найдёте воспроизводимую техническую аномалию без просмотра чужих данных, принесите её мне. Не комиссии. Сначала мне.
— Почему?
— Потому что комиссия умеет прекращать процессы быстрее, чем понимать их.
В аппаратной Ася уже поднялась с пола и закрыла шкаф. По лицу Майи она прочла ответ раньше, чем увидела документ.
— Мне отдельно запретили помогать, — сказала она.
— Тебе запретили обходить доступ.
— Это менее личное.
— Нам не нужен доступ к содержимому. Только технический путь одной реакции.
— Повтори так, чтобы это можно было записать в журнал.
Майя включила служебный протокол на своём терминале.
— Цель проверки: установить, обращалась ли реакция П-18 от сегодняшнего числа к источникам вне утверждённого корпуса. Содержимое источников, их владельцы и коллекции не раскрываются. Проверяется последовательность модулей и классы хранилищ. Основание — зафиксированное знание детали, отсутствующей в предъявленном цифровом образе.
— Исполнитель?
— Инженер Ветрова. Наблюдатель и ответственный за запрос — Соколова.
— При обнаружении закрытого содержания?
— Остановить просмотр и сформировать хешированный отчёт.
— При обнаружении пути за пределами методики?
Майя задержала палец над экраном.
— Сохранить техническое доказательство в изолированном журнале аудита. Не изменять конфигурацию до независимой фиксации.
Ася кивнула и подтвердила запись своим ключом.
Вместо карты влияния Ася подняла трассу исполнения — операции без входных строк. Обычная реакция Павла шла короткой лестницей: активный контекст, разрешённый корпус, сборка ответа, проверка происхождения, новый опыт. Сегодня после слов Софьи о пятне возникли ответы из писем и медицинского раздела. Между выбором контекста и поиском стояла лишняя строка:
`reserve_context.attach`.
— Что такое резервный контекст? — спросила Майя.
— В рабочей схеме — ничего.
Ася увеличила строку. Модуль не имел версии, только дату последнего обращения. В поле владельца стояла системная роль, упразднённая полтора года назад.
— Может быть аварийный словарь? — сказала Майя.
— Словари подключаются после поиска, перед сборкой. Этот пул подмешан раньше. Он меняет сам запрос.
— С какого времени?
— Не знаю. Здесь нет истории вызовов, только текущий счётчик.
— Сколько?
Ася молча показала число: сто восемьдесят семь.
Сто восемьдесят семь обращений не могли относиться к сегодняшнему опыту. Павел провёл в публичном контуре меньше недели.
— Это по всем моделям?
— Идентификатор пространства П-18. Если счётчик не переносили при сборках, только по нему.
— В утверждённой методике пул есть?
— Сейчас увидим без чтения чужих данных.
Ася открыла не документацию, а машинный манифест версии 6.4. В нём были перечислены разрешённые хранилища: письма Круглова, медицинские записи военного узла, муниципальный индекс, редакторские правила, журнал нового опыта. Резервного пула не было. В манифесте 6.2 его тоже не оказалось. Версии 6.3 в реестре по-прежнему не существовало.
— Он мог остаться от старой поисковой сборки, — сказала Майя.
— Мог. Но остаток сам себя не подключает.
— Кто вызывает attach?
Ася раскрыла только подпись родительского процесса. Вместо названия модуля появилась последовательность нулей и буква `r`.
— Ссылка удалена?
— Ссылка подменена. Удалённый модуль оставил бы идентификатор пакета. Здесь стоит маска для аудита.
Объяснение существовало: Павел не помнил невидимый конверт, система дала ему чужое описание. Это возвращало миру причинность, но отнимало у лаборатории право на случайную ошибку.
— Мы нашли аномалию, — сказала Ася нарочито ровно. — Дальше должны остановиться.
— Мы ещё не знаем, относится ли она к реакции.
— В трассе стоит обращение.
— Нам нужен класс ответа. Без содержимого.
Ася провела ладонью по коротко остриженным волосам.
— Класс можно запросить у шлюза. Но шлюз вернёт медицинский индекс, если это медицинская карточка. Уже само совпадение может быть чувствительным.
— У нас в протоколе записан медицинский раздел. Мы не узнаем больше, чем уже допустил обезличенный аудит.