Архив последнего языка

- -
- 100%
- +
Он удалил из запроса все известные ему слова и оставил только номера рёбер.
— Покажите набор контекстов, использованный вчера.
— В пределах дела?
— Только типы реакций, время и доказательный вес.
Инга разрешила запрос. Вокруг исходной фразы возникли девять меток. Три были классифицированы как саркастическое несогласие, две — как бытовая солидарность, одна — как раздражение, остальные имели нейтральный вес. Лев сохранил схему, затем вызвал сегодняшнюю.
Шесть меток.
Три саркастические реакции исчезли.
Не потеряли вес, не стали недоступными, не были отозваны носителями. Система вела себя так, будто их никогда не существовало. Оставшиеся ответы без них образовали согласованный ряд: обещание освободить адресное пространство, подтверждённое соседями.
— Отзыв согласия? — спросила Инга.
— Тогда рёбра остались бы в истории с запретом на дальнейшее доказательное использование. Это важно для самого права на отзыв. Здесь история переписана.
— Возможно, снимки признаны недостоверными.
— Тогда сохранилось бы основание исключения.
Инга открыла одно из отсутствующих рёбер через вчерашний снимок. Серый прямоугольник дрогнул и выдал сообщение: «Объект не входит в область разрешённого запроса».
— Он существует, — сказал Лев. — Иначе было бы «объект не найден».
Она повторила запрос из контура внутреннего контроля. Ответ пришёл тот же.
— Архив нейтрален, — произнесла Инга, но теперь это звучало как проверяемое утверждение, а не убеждение. — Он не принимает судебных решений.
— Зато решает, какие разногласия дойдут до суда.
Он вывел рядом две справки. Вчерашняя требовала человека. Сегодняшняя разрешала автоматическое действие. Между ними не появилось нового свидетельства согласия. Исчезло свидетельство несогласия.
— Цена определения, — тихо сказала Инга.
— Что?
— Так Самат называл обязательное поле в старой методологии. Если система выбирает одно значение из нескольких, она должна показать, что было отброшено и для кого это решение создаёт последствия. Поле убрали два года назад. Считали, что оно перегружает справки.
Лев впервые за всё утро посмотрел на неё прямо.
— Кто подписал удаление?
— Не относится к вашему заданию.
Это означало, что имя ей известно.
Лев вернулся к схеме. Государственно-коммерческий шлюз скрывал заказчика, но не мог скрыть действие, которое должен был выполнить после решения. Отзыв адресного диапазона, прекращение маршрутизации, перенос публичных узлов в карантинное хранилище. Для суда это называлось выселением инфраструктуры. Для тех, кто жил внутри сети, — исчезновением дверей.
Ковда-Шесть выросла вокруг старого узла связи, когда северные посёлки начали терять население, школы и транспорт. Физические дома стояли далеко друг от друга, а общая сеть давала им мастерские, классы, врачебные окна и постоянные комнаты. Адрес был не картинкой дома. Через него открывались замки, хранились семейные архивы, работали протезы доступа и тревожные кнопки. Перенос в карантин сохранял данные, но обрывал отношения между ними. Формально вещи оставались. Пространство переставало быть обитаемым.
Лев знал это не из технического описания.
На его личном терминале лежали сообщения Ники, которые он не открывал с утра. После первого уведомления она отправила ещё два. Заголовки были короткими: «Срок» и «Ты там?».
Он выключил личный экран прежде, чем Инга могла заметить.
— Нам нужно закрепить заморозку, — сказал он.
— Я уже приостановила техническое исполнение.
— До ручной проверки справки. После неё оператор увидит девяносто четыре процента и решит, что ошибка устранена.
— Я не могу отменить судебное решение на основании предположения стажёра.
— Не отменяйте. Уведомите суд, что доказательный пакет изменился после вынесения решения, а архив не способен показать основание исчезновения трёх контекстов.
— Такое уведомление признает возможную ошибку «Палимпсеста».
— Она уже есть.
— Оно уйдёт не только в суд. По протоколу его получит регулятор дата-порта, все исполнители и стороны активных дел, использующих SAIMA-L.
— Значит, никто не сможет тихо нажать «продолжить».
Инга встала и прошла к матовому окну. За ним, в глубине дата-порта, светились холодные башни. По стеклу полз обратный отсчёт, общий для юридического крыла: до контролируемого перезапуска оставалось сорок семь часов и одиннадцать минут.
— Если уведомление окажется необоснованным, — сказала она, — архив потребует возмещения за остановку. Суд может счесть это вмешательством в исполнение. Моя подпись останется в каждом пакете.
— Если оно обоснованно, без вашей подписи Ковда исчезнет по справке, которую никто не проверил.
— Вы говорите так, будто знаете, что там находится.
Лев почувствовал, как профессиональная осторожность, которой он гордился, стала слишком тонкой оболочкой. Можно было сослаться на общедоступное описание поселения. Можно было повторить, что исследователь не обязан раскрывать источник. Можно было сохранить место в архиве и потерять место, где Ника принимала его звонки, сидя на крыше старой станции под сломанным световым знаком.
— Там живут люди, — ответил он.
— Это не ответ.
— Другого вам пока не положено.
Инга повернулась. В её взгляде не было любопытства — только оценка риска.
— Тогда дайте мне доказательство, которое не зависит от вашей личной уверенности.
Лев скопировал две временные схемы в новый пакет. Добавил вчерашний маршрут с ручной проверкой, сегодняшний интервал в ноль целых двадцать восемь сотых секунды, отсутствие ссылки на кэш и три объекта, существование которых подтверждалось ответом об ограничении области. Последним пунктом он приложил правило методологии: исключение контекста должно оставлять проверяемое основание даже при отзыве согласия носителя.
— Здесь нет ни одного имени, — сказал он. — Только нарушение процедуры.
Инга прочитала пакет дважды. Затем вставила свой ключ в разделитель.
— Формулировка будет уже вашей, — предупредил Лев.
— Стажёры не учат меня писать уведомления.
Она открыла официальный бланк и продиктовала: доказательное основание решения изменилось после его вынесения; автоматическая переоценка выполнена без воспроизводимого опроса независимых контекстов; три ранее доступные реакции исключены без следа процедуры; до восстановления полной цепочки происхождения справка не может подтверждать добровольность отказа сообщества от адресного пространства.
На последней строке система потребовала выбрать масштаб.
«Только дело Ковда-Шесть».
«Все активные дела корпуса SAIMA-L».
Инга задержала руку над первым вариантом.
— Мы доказали дефект на одной справке, — сказала она.
— Семь изменённых узлов уже связаны с активными запросами.
— По ним у меня нет материалов.
— Но у вас есть уведомление Веры о спорном корпусе.
— Это остановит десятки решений, среди них могут быть срочные.
— Тогда пусть срочность проверяет человек, а не исчезнувшее возражение.
Инга выбрала второй вариант.
Её подпись прошла через пластину. Сначала замерло исполнение по Ковде-Шесть. Затем на схеме одна за другой погасли зелёные стрелки ещё шести дел. В юридическом крыле включился негромкий сигнал: дата-порт получил официальное уведомление о возможной ошибке архива.
Обратный отсчёт продолжал идти, но теперь перезапуск не мог автоматически возобновить судебные действия. Для каждого требовалось новое подтверждение доказательной цепочки.
Лев открыл личный терминал.
«Срок», — писала Ника. — «В четырнадцать закрывают внешний диапазон. Внутри говорят, что данные обещали сохранить, будто дело в данных».
Второе сообщение было короче:
«Ты там?»
Он набрал: «Исполнение заморожено». Стер. Написал: «До проверки ничего не отключат». Снова стер — он не имел права обещать. Наконец отправил: «Юридический контур остановлен. Не отзывай и не подтверждай контексты, пока я не объясню безопасный порядок».
Ответ пришёл сразу.
«Поздно. Нас уже просят подтвердить, что мы имели в виду».
Лев перечитал строку. Кто-то вышел к носителям раньше официального уведомления.
— Мне нужен журнал запросов живого кворума, — сказал он.
— Вам запрещён доступ к личностям, — напомнила Инга.
— Без личностей. Время, объём, тип подтверждения.
Она не успела ответить. На пластине возник запрос внутреннего контроля. Вера Нечаева требовала немедленно закрыть его сеанс и направить Льва в комнату опроса.
Следом открылось кадровое уведомление. На этот раз система не скрывала причину: адрес, указанный Львом как временное место проживания три года назад, принадлежал сетевому поселению Ковда-Шесть. В действующей анкете поле было пустым.
Инга медленно вынула ключ из разделителя.
— Теперь ваш интерес к делу перестал быть только профессиональным.
Лев сохранил доказательный пакет в контуре Веры и закрыл личный канал. Он добился заморозки, не назвав Нику. Но адрес уже сделал это за него — недостаточно точно, чтобы защитить сестру, и достаточно точно, чтобы превратить его из исследователя в подозреваемого.
За стеной продолжался сигнал официальной ошибки. Каждые пять секунд он повторял один и тот же спокойный тон.
Так дата-порт сообщал, что больше не уверен в собственных словах.
Глава 5. Неполная анкета
В комнате опроса нельзя было понять, считают человека свидетелем или нарушителем. Два кресла, прозрачный стол, полоса регистратора под потолком. Створка открывалась по окончании протокола.
Вера вошла первой и положила на стол кадровую выписку Льва. Три года назад в поле временного проживания стояло: Ковда-Шесть, северный контур, гостевой узел. Через девять месяцев адрес исчез. Не был заменён новым — именно исчез, оставив служебную отметку о переносе данных из старой формы в новую.
Журнал переноса показал тысячу двести обработанных за ту ночь анкет. Все ошибки автоматической сверки были исправлены, кроме исчезнувшего адреса Льва. Его анкета прошла без замечаний.
Дверь скользнула в стену. Лев вошёл без сопровождения и остановился у свободного кресла.
— Садитесь. Личный терминал оставьте в нише.
Он подчинился. На рукаве осталась бледная полоса от браслета доступа, отключённого по её приказу. В юридическом крыле ещё звучал сигнал заморозки: один спокойный тон каждые пять секунд. Здесь его приглушали стены, но не настолько, чтобы забыть причину.
— В каком вы статусе? — спросил Лев.
— Пока в статусе сотрудника, у которого обнаружено незаявленное обстоятельство. Я выясняю, влияет ли оно на расследование.
— А если влияет?
— Тогда выясню как.
Вера включила регистратор и назвала время, участников, основание опроса. Отдельно зафиксировала: опрос не отменяет защиту источников и не требует раскрывать личности носителей корпуса, если их действия не относятся к подмене доказательств. Лев поднял взгляд. Он ожидал другого начала.
— Подтверждаете, что жили в Ковде-Шесть?
— Временно. Четыре месяца.
— Почему адрес пропал из анкеты?
— Я его не удалял.
— Вы проверяли анкету после переноса?
— Подтвердил сводку.
— В сводке был адрес?
Он задержался на долю секунды.
— Нет.
— Значит, вы подтвердили неполную анкету.
— Я подтвердил обязательные поля. В новой форме временное проживание стало добровольным.
Вера развернула к нему выписку.
— Для допуска к распределённым корпусам адрес сообщества, с которым у вас сохраняются личные связи, не добровольное поле. Это конфликт интересов.
— Тогда система должна была спросить о связях, а не предлагать перечислить места, где я ночевал.
— Система спросила плохо. Вы ответили удобно.
Лев не отвёл глаз.
— Да.
Признание прозвучало без попытки смягчить его. Вера отметила ответ и открыла вторую вкладку.
— Ника Арсеньева ваша сестра?
Он посмотрел не на выписку, а на белую полосу регистратора.
— Откуда имя?
— Из старой записи гостевого доступа. Вы указали её принимающей стороной. Запись кадровая, не из живого кворума.
— Тогда вы уже знаете ответ.
— Мне нужно ваше подтверждение.
— Да. Ника — моя сестра.
— Она участвует в подтверждении контекстов SAIMA-L?
— На этот вопрос я не отвечу.
— Даже отрицательно?
— Любой ответ сузит круг. Вы сами только что зафиксировали защиту носителей.
За дверью снова прозвучал сигнал. Вера позволила паузе остаться в записи. Лев был прав, и от этого опрос не становился проще. Защита источников существовала не для удобных случаев. Если снять её с родственника подозреваемого, каждый следующий хранитель найдёт причину снять её с чужого родственника.
— Хорошо. Не называйте профиль, — сказала она. — Ответьте о собственных действиях. Вы обращались к кому-либо в Ковде после смерти Самата?
— Получил сообщения от сестры.
— До того, как увидели судебную справку?
— Первое — до. Я не открыл его до работы с делом.
— Почему?
— Увидел заголовок «Ковда» и понял, что содержание может повлиять на меня.
— Но не сообщили мне.
— Я ещё не знал, относится ли оно к делу.
— А когда узнали?
— Сообщил Инге, что знаю человека в сообществе. Имя не называл. После заморозки написал Нике не подтверждать и не отзывать контексты до безопасной процедуры.
— Вы дали ей служебную информацию?
— Нет. Я сказал, что юридический контур остановлен. К этому моменту уведомление ушло сторонам дела.
Уведомление Инги зарегистрировали в 10:17:42, сообщение Льва покинуло дата-порт в 10:18:09. Двадцать семь секунд — достаточно мало для подозрения и достаточно много для формальной правоты.
— Покажите переписку, — сказала она.
— Нет.
— Вы ссылаетесь на неё как на доказательство своих действий.
— Я ссылаюсь на время исходящего сообщения. Его можно подтвердить у шлюза без содержания и адресата.
— Ваша сестра может быть участницей подмены.
— Может. Как и любой носитель, сотрудник или подрядчик. Если у вас есть основание подозревать Нику, предъявите его. Родства недостаточно.
Точность Льва обнаружила слабое место вопроса. Самат делал так же: отнимал у удобного вывода опоры и ждал, пока тот упадёт сам.
Она переключила регистратор в режим процессуальной паузы. Запись изображения продолжилась, звук был заменён отметкой о конфиденциальном решении руководителя.
— Мне не нужен профиль Ники, — сказала Вера. — Мне нужно понять, могу ли я оставить вас внутри расследования.
— Если вам нужен удобный ответ, нет.
— Удобные ответы сегодня уже стоили одному сообществу адреса.
Лев сжал ладони между коленями.
— Я скрыл связь. Не потому, что внедрился в архив. Я знал, что при слове «родство» меня отрежут от сайма раньше, чем кто-нибудь проверит мою работу. И был прав.
— Вы были бы правы, если бы сообщили до проверки.
— Тогда меня не допустили бы к проверке.
— Именно это называется конфликтом интересов.
— А как называется ситуация, когда без человека с конфликтом никто не замечает, что архив переписал несогласие?
— Плохой подбор команды. Он не даёт вам права исправлять его тайком.
Вера вернула звук. Сформулировала для записи: Лев подтверждает личную связь с Ковдой-Шесть, признаёт, что не заявил её своевременно, отказывается раскрывать профиль возможного носителя на основании действующего режима защиты. Признаков передачи закрытых данных по доступным журналам не обнаружено. Проверка продолжается.
Затем она вывела три пустые строки.
— С этого момента вы лишены прямого доступа к SAIMA-L и связанным с ней личностям. Запросы к графу идут через меня или назначенного хранителя. Перед каждой задачей вы письменно отмечаете известные связи, даже если считаете их несущественными. Содержание защищённого контакта не раскрываете, но сам тип связи фиксируете.
— То есть я остаюсь?
— С ограниченным доступом.
— Почему?
— Потому что вы скрыли обстоятельство, но не скрыли найденное нарушение. Внедрённый участник подмены не стал бы добиваться общей заморозки семи дел, когда мог тихо спасти одно.
— Если только ему не нужна была заморозка всех семи.
— Эту версию я тоже записала.
Впервые за опрос угол его рта дрогнул, но улыбки не получилось.
Вера добавила взаимную проверку: улика Льва требовала независимого подтверждения, а её отказ принять улику — письменного основания. Лев прочёл условия и подписал.
Протокол должен был закрыться, но Вера заметила дату: стажировка началась через семнадцать дней после рекомендации «внутреннего эксперта высшей категории».
— Кто пригласил вас в «Палимпсест»?
— Открытый конкурс.
— Кто предложил подать заявку?
— Преподаватель в Петрозаводске переслал объявление.
— Самат Ордин связывался с вами до стажировки?
Лев покачал головой.
— Я увидел его впервые здесь. Он провёл вводную встречу для группы.
— Вы уверены?
— Его лицо трудно забыть.
— Не лицо. Имя, голос, переписка, анонимная консультация.
— Нет. Почему вы спрашиваете?
Вместо ответа Вера запросила полный пакет конкурса. Обычный сотрудник увидел бы только итоговый балл. Её роль внутреннего контроля раскрыла лист согласований: проверка образования, задача на восстановление корпуса, оценка устойчивости к конфликту контекстов. Последней стояла рекомендация, поданная за три недели до смерти Самата.
Автор: Самат Ордин.
За два дня до рекомендации Самат впервые запросил закрытый аудит синхронизации и получил отказ Талена. Тогда Вера решила, что он снова спорит о методологии. Теперь выходило, что он уже искал людей.
— Он рекомендовал вас лично, — сказала она.
Лев встал, забыв о закрытой двери.
— Покажите.
— Сядьте.
Он сел. Вера открыла документ в режиме чтения и придвинула его половину экрана. Текст был сухим даже по меркам Самата: девять строк о навыках кандидата, каждая — отдельный критерий.
«Знает ограничения распределённого свидетельства».
«Единичное подтверждение не принимает за согласие группы».
«Различает исчезновение данных и запрет на их использование».
«Отмечает происхождение каждого преобразования».
«Сохраняет несовпадающие версии до разрешения спора».
«Восстанавливает контекст без раскрытия личности источника».
«Опирается на независимые признаки».
«Считает отказ содержательным действием».
«Его работа пригодна для проверки другим исследователем».
— Он не мог этого знать. Конкурсную задачу я сдал позже. До неё был только публичный курсовой проект под учебным идентификатором. Связать его со мной мог преподаватель.
Вера запросила вложения. Их не было. Электронная подпись Самата была действующей, время подтверждалось кадровым узлом и внешним реестром. Подделать документ после его смерти без расхождения трёх журналов было невозможно. Но зачем рекомендовать незнакомого стажёра, не объясняя причины?
Лев прочёл строки ещё раз.
— Это не характеристика, — сказал он.
— Что тогда?
— Характеристики не пишут так. Здесь каждый глагол стоит в начале смысловой части. Знает. Не принимает. Различает. Отмечает. Сохраняет. Восстанавливает. Опирается. Считает. Работа пригодна. Будто перечень команд.
— Самат любил перечни.
— И ненавидел скрытые послания, если верить вам.
— Он ненавидел послания, которые нельзя проверить независимо.
Вера увеличила документ. Первые буквы строк складывались в ЗЕРОСВОЕР. Бессмыслица.
— Не русские буквы, — сказал Лев. — Идентификаторы зеркал записывались латиницей.
Система показала исходную кодировку. В локализованном интерфейсе первая буква третьей строки выглядела как русская «Р», шестой — как «В». В оригинале стояли латинские символы.
Z E R O S V O E R.
— ZERO-SVOER, — прочёл Лев. — «Зеро-Своер»?
Вера открыла реестр оборудования и прогнала строку через старые форматы. Совпадения не было. Система предложила нормализацию `ZE-R0-SV-0ER`, но такой записи тоже не существовало.
Лев указал на экран.
— Вы снова просите систему определить правильный вариант.
Вера остановила поиск.
Цена определения. Они только что видели, как удобно машина отбрасывает несовпадения.
— Читаем без нормализации, — сказала она. — Первые символы не строк. Первые символы исходных полей.
Она раскрыла структуру документа. Каждая видимая строка была собрана из метки критерия и комментария. Интерфейс показывал комментарии первыми, хотя в исходной форме перед ними стояли короткие коды.
Коды образовали последовательность: `M-04 / R-17 / L-02 / D-09 / G-31 / A-06 / K-12 / T-08 / X-00`.
— Девять сегментов, — сказал Лев.
— И первые буквы дают MRLDGAKTX. Тоже ничего.
— Не первые. Номера.
04-17-02-09-31-06-12-08-00.
В старом реестре ноль обозначал зеркало, снятое с активного баланса, а не порядковый номер. Вера переставила последний сегмент в поле класса и получила запись, которую современный поиск не индексировал: `M04-R17-L02-D09-G31-A06-K12-T08 / X0`.
На экране появился серый паспорт.
Зеркало X0-4172. Списано восемь лет назад. Физическое отключение подтверждено. Носитель оставлен в сервисной галерее северного крыла до плановой утилизации.
Утилизация была назначена дважды и оба раза отменена из-за ремонта охлаждения. Третьей даты не было.
Лев наклонился ближе.
— Северное крыло примыкает к учебному залу.
К тому самому залу, где шестьдесят три дня назад отключили «Каскад-12». К месту, акустика которого осталась на смонтированном голосовом допуске Самата.
Вера закрыла паспорт, прежде чем Лев успел запросить схему проходов.
— Ваши ограничения уже действуют.
— Тогда запросите сами.
— Запрошу. И сначала проверю, кто ещё открывал этот документ.
Журнал рекомендаций показал четыре обращения: кадровый алгоритм в день конкурса, Самат в день подачи, сама Вера сейчас — и неизвестный служебный процесс шесть минут назад.
Не пользователь. Не роль. Процесс без владельца, успевший прочитать рекомендацию сразу после того, как они открыли её в комнате опроса.
Вера выключила экран и разорвала сетевое соединение стола аппаратной клавишей. Белая полоса регистратора погасла. Сигнал юридической заморозки за стеной оборвался на половине тона.
— Протокол завершён, — сказала она в темноте. — Дальше мы не идём через реестр.
— Но мне запрещён прямой доступ.
— Доступ к данным. Не способность смотреть по сторонам.
Она открыла дверь аварийным ключом. В коридоре дежурный экран уже показывал запрос безопасности: комната опроса потеряла связь с дата-портом.
До того как кто-либо придёт проверять, оставалось не больше минуты.
Самат выбрал Льва заранее. Оставил номер списанного зеркала в документе, который должен был открыться только при сомнении в стажёре. Значит, он рассчитывал не на доверие, а на правильно оформленное недоверие.
Вера впервые подумала, что собранная им команда включала и её.
Не потому, что он верил ей.
Потому, что знал: когда анкета окажется неполной, она обязательно станет читать поля, которые система решила не показывать.
Глава 6. Списанное зеркало
Лев вышел первым и свернул к аварийной лестнице.
За спиной щёлкнул ключ. Вера заперла дверь, в которой они оставили обесточенный стол и безвладельный процесс по ту сторону оборванного соединения. На дежурном экране у поворота мигала жёлтая рамка: потеря связи, автоматическая проверка через сорок две секунды.
— Северное крыло не отсюда, — сказала Вера.
— Если идти по штатному коридору, нас увидит каждый турникет.
— Нас и так увидят.
— Позже.
Он толкнул тяжёлую дверь. Лестничная клетка пахла мокрым бетоном и смазкой. Здесь не было камер, только датчики дыма и зелёные стрелки эвакуации. Лев спускался через две ступени, придерживая ладонью перила. В голове стучали девять кодов из рекомендации Самата. Человек, с которым он якобы не встречался, нашёл его раньше конкурса, описал его работу точнее преподавателя и оставил путь к машине, списанной восемь лет назад.
Телефон подал сигнал: сообщение Ники ждало с утра. Лев не открыл его. Сначала зеркало — доказательство, которое выдержит чужую проверку.
На нижнем ярусе лестницу перегораживала цепь с табличкой «Подтопление. Проход только ремонтным службам». За цепью свет горел через один плафон. По полу тянулась чёрная вода, тонкая у стены и глубокая в центре.
— Если кто-то следит за реестром, он уже понял, куда мы идём, — сказал Лев.
Вера посмотрела на воду и его лёгкие ботинки.
— Найдём человека в сапогах.
Ремонтный пост находился за стеклянной перегородкой. Внутри мужчина в сером комбинезоне ел яблоко над разобранным клапаном. На нагрудной полосе было написано: «Р. ЮН. ХОЛОДНЫЕ СИСТЕМЫ». При виде Веры он отложил нож, но не яблоко.


