Read the book: «Белый бал»

Font::

Пролог

Самая опасная система - та,

которая работает именно так, как

было задумано

Дмитрий Иванов

ПРИМЕЧАНИЕ

Все персонажи, компании и организации, описанные в романе, вымышлены. Любые совпадения с реально существующими лицами и организациями случайны.

Прочтение настоящего примечания считается ознакомлением с исходными условиями. Продолжение чтения - подтверждение принятия риска.

Последний такт

14 декабря 2012 года. Санкт-Петербург

В 21:43 дети ещё не начали играть. Большой зал уже затихал, но это была не тишина, скорее редкий промежуток между чужими движениями. Скрипнула ножка стула. Кто-то на галерее кашлянул и сразу прикрыл рот ладонью, будто нарушил правило. Взрослые сидели в белом, молочном, светло-сером; при электрическом свете цвета почти сливались. Дети на сцене были одеты обычно. Софья настояла на этом ещё месяц назад и потом трижды объясняла мне, что белый нужен взрослым, а не им. «Им нечего изображать пустую страницу», — сказала она тогда. Я ответил, что пустая страница — плохая метафора для благотворительного вечера. Она ответила, что я плохая метафора для брата. На этом мы договорились.

Софья стояла сбоку от ансамбля, чуть наклонившись к девочке у первого пюпитра. Та держала лист обеими руками и всё равно умудрялась шуршать им так, будто собиралась развернуть карту. Софья что-то сказала ей беззвучно, одними губами, и девочка перестала теребить бумагу. Потом сестра выпрямилась, увидела меня у боковой двери и подняла брови. Я кивнул, будто всё шло по плану. Она закатила глаза.

Начальник охраны подошёл так, что я заметил его только по движению людей за спиной. Он никогда не трогал меня за локоть и не произносил «срочно» в помещении с гостями. Поэтому, когда он остановился рядом и сказал тихо: «Один дымовой. Служебное крыло», я посмотрел не на него, а на часы.

21:43.

— Камера? — спросил я.

— Чисто. Пламени нет.

Слова были знакомые. За неделю автоматика уже дважды давала состояние, которое подрядчик называл повышенной чувствительностью. После первого раза мы проверили линию. После второго — заказали ночной осмотр. Ничего, что позволяло бы остановить мероприятие без спора, не нашли. Я знал и другое: отсутствие пламени на камере ничего не доказывало. Но в тот момент эта оговорка существовала у меня в голове отдельно от решения.

— Проверить на месте, — сказал я. — Без объявления. И дайте мне картинку с поста.

Начальник охраны кивнул и ушёл тем же способом, каким подошёл: не создавая события. Я остался у двери.

В зале никто ничего не заметил. Это показалось мне хорошим признаком.

Сейчас я бы не смог объяснить, почему.

На маленьком служебном экране рядом с дверью появилась камера коридора. Серое изображение, пустой проход, участок стены, закрытая техническая дверь. Никакого огня. Даже дыма на записи я не увидел. Только один служебный сотрудник быстро прошёл через кадр и исчез. Сигнал на панели оставался. Один.

Софья уже рассаживала детей. Один мальчик встал не к своему стулу, соседка потянула его за рукав, он отмахнулся, потом оба засмеялись. Софья повернулась к ним, ничего не сказала — просто дождалась, пока они сами перестанут. Она умела делать это лучше меня. Я почти всегда считал паузу инструментом. Для неё пауза была местом, где другой человек ещё мог что-то сделать сам.

Я посмотрел на часы снова.

21:44.

Связь с постом шла короткими фразами. Проверяющий был в пути. Второго однозначного сигнала не было. Камера оставалась чистой. Электрика вызвали к сервисному щиту.

— Савина? — уточнил я.

— Да.

Мне стало спокойнее. Алексей Савин раздражал половину подрядчиков тем, что никогда не говорил «всё нормально», пока не мог назвать, что именно проверил. С ним я работал раньше. Если там был дефект, он найдёт. Если датчик снова ошибся, он заставит объяснить почему.

В этом рассуждении не было ничего неправильного. Неправильным оказалось место, которое я ему отвёл: между сигналом и правом остальных узнать о сигнале.

Ведущий у сцены посмотрел на меня. Я кивнул: по программе. Он шагнул к микрофону, но Софья тут же показала ладонью подождать — у одного из детей съехал пюпитр. Мальчик попытался исправить его сам, сделал хуже, и Софья присела рядом. Не оттолкнула руку. Показала, где держать. Они поправили стойку вдвоём.

Я помню эту мелочь лучше некоторых последующих показаний.

В 21:45 начальник охраны вернулся. На этот раз остановился ближе.

— Предлагаю тихо вывести ближайшие помещения. Без сирены. Служебный сектор и учебный коридор. Пока проверяем.

Я посмотрел через зал на парадную лестницу. Она была красива ровно до тех пор, пока на ней не оказывалось слишком много людей. Белые плечи, длинные юбки, пожилые гости, дети, официанты. Главный проход сужался у поворота. Мы обсуждали это утром. При общем сигнале часть гостей инстинктивно пошла бы туда, откуда вошла, даже если боковые выходы ближе.

— Локальную проверку — да, — сказал я. — Общую пока нет.

Он не ответил сразу.

— Адриан Михайлович, тихий вывод сейчас проще, чем через пять минут.

Я услышал в этой фразе то, что он сказал. И всё же ответил на другое.

— Через пять минут, если понадобится, у нас будут готовые боковые выходы и человек у каждого маршрута. А сейчас мы получим движение без причины, которую можем объяснить.

— Понял.

Он не сказал «согласен».

Я тоже это помню.

Софья поднялась на сцену. Взрослые в зале окончательно затихли. Несколько человек всё ещё стояли у задней стены с бокалами; ведущий жестом попросил их сесть. На секунду мне показалось нелепым, что самая сложная задача вечера сейчас — добиться, чтобы люди перестали шептаться перед детским выступлением.

21:46.

С поста сообщили: устойчивого пламени не видно. Савин начал искать источник. Формулировка была осторожной, и я услышал в ней подтверждение своей модели. Не подтверждение отсутствия опасности — этого никто не сказал. Подтверждение, что у нас ещё есть минуты.

Я подошёл на два шага ближе к залу. Софья заметила меня. У неё был тот взгляд, который в детстве означал: либо говори, либо перестань стоять с лицом человека, который знает секрет.

— Что? — спросила она беззвучно.

Я покачал головой и показал на сцену.

Играй.

Она секунду смотрела на меня, потом отвернулась.

Это тоже было решением. Не только моим — так я потом пытался думать. Она могла подойти. Могла спросить. Могла остановить детей сама. Всё это было правдой. Кроме одного: она не знала того, что знал я.

Софья подняла руку. Дети приготовились. Один вдохнул слишком рано и смутился. Она улыбнулась ему, едва заметно, и дала новый счёт.

Первые звуки были неровными. Потом собрались. Короткая пьеса начиналась осторожно, почти пусто, будто каждый участник сначала проверял, слышат ли его остальные. Я знал её продолжительность: три минуты. Мы прогоняли программу дважды.

Потом мне подтвердили запах горелой изоляции.

Эту фразу я услышал полностью. Не «возможно». Не «кажется». Запах подтверждён в служебной зоне.

На сцене музыка продолжалась.

Начальник охраны сказал:

— Теперь общую?

Я посмотрел на зал. Потом на часы. Потом снова на зал.

Я видел весь план сразу: открыть боковые двери, подготовить садовый маршрут, после номера спокойно перевести гостей в галерею и вывести детей первыми. Контролируемое движение вместо эвакуации толпы.

— Откройте боковые выходы, — сказал я. — Поставьте людей на садовый маршрут. Ведущему — готовить переход после номера.

Начальник охраны не уходил.

— А тревога?

Музыка дошла до первой паузы. Один ребёнок вошёл на долю раньше. Софья не остановила ансамбль. Она просто повернула голову, поймала его взгляд и дождалась, пока остальные подтянут фразу к нему.

— Сначала ближайшие помещения, — сказал я. — Я сам дам ведущему знак.

Он кивнул.

Я мог сказать другое слово. Одно. Оно не требовало схемы.

Не сказал.

Двери в садовой галерее начали открывать. Я видел движение персонала за зеркальными створками. Одна женщина у заднего ряда обернулась, заметила это и снова повернулась к сцене. Всё происходило именно так, как я хотел: без паники, без шума, без нарушения программы.

Мне стало спокойнее во второй раз.

С поста пришло сообщение о дыме у стыка служебной и учебной зон. Не в зале. Не на маршруте, который я собирался использовать для гостей. Пока ещё не там.

— Учебный выход? — спросил я.

— Проходим. Но я бы уже выводил.

— Готовьте.

Я снова не произнёс «тревога».

Пьеса шла второй минутой. Теперь она звучала увереннее. Самое странное в детском ансамбле — как быстро человеческое ухо прощает отдельную ошибку, если группа успевает снова услышать друг друга. Ещё двадцать секунд назад я различал каждую неровность. Теперь музыка стала одной линией.

Я смотрел на неё и видел доказательство собственного решения. Выходы открыты. Люди на местах. Ведущий предупреждён. Охрана готова. Проверка идёт. Мы не бездействуем.

Если бы кто-то в ту минуту спросил меня, почему я не остановил вечер, я бы ответил именно так: потому что я уже действовал.

Софья повернула страницу. Рука у неё дрогнула не от страха — она ничего не знала, — а потому что край бумаги зацепился за соседний лист. Она раздражённо прижала угол пальцем и продолжила считать детям глазами.

Я подумал, что после номера скажу ей про датчик. Она сначала выругается за то, что я не сказал сразу. Потом спросит, кто проверяет. Потом пойдёт считать детей сама, потому что не доверяет списку, если может посмотреть на лица.

У меня уже существовал разговор, который должен был случиться через две минуты.

В какой-то момент одна из групп света на секунду просела. Настолько коротко, что большая часть гостей не подняла головы. Я поднял.

Пост заговорил одновременно со мной. Дополнительные состояния. Нестабильность. Савин сообщил, что нужно отключение, потом связь с ним стала рваной. Я переспросил. Ответ пришёл не сразу.

— Повторите по Савину.

Шум в линии. Чужой голос. Потом: «Работает у щита. Готовит отключение». Или «требует отключения». Я не уверен, что именно услышал. Позже я много раз был уверен.

Ведущий стоял у кулисы и смотрел на меня. Он тоже заметил свет. Я показал ладонью: ещё.

Музыка приближалась к финальной фразе. Зал слушал детей. Боковые выходы были открыты. Я уже выбрал слова для ведущего: не «пожар», не «эвакуация» — «техническая пауза». Потом мы выведем детей. Потом гостей. Потом разберёмся с щитом.

Это казалось мне ответственностью: не сообщать человеку больше страха, чем нужно для правильного действия.

Теперь я знаю другое название.

На сцене Софья чуть подняла подбородок. Она всегда делала это перед последней фразой — не для детей, для себя. Как будто напоминала, что конец нельзя ускорять только потому, что он уже близко.

Потом свет погас.

Не весь сразу. Сначала исчезло золото со стен. Потом потемнели зеркала. На сцене оборвался один звук, второй продержался ещё мгновение — акустика зала вернула его нам уже без источника. Где-то справа кто-то вскрикнул. Из служебного коридора пришёл запах, который до этого существовал только в чужих словах.

Горелая изоляция.

Дверь в глубине дома ударила о коробку с таким звуком, будто кто-то захлопнул тяжёлую книгу.

А потом включилась общая тревога.

Я не помню, кто запустил её первым — автоматика или пост. Я помню собственный голос.

— Общая эвакуация. Садовые выходы. Детей первыми. Служебный сектор — наружу. Быстро, без бега.

Я уже шёл к залу, когда в последний раз посмотрел на сцену.

Теперь у меня был пожар.

Финального такта я не услышал.

Глава 1

Второй комплект

3 ноября 2026 года

Санкт-Петербург

В половине шестого вечера Петербург уже выглядел так, будто рабочий день закончился несколько часов назад. Дождя почти не было — только мелкая взвесь, которую невозможно было разглядеть в воздухе, пока она не оседала на воротнике, волосах и стекле телефона. Под ногами блестел чёрный асфальт. Свет фонарей растягивался по нему жёлтыми полосами, ломался в лужах и исчезал под колёсами машин. Глеб Руднев задержался у ворот и поднял голову. Не из-за здания. Он смотрел на светильник над въездом. Лампа включалась с едва заметным опозданием: сначала срабатывал соседний фонарь, затем проходило примерно полсекунды, и только потом загорался этот. Глеб постоял ещё немного. Фонарь погас. Через несколько секунд датчик снова поймал движение на тротуаре. Первый. Пауза. Второй.

— Разные группы, — тихо сказал Глеб.

Он сам услышал собственный голос и усмехнулся. Нормальный человек в половине шестого вечера думал бы о том, где поужинать. Руднев анализировал наружное освещение здания, к которому вообще не имел отношения. Он застегнул куртку и пошёл к машине. День получился длинным. Не тяжёлым — именно длинным. Такие дни Глеб переносил хуже всего. Когда не происходило ничего достаточно серьёзного, чтобы мобилизоваться, но каждое мелкое действие требовало присутствия: подпись, фотография, измерение, уточнение, ещё один вопрос, ещё один журнал событий, который почему-то существовал сразу в трёх версиях. На объект он приехал утром. Формулировка задания была привычной: обследование инженерных систем, анализ последовательности нескольких отказов, оценка того, могли ли они иметь общую причину.

Формулировки вообще редко соответствовали реальной работе. «Анализ отказа» звучал так, будто где-то существовал аккуратный сломанный механизм, который оставалось положить на стол, разобрать и найти треснувшую деталь. В действительности почти всегда ломалась не деталь. Ломалось взаимодействие. Один человек считал, что сигнал увидит другой. Один автомат должен был отключиться раньше второго. Кто-то заменил оборудование на «эквивалентное». Кто-то решил, что три секунды ничего не меняют. Кто-то однажды временно снял блокировку, а через год никто уже не помнил, что она когда-то существовала. После этого появлялся отказ. Потом совещание. Потом фраза: «Так сложились обстоятельства». Глеб не любил обстоятельства. Обстоятельства не имели уставок, временных диаграмм и ответственных лиц. Люди — имели.

Он дошёл до машины, но не открыл дверь. Телефон коротко завибрировал. На экране высветилось уведомление рабочей почты. 17:32. Отправитель был ему незнаком. Тема: «СП-19/12. Комплект исходных данных для анализа». Глеб несколько секунд смотрел на письмо. Про этот комплект ему говорили утром. Следующий объект. Фонд. Какой-то декабрьский закрытый приём в историческом здании. От «Контура» требовалась независимая оценка устойчивости отдельных инженерных систем — без полноценной экспертизы, без проектирования, без выпуска рабочей документации. Небольшая работа. По крайней мере так её описал руководитель группы. Глеб открыл письмо.

«Глеб Андреевич, добрый день.

В соответствии с достигнутыми договорённостями направляем материалы для предварительного ознакомления. Просим до проведения установочного совещания не формировать итоговых выводов в связи с продолжающимся уточнением конфигурации объекта».

Ниже стояла подпись сотрудника компании, название которой Глеб уже где-то видел. ООО «Аурелия Проект». Он нахмурился. Не потому, что узнал компанию. Потому что не смог вспомнить, откуда. Глеб терпеть не мог это ощущение. Когда мозг уже отметил информацию как знакомую, но отказался сообщать источник. Он пролистал письмо вниз. Вложение: SP_1912_INPUT_v3.zip. Сорок шесть мегабайт.

— В машине, — сказал он себе.

Телефон он убрал в карман. Сел за руль. И всё равно через несколько секунд снова достал. Не для того, чтобы открыть архив. Просто посмотреть письмо ещё раз. В строке получателей кроме него стояли два адреса сотрудников «Контура». Всё правильно. Обычная рабочая рассылка. Глеб положил телефон экраном вниз на пассажирское сиденье. Завёл двигатель. Печка отозвалась холодным воздухом.

— Отлично.

Он выехал с территории.

* * *

В пробке у Обводного он вспомнил, где видел название «Аурелия». Неделю назад. В старом заключении. Не в основном тексте — в приложении. Компания фигурировала там как владелец одного из смежных объектов. И всё. Глеб постучал пальцами по рулю. Это объяснение его устроило. Почти.

Красный свет светофора отражался в мокром лобовом стекле. Щётки лениво проходили справа налево, оставляя на секунду чистую поверхность, которая тут же снова покрывалась мелкими каплями.

Телефон завибрировал ещё раз. Он не посмотрел. Потом ещё. Глеб перевёл взгляд на часы приборной панели. 17:48. Машины впереди не двигались. Он взял телефон. Второе письмо. Тот же отправитель. Тема почти такая же: «СП-19/12. Комплект исходных данных для анализа — дополнение». Внутри — одно предложение: «Направляем дополненный комплект. Просим использовать его вместо направленного ранее». Вложение: SP_1912_INPUT_v3a.zip. Размер — сто двадцать восемь мегабайт. Глеб перечитал строку. Потом посмотрел на предыдущее письмо. Первое — 46 мегабайт. Новое — 128. Он снова открыл текст. Никаких пояснений. Ни «расширен состав». Ни «добавлены исходные данные». Ни перечня изменений. Просто: использовать дополненный комплект вместо направленного ранее. Светофор загорелся зелёным. Сзади почти сразу посигналили.

— Вижу.

Глеб положил телефон и тронулся. Разница в размере могла ничего не значить. Дубликаты. Исходники. Тяжёлые чертежи. Сканированные листы. Временные файлы. Половина технического документооборота человечества держалась на предположении, что версия с буквой «а» почему-то лучше версии без неё. Ничего необычного. И всё же через несколько минут он поймал себя на том, что продолжает считать. Восемьдесят два мегабайта разницы.

* * *

Офис «Контура» находился не там, куда Глеб поехал. Рабочий день официально закончился. Возвращаться туда смысла не было. Он ехал домой. Это решение он принял ещё на выезде с объекта. Через сорок минут Глеб сидел на кухне с ноутбуком. Куртка осталась в прихожей, влажная по плечам. На столе стояла кружка кофе, к которой он пока не притронулся. Он обещал себе только скачать материалы. Ничего не открывать. Просто убедиться, что оба архива сохранились в рабочей папке, отправить короткий ответ о получении и закончить день. В 18:36 первый архив загрузился. В 18:38 — второй. Глеб создал каталог 19_12. Внутри два подкаталога: 01_received_1732 и 02_received_1748. Он посмотрел на них. По письму второй комплект теперь следовало считать рабочим, а первый — устаревшим. Но удалять исходные данные Глеб не любил. Никогда.

Не из недоверия. Из привычки. В техническом расследовании файл, который кто-то называет ошибочным, иногда оказывался важнее файла, который позже называли правильным. Не потому, что кто-то обязательно что-то скрывал. Чаще всё происходило проще. Люди исправляли документы. А вместе с ошибкой случайно исправляли историю её появления. Глеб щёлкнул по первому архиву. Структура была аккуратной: 01_Общие данные, 02_Электроснабжение, 03_Связь, 04_СКУД, 05_Пожарная безопасность, 06_Резервирование, 07_Эксплуатационные сценарии. Он сделал глоток кофе. Холодный. Глеб поморщился. Когда успел?

Он открыл раздел общих данных. Титульные листы. Ведомости. Планы. Ничего интересного. Заказчик — фонд «Северная партитура». Название Глебу понравилось меньше, чем должно было. Не потому, что было плохим. Наоборот. Слишком красивым для организации, присылающей схемы резервного электроснабжения. Он открыл поисковик, потом остановился. Нет. Работа завтра. Сейчас — только структура. Закрыл браузер. В разделе с эксплуатационными сценариями находилось четыре PDF-файла. Открыл первый. Планы переключений. Обычные. Второй. Резервное питание. Третий. Работа каналов связи при отказе основного ввода.

Глеб пролистал несколько страниц. Схема была сложнее, чем он ожидал для закрытого мероприятия, но ничего невозможного в этом не было. На объекте с большим количеством гостей требования к связи, доступу, охране и резервированию всегда разрастались быстрее, чем хотелось владельцу. Особенно если среди приглашённых были люди, для которых потеря мобильной связи на десять минут считалась чрезвычайной ситуацией национального масштаба. Глеб закрыл документ. Остался четвёртый файл: Event_Mode_19-12.pdf. Он открыл. Первая страница почти пустая. Схема размещения оборудования. Таблица. Несколько кодов. Никаких фамилий. Никакой информации о гостях. В верхнем правом углу: 19.12.2026. Ниже: режим: EVENT. Глеб пролистал дальше. Шесть страниц. Восемь. Двенадцать. Ничего особенного.

Он уже собирался закрыть документ, когда заметил строку в нижней части одного из листов: «T₀ определяется отдельным планом мероприятия». Глеб остановил прокрутку. Перечитал. Необычно. Но объяснимо. Для инженерной документации удобнее было бы указать конкретное время либо ссылку на утверждённый сценарий. T₀ больше походило на обозначение из временной диаграммы. Начальная точка события. Активация. Отсчёт. Глеб приблизил лист. Рядом шла последовательность: T₀ − 120, T₀ − 60, T₀ − 15, T₀, T₀ + 5. Он наклонился к экрану. Не концерт. Не банкет. С технической точки зрения мероприятие было расписано как процедура. Это уже представляло профессиональный интерес.

Глеб открыл ведомость связанного оборудования. Часть строк была обезличена. Вместо привычных наименований использовались коды: К-01, К-02, К-03. Дальше: Контур 01, Контур 02, Контур 03, Контур 04. Слово заставило его улыбнуться.

— Серьёзно?

Он работал в бюро «Контур». Совпадение было настолько прямым, что становилось почти смешным. Но уже через секунду Глеб перестал улыбаться. Рядом с четвёртым контуром стояло: ББ-26 / Контур 04.

ББ. Могло означать что угодно. Блок безопасности. Базовый блок. Бесперебойный блок. Бортовая батарея — если очень постараться.

Глеб открыл легенду документа. Расшифровки не было. Он нажал поиск. ББ-26. Одно совпадение. Только эта строка.

— Ладно.

Он записал код в блокнот. Не потому, что считал его важным. Просто потому, что не любил обозначений без расшифровки. На этом можно было остановиться. И надо было. Глеб посмотрел на часы. 19:07. Он ещё не ужинал. На телефоне лежали два непрочитанных сообщения. Он закрыл первый архив. Несколько секунд сидел неподвижно. Потом посмотрел на папку 02_received_1748. Второй комплект. Сто двадцать восемь мегабайт. Тот самый, который просили использовать вместо первого. Глеб провёл ладонью по лицу.

— Только структура.

Архив распаковался медленнее. Первые семь папок повторяли структуру первого комплекта. Но дальше шли ещё четыре: 08_Резервная связь, 09_Автономные системы, 10_Сценарные карты, 11_Archive_reference. Глеб больше не смотрел на часы. Он открыл восьмую. Схемы. Таблицы каналов. Маршрутизация. Несколько файлов имели внутренние номера без названий. В девятой лежали расчёты автономности. В одном из них напротив узла РС-4 стояло: «Required autonomy — 72 h». Трое суток сами по себе не были невозможными, но такое требование требовало сценария, состава нагрузки и основания. Рядом основания не было. В десятой папке лежали сценарные таблицы. Глеб открыл одну. Слева — время, сверху — коды. Расшифрованы были только две категории: 01. Связь. 02. Энергетика.

Дальше шли обозначения без легенды: K-04, R-07, S-09. В нескольких строках повторялось слово «контур», но из фрагментов невозможно было понять, сколько таких категорий вообще существует и относятся ли они к одному объекту. Глеб пролистал таблицу ещё раз. Пока это выглядело как внутренний классификатор большого проекта — слишком широкий для обычной эксплуатации здания, но недостаточный для какого-либо вывода. Он посмотрел название файла: BB26_SCENARIO_MATRIX_DRAFT. BB. Снова. Глеб открыл свойства документа. Автор не указан. Организация: Aurelia. Дата последнего изменения: 28.10.2026. Внизу одного листа была служебная строка мелким шрифтом. Настолько мелким, что при обычном просмотре её можно было принять за номер версии. Глеб увеличил масштаб.

19.12.2026 / T₀. Ниже: «Окно устойчивости — 72 h». Ещё ниже: «Синхронизация по отдельному графику».

Под строкой шёл текст серого цвета. Глеб прочитал. Потом ещё раз.

«Задержка активации — 7 мин. Не повторять 2012».

Он не сразу понял, что именно его насторожило. Семь минут? 2012? Слово «активация»? Нет. Формулировка.

«Не повторять». Так не писали в технической документации. Можно было написать: «учесть опыт эксплуатации», «исключить задержку», «обеспечить время реакции не более…», «реализовать автоматический запуск». Даже: «по результатам анализа инцидента 2012 года». Но не: «Не повторять 2012».

Это было не требование. Это была память. Глеб открыл поиск по папке. 2012. Система начала просматривать документы. Одно совпадение. То самое. Он попробовал: 7 мин — одно. «семь» — ноль. «задержка активации» — одно.

— Прекрасно.

Глеб посмотрел в окно. За стеклом была темнота. Не та густая зимняя темнота декабря, когда город окончательно смиряется с отсутствием света, а ноябрьская — влажная, отражённая, почти прозрачная. В доме напротив горели окна. На кухне этажом ниже кто-то двигался между столом и плитой. Обычный вечер. Глеб снова посмотрел на монитор. «Не повторять 2012». В инженерных расследованиях прошлое редко исчезало. Оно оставалось в странных местах. В уставке, которую никто не решался менять. В дополнительном реле на стене. В кабеле, проложенном по бессмысленному маршруту. В инструкции, где одно предложение было выделено жирным без видимой причины. Иногда объект десятилетиями носил на себе шрамы аварии, о которой новые сотрудники уже ничего не знали.

Но здесь было другое. Документ был свежим. Двадцать восьмое октября 2026 года. Кто-то шесть дней назад сознательно написал: «Не повторять 2012». Глеб потянулся к телефону. Можно было написать руководителю группы. Спросить, что это за комплект. Почему он пришёл ему. Есть ли какая-то предыстория объекта. Он уже открыл рабочий чат. И остановился. Было поздно. Да и вопрос пока отсутствовал. Было только любопытство. А любопытство — плохая причина поднимать людей вечером. Глеб закрыл чат. Вместо этого открыл один из планов здания. Особняк. Исторический. Толстые стены. Несколько лестничных клеток. Большой зал. Служебные помещения. Схемы эвакуации. Ему понадобилось меньше минуты, чтобы понять: здание ему знакомо. Не само. Планировка. Глеб видел её раньше. Где?

Он увеличил центральную часть. Главная лестница. Северное крыло. Галерея. Большой зал. Переход. Ещё один лестничный марш. В памяти что-то сдвинулось. Старый технический отчёт. Пожар. Не его расследование — тогда он ещё учился. Кажется, материал попадался ему во время подготовки одного из обзоров по каскадным отказам систем безопасности в исторических зданиях. Глеб снова открыл браузер. На этот раз не остановился. В строке поиска набрал название объекта. Несколько результатов. Реставрационные работы. История здания. Фотографии интерьеров. Фонд «Северная партитура». Глеб добавил: 2012 пожар. Страница обновилась. Он замер. Первая ссылка вела на архивную новость: «Пожар в историческом особняке во время закрытого благотворительного вечера». Дата публикации: 15 декабря 2012 года.

Глеб открыл. Текст был коротким. Пожар. Ночная эвакуация. Работа экстренных служб. Причины устанавливаются. Он пробежал глазами ниже. И остановился.

Четыре погибших. Глеб медленно поставил кружку на стол. Он не заметил, когда снова взял её в руки. Четыре. Новость была написана сухо. Почти без деталей. Такие старые публикации всегда казались обезличенными: событие уже завершилось, эмоции выцвели, ссылки на следующие материалы давно перестали работать. Глеб пролистал страницу. Фотография фасада. Пожарные автомобили. Свет прожекторов. Дым над крышей. Под снимком — подпись: 14 декабря 2012 года. Он вернулся к документу. «Не повторять 2012». Теперь предложение означало больше. Но яснее не стало. Наоборот. Мероприятие 2026 года планировали в том же здании? После пожара? Через четырнадцать лет? И кто-то внутри инженерной документации специально ссылался на тот вечер.

Глеб открыл другую вкладку. Поиск по названию фонда и дате. Результатов было немного. Старые афиши. Благотворительные проекты. Музыкальные программы. Архивная копия страницы, почти полностью исчезнувшей из сети. Он нажал. Страница загружалась долго. Белый фон. Сломанные изображения. Несколько строк текста. В центре сохранился заголовок: «БЕЛЫЙ БАЛ». Ниже: 14 декабря 2012 года. Глеб посмотрел на слова. Потом на название файла: BB26_SCENARIO_MATRIX_DRAFT. ББ. Он тихо выдохнул.

— Вот ты что.

Белый бал. ББ-26. Белый бал 2026. Совпадение перестало быть совпадением. На архивной странице не было почти ничего. Несколько абзацев о вечере в поддержку культурных и реставрационных программ. Музыка. Благотворительность. Закрытый список гостей. Организаторы. Глеб прокрутил ниже. Большинство фотографий не загрузилось. Одна сохранилась. Групповой снимок. Человек двадцать на фоне лестницы. Мужчины в костюмах. Женщины в вечерних платьях. Белые цветы. Слишком низкое разрешение, чтобы различить лица. Глеб приблизил. Изображение рассыпалось на квадраты. Он закрыл. Неважно. Его интересовала не светская хроника. Его интересовали семь минут. Он снова вернулся к архиву. На этот раз открыл папку 11_Archive_reference. В ней было всего два файла. Первый — пустая таблица реестра. Второй — 2012_EVENT_LOG_REF.pdf.

Глеб почувствовал, как усталость исчезла. Не резко. Просто перестала иметь значение. Он открыл файл. Запрос пароля.

— Разумеется.

Закрыл. Попробовал посмотреть свойства. Название. Версия. Дата. И поле: «Источник: оригинал журнала событий». Глеб перестал двигаться. Не сам оригинал — ссылка на него. Значит, этот материал либо составляли по полному журналу, либо хотели, чтобы читатель документа считал именно так. Для технического расследования разница была принципиальной. Профессиональная часть его сознания мгновенно отреагировала на слово. Журнал событий был именно тем, с чего начиналось любое нормальное техническое расследование. Не с показаний. Не с итогового акта. Не с красивой схемы, нарисованной через неделю после аварии. С последовательности. Что произошло первым. Что увидела автоматика. Что не увидела. Кто подтвердил сигнал. Что включилось. Что не включилось. Сколько прошло времени.

Семь минут. Глеб открыл поисковик ещё раз. Запрос: «пожар 14 декабря 2012 особняк журнал событий». Ничего. Добавил название здания. Несколько публикаций. Официальные выводы. Причина возгорания. Нарушения. Эвакуация. Глеб читал быстро, выхватывая технические формулировки. В одном материале говорилось, что сигнал о происшествии был передан своевременно. В другом — что развитие пожара оказалось стремительным. В третьем — что часть систем работала штатно. Он остановился. «Своевременно». Слово, которое ничего не означало без времени. Глеб посмотрел на серую строку в документе: «Задержка активации — 7 мин. Не повторять 2012». У него наконец появился вопрос. Не тот, который стоило задавать сегодня вечером. Но уже настоящий. Что произошло за эти семь минут?

Телефон завибрировал. Глеб вздрогнул. На экране было новое письмо. 19:41. Тот же отправитель. На этот раз тема отличалась: «ВАЖНО. Ошибочно направленные материалы». Он открыл.

«Глеб Андреевич,

во втором письме от 17:48 по технической ошибке был направлен расширенный комплект материалов, не относящийся к предмету работ бюро «Контур».

Просим удалить вложение из письма от 17:48 без дальнейшего использования. В работе просим использовать комплект, направленный в 17:32. Подтвердите, пожалуйста, удаление ответным письмом».

Глеб перечитал сообщение. Потом посмотрел на часы. 19:42. Два часа. Им понадобилось два часа, чтобы заметить ошибку. Ничего удивительного. Могли заметить сразу и долго согласовывать формулировку. Могли просто получить уведомление. Могли проверить журнал отправки. Глеб вернулся к рабочей папке. 02_received_1748. Курсор остановился над ней. Удалить. Он не нажал. Вместо этого открыл свойства архива. Дата получения. Размер. Контрольная сумма. Глеб скопировал её в текстовый файл. Необходимости в этом не было. Почти наверняка. Но он слишком долго занимался расследованиями, чтобы уничтожать первичный материал после простой просьбы в письме. Даже если материал пришёл ошибочно. Особенно если ошибочно.

Он не собирался распространять документы. Не собирался использовать их в заключении. Не собирался даже сообщать кому-то о содержимом до разговора с руководителем. Но удалить? Нет. Глеб создал внутри рабочей директории папку SOURCE_DO_NOT_USE. Перенёс туда второй архив. Закрыл. После этого написал ответ: «Добрый вечер. Комплект от 17:32 остаётся в работе. Вложение из письма от 17:48 в рабочую выборку включено не будет». Он перечитал. Отправитель просил подтвердить удаление. Глеб этого не подтвердил. И лгать не стал. Нажал «Отправить». Письмо ушло. На кухне стало очень тихо. Холодильник отключился. За окном прошла машина, и на несколько секунд свет фар скользнул по потолку.

Глеб сидел перед ноутбуком. Ему следовало закрыть крышку. Поужинать. Принять душ. Включить что-нибудь бессмысленное. Завтра утром рассказать о письме руководителю и спокойно разобраться. Вместо этого он ещё раз открыл первый комплект. Тот, который теперь оставался разрешённым к работе. Семь папок. Никакого 2012 года. Никакого Белого бала. Никаких лишних сценарных категорий. Никакого срока 72 h. Обычная инженерная документация. Аккуратная. Корректная. Без лишних вопросов. Глеб смотрел на экран и впервые за весь вечер почувствовал не любопытство. Раздражение.

Он знал этот приём, хотя здесь, вероятно, никакого приёма не было. Когда человеку показывали исправленную версию документа, первая постепенно начинала казаться ошибкой не только формально, но и в его собственной памяти. Проходило несколько дней. Новый файл вытеснял старый. И в какой-то момент уже трудно было уверенно сказать, что именно ты видел раньше. Глеб закрыл рабочий комплект. Открыл блокнот. На чистой странице написал дату: 03.11.2026. Ниже: СП / особняк. Следующая строка: ошибочный второй комплект — 17:48. Ещё ниже: ББ-26. 19.12.2026 / T₀. РС-4 — 72 h. Он немного подумал. И последним записал: 7 минут / 2012 — почему? Поставил знак вопроса.

Посмотрел на страницу. Всего четыре строки. Никакого расследования. Никакой тайны. Никакой причины считать, что произошло что-то важное. Всего лишь документы, которые случайно отправили не тому человеку. Глеб закрыл блокнот. В 19:56 ноутбук ушёл в спящий режим. Через одиннадцать минут во внутреннем журнале информационной системы «Аурелии» автоматически появилась запись:

03.11.2026 / ИНЦИДЕНТ 26-1103-17

Внешний получатель: РУДНЕВ Г.А.

Пакет: РАСШИРЕННЫЙ/ v3a

Запрос на отзыв отправлен: 19:41

Подтверждение удаления: не получено

Строка оставалась без комментария менее минуты. Затем рядом появился новый статус.

ТРЕБУЕТ ПРОВЕРКИ.

Глава 2

Предмет работ

4 ноября 2026 года

Санкт-Петербург

Глеб проснулся за семь минут до будильника. Он понял это не сразу. Сначала увидел серый потолок, потом полоску света от фонаря на стене, потом цифры на телефоне — 06:23. Будильник был поставлен на половину седьмого.

Семь минут. Глеб закрыл глаза.

— Очень смешно.

Сон уже не возвращался. В голове стояла вчерашняя строка из документа, хотя он ни разу сознательно не пытался её вспомнить: «Задержка активации — 7 мин. Не повторять 2012». Он полежал ещё немного, прислушиваясь к дому. Где-то сверху прошумела вода. В подъезде хлопнула дверь. На улице проехала уборочная машина, шурша щётками по мокрому асфальту. Обычные звуки раннего утра почему-то действовали лучше любой попытки убедить себя, что ничего особенного не произошло. Ничего и не произошло, напомнил себе Глеб. Ему по ошибке прислали лишние документы. Он увидел внутреннюю пометку. Нашёл старую публикацию о пожаре. Всё. Он встал, поставил чайник и открыл блокнот, оставленный вечером на кухонном столе. Четыре строки выглядели уже менее впечатляюще, чем ночью.

03.11.2026. СП / особняк. Ошибочный второй комплект — 17:48. ББ-26. 19.12.2026 / T₀. РС-4 — 72 h. 7 минут / 2012 — почему?

Глеб посмотрел на последнюю строчку, взял ручку и рядом написал: «Не вывод. Проверить официально». Это помогло. Он всегда чувствовал себя спокойнее, когда вопрос получал правильный статус. Не загадка. Не подозрение. Не тайна. Гипотеза, которой пока нечем быть.

К семи утра кофе был выпит, вчерашняя рубашка отправлена в стирку, а рабочая почта проверена дважды. Новых писем от «Аурелии» не было.

Это почему-то насторожило его больше, чем если бы они написали снова.

* * *

Бюро «Контур» занимало два этажа в бывшем административном здании недалеко от набережной. Снаружи дом выглядел так, будто его перестраивали по частям в разные десятилетия: дореволюционный кирпич внизу, стеклянная надстройка наверху, слишком новые алюминиевые двери между ними. Внутри всё было проще — белые стены, стеклянные перегородки, лабораторные помещения за тяжёлыми дверями и вечный запах кофе, бумаги и нагретой электроники. В штате было около тридцати человек. Для крупной организации — почти ничего. Для независимого технического бюро — достаточно, чтобы одновременно расследовать пожар на складе, отказ автоматики в торговом центре, спор страховой компании с подрядчиком и ещё пять историй, в которых каждая сторона заранее знала виновного. Глеб пришёл в 08:14. У двери кабинета Елены Мещериной уже горел свет.

Он посмотрел на часы ещё раз, хотя необходимости не было. Елена редко приезжала раньше половины девятого. Если только не улетала, не принимала заказчика или не хотела поговорить с сотрудником до того, как офис наполнится людьми. Глеб снял куртку, поставил ноутбук на стол и успел открыть только почту.

— Руднев.

Голос прозвучал из коридора. Он поднял голову. Елена стояла у своей двери с кружкой в руке.

— Ко мне.

— Доброе утро.

— Посмотрим.

Елена Сергеевна Мещерина руководила «Контуром» одиннадцать лет и обладала неприятной для собеседника привычкой не заполнять паузы. Она могла задать вопрос и спокойно ждать столько, сколько требовалось, пока человек сам не переставал прятаться за первой удобной формулировкой. В бюро считали, что это профессиональная техника. Глеб подозревал, что ей просто не нравилось говорить вместо других. На столе перед ней лежала распечатка. Глеб узнал своё вчерашнее письмо.

— Они позвонили в семь пятьдесят две, — сказала Елена. — На общий номер.

— По поводу второго комплекта?

— По поводу того, что один из наших сотрудников не подтвердил удаление второго комплекта.

Глеб сел.

— Я не подтвердил, потому что не удалил.

— Я догадалась. Открывал?

— Да.

— Насколько далеко?

Глеб не стал изображать непонимание.

— Достаточно, чтобы увидеть, что он отличается от актуального. Часть документов просмотрел до письма об отзыве.

— После письма?

— Нет.

Елена отпила кофе.

— Сохранил?

— Да.

— Почему?

Ответ у него был готов ещё с ночи.

— Потому что это исходный материал, который поступил нам по официальному каналу в рамках действующего договора. Отправитель позже изменил статус, но факт передачи не исчез. Я не собираюсь использовать содержимое в работе без отдельного решения. Но уничтожать первичный материал по письму того же отправителя считаю неправильным.

Елена несколько секунд смотрела на него.

— Ты сейчас отвечаешь как инженер или как человек, которому стало интересно?

Глеб выдержал паузу.

— Как инженер.

— Плохо.

Он нахмурился.

— Почему?

— Потому что инженер сказал бы сначала, где лежит копия, кто к ней имеет доступ и сохранил ли ты исходное письмо. А ты объяснил мне философию хранения доказательств.

Глеб почти улыбнулся.

— Исходный архив лежит в отдельной локальной папке. В облако не загружался. Доступ только у меня. Исходное письмо сохранено на сервере. Я записал контрольную сумму архива.

— Уже лучше. Кому показывал?

— Никому.

— Пересылал?

— Нет.

— Скриншоты?

— Нет.

— Внешние носители?

— Нет.

Елена кивнула и отодвинула распечатку.

— Значит, пока ничего не трогаешь. Ни удаляешь, ни открываешь снова. Я отвечу им сама.

— Хорошо.

— И ещё одно. Мы не уголовный розыск, Глеб.

— Я знаю.

— Знаешь. Но иногда тебе нравится забывать, когда документ ведёт себя странно.

Он ничего не сказал. Елена развернула к нему папку с договором.

— Наш предмет работ здесь.

Она постучала пальцем по странице.

— Техническая устойчивость инженерных систем объекта в режиме массового мероприятия. Электроснабжение критических нагрузок. Связь. Управление доступом. Пожарная автоматика. Сценарии отказа. Границы ответственности эксплуатации и подрядчиков. Всё.

— В договоре есть анализ предшествующих инцидентов?

Елена подняла глаза.

— Вот мы и пришли к интересному.

Она перелистнула несколько страниц.

— Есть пункт о проверке исторических изменений систем после реконструкций. Есть требование учитывать причины прошлых существенных отказов. Но отдельного задания на расследование пожара 2012 года нет.

— Ты знала про пожар?

— Разумеется.

— До вчерашнего дня?

— Я подписывала договор, Глеб.

Это прозвучало без раздражения, но достаточно точно.

— В открытых материалах четыре погибших, — сказал он. — И довольно мало технических деталей.

— Потому что открытые материалы редко пишут для ведущего инженера по анализу отказов.

— Заказчик давал официальный отчёт?

— Нет.

— Почему?

— Потому что мы пока его не запрашивали.

Глеб посмотрел на неё. Елена откинулась на спинку кресла.

— Ты работаешь с этим проектом меньше суток и уже задаёшь вопрос так, будто отсутствие документа является признаком сокрытия. Не является. Пока не является.

— Я не сказал, что они скрывают.

— Ты умеешь не говорить это очень выразительно.

На секунду между ними возникла та привычная тишина, в которой Глебу обычно приходилось выбирать: защищаться дальше или признавать точность замечания.

— Хорошо, — сказал он. — Тогда официально запрашиваем материалы по реконструкциям после 2012 года и основания для текущих сценариев резервирования.

— Именно.

Елена подвинула к нему ещё один лист.

— И ты будешь ведущим по этому аудиту.

Глеб не сразу ответил.

— Я думал, это временно, пока Игорь не вернётся.

— Игорь вернётся через три недели. Если врачи не передумают. У нас нет трёх недель.

— Значит, я замещаю его.

— Нет. Замещение заканчивается вместе с отсутствием человека. Я сказала другое.

Глеб почувствовал знакомое внутреннее движение — не радость, скорее мгновенный пересчёт ответственности. Сроки. Люди. Подписи. Кто будет проверять расчёты. Кто поедет на объект. Кто заберёт его текущие дела. Елена заметила это почти сразу.

— Не начинай.

— Что?

— Распределять в голове отдел, которым ты ещё не руководишь.

— Я не распределяю.

— У тебя лицо меняется.

Глеб посмотрел на договор.

— Это проверка?

— В том числе.

— Для группы?

— Для тебя. Группу я как-нибудь переживу.

Он улыбнулся, но коротко.

— Какие условия?

— Те же, о которых я говорю тебе последние два года. Не быть самым умным человеком в каждой комнате. Не проверять лично всё, что можно отдать другому специалисту. Не путать качество с тотальным доступом к чужим черновикам. И если ты видишь странность — сначала сообщить команде, а не строить вокруг неё собственную маленькую следственную группу.

Последняя фраза была слишком близко к вчерашнему вечеру.

— Я сообщил тебе утром.

— После того как уже провёл больше часа дома с чужим архивом.

— Письмо об отзыве пришло в девятнадцать сорок одну.

— Это сейчас должно помочь?

Глеб вздохнул.

— Нет.

— Хорошо. Тогда начинаем с простого. Составь официальный запрос. Всё, чего не хватает для проверки текущего состояния. Не того, что тебе любопытно. Того, без чего нельзя сделать вывод.

Она взяла ручку и добавила:

— И позови Надежду. Пусть посмотрит формулировку по ошибочно переданному комплекту.

Глеб поднял глаза. Елена заметила и это.

— Она юрист. Ты инженер. Сегодня попробуем эту экзотическую модель разделения труда.

— Я ничего не сказал.

— Вот именно.

* * *

Надежда Крылова приехала в «Контур» в одиннадцать двадцать. Она не работала в бюро, но последние годы вела для него часть споров по ответственности проектировщиков и страховым случаям — там, где техническое заключение неизбежно начинало жить второй жизнью в претензиях, переговорах и судах. Глеб увидел её через стеклянную перегородку раньше, чем она вошла. Надежда сняла тёмное пальто, коротко о чём-то пошутила администратору и по пути успела поздороваться с двумя сотрудниками лаборатории. Она всегда входила в помещение так, будто уже знала, где здесь можно стоять, кому мешает открытая дверь и у кого сегодня плохое настроение. Глебу когда-то казалось, что это лёгкость. Потом он понял: просто другой способ замечать детали. Она вошла в переговорную с тонкой папкой и телефоном в руке.

— Доброе утро, Елена Сергеевна. Глеб.

— Надежда, — ответил он.

Никаких пауз, которые мог бы заметить посторонний. Они давно научились разговаривать друг с другом без права окружающих на контекст. Елена передала ей распечатки писем.

— Ошибочная отправка. Клиент требует подтвердить удаление. Глеб, естественно, не удалил.

Надежда пробежала глазами письмо и посмотрела на него.

— Конечно.

— Это было сказано как юридическое заключение? — спросил Глеб.

— Как статистическое.

Елена встала.

— Разберитесь с формулировкой. Мне через десять минут звонить страховщикам. И, пожалуйста, без семейной терапии на счёт бюро.

— Мы не семья, — одновременно сказали Глеб и Надежда.

Елена задержалась у двери.

— Вот теперь я спокойна.

Когда дверь закрылась, Надежда снова посмотрела на письма.

— Ты открывал комплект до требования удалить?

— Да.

— После?

— Нет.

— Копировал кому-то?

— Нет.

— Что-то из него включил в рабочие заметки?

Глеб вспомнил блокнот.

— Зафиксировал для себя несколько обозначений до письма об отзыве.

— На рабочем носителе?

— Бумага.

— Где?

— Дома.

Надежда закрыла глаза на секунду.

— Конечно номер два.

— Я могу сегодня уничтожить страницу.

— Нет.

Он удивился.

— Почему?

— Потому что ты опять пытаешься улучшить прошлое после того, как оно уже произошло.

Фраза была произнесена спокойно, без нажима. От этого прозвучала хуже. Глеб отвёл взгляд к окну.

— Мы сейчас про документы.

— Именно. Поэтому не драматизируй. Запись сделана до требования об удалении. Сохрани её как часть собственной хронологии, не распространяй и не используй в выводах, пока не определён статус. Не надо устраивать красивое уничтожение доказательства собственной аккуратности.

— Это не доказательство.

— Глеб.

Он замолчал. Надежда открыла ноутбук.

— В ответе не будем писать, что файл удалён. Не будем писать, что сохраним его навсегда. Напишем факт: ошибочный комплект исключён из рабочей выборки, доступ к нему ограничен, дальнейший режим хранения или удаления будет определён официальным согласованным указанием сторон с учётом правил бюро. Пусть их юристы формулируют, чего именно хотят.

— Нормально.

— И ты не открываешь архив, пока Елена не даст письменное разрешение.

— Уже договорились.

— Хорошо.

Надежда начала печатать. Несколько секунд слышны были только клавиши. Глеб смотрел на её руки и ненавидел себя за то, что помнит, как она всегда нажимает пробел правым большим пальцем. Человеческая память была устроена несправедливо: важные разговоры стирались до нескольких фраз, а бессмысленная моторная привычка оставалась на годы.

— Как ты? — спросила она, не отрываясь от экрана.

Вопрос прозвучал настолько буднично, что он сначала решил, что речь о работе.

— Нормально.

Надежда перестала печатать.

— Тогда неважно.

— Что?

— Ничего.

Глеб понял слишком поздно.

— Ты спрашивала не про проект.

— Уже не спрашиваю.

— Надя…

Она подняла взгляд. Он остановился. Имя вырвалось в старой форме само, и между ними на секунду открылось пространство, которое оба обычно аккуратно обходили.

— Я нормально, — повторил Глеб. — Просто мало спал.

— Из-за документов?

— Частично.

— Значит, не нормально.

— Ты всегда считала сон универсальной диагностикой.

— Нет. Просто ты никогда не признаёшь тревогу, пока она не начнёт измеряться в часах сна, количестве кофе или таблицах.

Глеб усмехнулся.

— И что из этого у меня сегодня?

— Ты уже дважды поправил ручку параллельно краю стола.

Он посмотрел на ручку. Надежда снова начала печатать.

— Трижды, — сказала она.

Глеб оставил ручку как есть. Через несколько минут текст ответа был готов. Надежда развернула ноутбук к нему.

— Читай как инженер. Не улучшай как бывший парень.

— Есть отдельный режим?

— У тебя — да.

Он прочитал. Формулировка была точной и намеренно скучной. Ни одной лишней позиции, ни одного признания сверх необходимого. Глеб поймал себя на том, что ему нравится именно это.

— Отправляем, — сказал он.

— Елена отправляет. Ты здесь не сторона договора от своего имени.

— Верно.

Надежда закрыла ноутбук.

— И ещё. Если в случайном комплекте было что-то, что реально влияет на безопасность нынешнего объекта, ты не можешь просто сделать вид, что этого не видел. Но и тащить закрытый документ в отчёт нельзя. Значит, формулируешь независимый вопрос так, чтобы он возникал из разрешённых материалов.

Глеб посмотрел на неё внимательнее.

— Например?

— Ты инженер. Вот и придумай законный путь к своему вопросу.

Она встала.

— Это бесплатно. Следующий совет по тарифу.

— Ты стала добрее.

— Нет. Просто научилась вовремя выставлять счёт.

У двери Надежда остановилась.

— Глеб.

— Да?

— Не пытайся за один день понять, почему кто-то четырнадцать лет назад написал не ту строчку в документе.

Он замер.

— Я не говорил тебе про 2012.

Надежда посмотрела на него с лёгким удивлением.

— Елена сказала, что объект после пожара. Я читала договорную справку ещё в октябре.

— Понятно.

Она чуть прищурилась.

— А ты что подумал?

— Ничего.

— Вот это уже точно неправда.

И вышла.

* * *

К полудню Глеб составил первый официальный перечень недостающих данных.

Он начал с того, что действительно требовалось для работы: актуальная однолинейная схема электроснабжения, схемы автоматического ввода резерва, перечень критических нагрузок, протоколы испытаний источников бесперебойного питания, расчётные ёмкости аккумуляторных батарей, характеристики дизель-генераторной установки, фактические журналы технического обслуживания, логика работы пожарной автоматики при потере внешнего питания, сценарии разблокировки дверей СКУД и схема резервирования каналов связи. Потом перечитал список и удалил три пункта, которые скорее удовлетворяли любопытство, чем влияли на аудит. Елена была права. Это раздражало. Он открыл рабочий комплект от 17:32 — тот, который был разрешён к работе, — и пошёл по нему заново, уже не ища странности. Сначала электроснабжение.

Два ввода 0,4 кВ. Секционирование. Дизель-генератор. Несколько групп бесперебойного питания. Отдельное резервирование для пожарных систем, связи, части охраны и серверной. На первый взгляд всё выглядело разумно. На второй — тоже. Глеб не любил документы, которые начинали казаться подозрительными только потому, что он заранее хотел найти подозрение. Поэтому он заставил себя сделать то, что делал всегда в нормальном расследовании: выписать факты без интерпретации. Факт первый: на плане серверной обозначены два шкафа ИБП, в ведомости оборудования — три. Факт второй: для третьего шкафа указан отдельный автомат, но на однолинейной схеме отходящая линия заканчивается на условном обозначении без наименования нагрузки. Факт третий: в схеме резервной связи присутствует узел РС-4, но его местоположение на плане не показано.

Факт четвёртый: часть таблиц использует обозначения «основной режим» и «режим EVENT», хотя критерии перехода между ними отсутствуют. Ни один факт сам по себе не был проблемой. В рабочей документации несовпадение количества оборудования между листами встречалось постоянно. Условное обозначение могло относиться к будущему подключению. Узел связи мог быть внешним. Режим EVENT — просто внутреннее название настроек на день мероприятия. Глеб открыл таблицу расчёта резервирования. Для пожарной сигнализации время работы было указано. Для СКУД — указано. Для серверного оборудования — диапазон. Для узла РС-4 — пустая ячейка. Он подождал секунду. Пустая ячейка теперь была важнее заполненной. В ошибочном комплекте Глеб уже видел «72 h», но ссылаться на него не собирался: в рабочем наборе ни самого значения, ни основания для него не было.

Пусто. Рядом стояла сноска: «По отдельным эксплуатационным требованиям». Глеб открыл перечень приложений. Отдельных эксплуатационных требований в комплекте не было. Он добавил в запрос ещё одну строку:

«Предоставить основание для принятой продолжительности автономной работы узла РС-4 и документ, содержащий эксплуатационные требования к данному узлу».

Перечитал. Нормальный вопрос. Без вчерашнего архива он задал бы его точно так же. Это имело значение. Глеб отправил черновик Елене на согласование и занялся другим объектом. Следующие два часа были почти успокаивающе обычными. Он спорил с лабораторией о том, можно ли считать подплавленный контакт первичной причиной отказа, звонил эксплуатации склада и двадцать минут объяснял, почему фотография автомата после ремонта не доказывает его состояние до аварии. Потом правил заключение младшего инженера, заменяя три уверенных «произошло» на два «наиболее вероятно» и одно «установить невозможно». В 14:37 Елена вернула запрос с одним комментарием.

«П. 11 оставить. По РС-4 — хорошо. Отправляю».

Глеб посмотрел на сообщение дольше, чем требовалось. Пункт 11 был про журнал изменений конфигурации инженерных систем после реконструкции 2012 года. Елена оставила его.

* * *

Ответ от «Аурелии» пришёл неожиданно быстро — в 15:18. Не полный комплект. Только подтверждение получения запроса и таблица со статусами. Напротив большинства строк стояло: «будет предоставлено». Напротив журналов после 2012 года: «уточняется у владельца архива». Напротив РС-4: «эксплуатационные требования будут представлены на рабочем совещании». Глеб перечитал формулировку. Не «будут направлены». Не «в приложении». Представлены на совещании. Он открыл календарь. Никакого совещания назначено не было. Через четыре минуты пришло приглашение. Тема: «СП-19/12. Рабочее совещание № 1». Дата — 6 ноября. Время — 10:00. Место — офис «Аурелии Проект». Повестка состояла из восьми пунктов. Глеб прошёл по ним взглядом.

Актуальность схем. Режимы резервирования. Логика АВР. Пожарная автоматика. СКУД. Каналы связи. Автономные узлы. Порядок выдачи архивных материалов. Ничего необычного. Внизу было примечание:

«Просьба обеспечить личное участие ведущего эксперта Г.А. Руднева».

Глеб нахмурился. Он был ведущим экспертом. Его участие и так подразумевалось. Зачем отдельно писать это в приглашении? Он переслал письмо Елене с одним вопросительным знаком. Ответ пришёл почти сразу.

«Потому что заказчики любят контроль. Не только ты».

Глеб усмехнулся. Справедливо. Он уже собирался закрыть календарь, когда заметил ещё одну деталь. Приглашение было создано не тем сотрудником, который вчера отправлял документы. Организатором значился общий адрес проектного офиса, а в поле «по поручению» стояло только сокращение:

«АМВ».

Три буквы. Глеб навёл курсор, ожидая увидеть расшифровку. Ничего. Он не стал искать. Просто записал дату совещания. 6 ноября. 10:00. А рядом, в списке вопросов, отметил только один пункт:

«РС-4 — продолжительность автономной работы».

На этот раз без вопросительного знака.

* * *

В 18:06 Глеб закрыл рабочий ноутбук. В офисе оставалось человек семь. Кто-то спорил у принтера. Из лаборатории доносился металлический стук. В коридоре пахло разогретой едой, и только тогда он вспомнил, что так и не пообедал. На выходе Елена окликнула его.

— Завтра на объект не едешь.

Глеб остановился.

— Почему?

— Потому что уже хотел ехать?

— Нужно посмотреть фактическую схему до совещания.

— Посмотрим. Но не ты один. Я поставила на завтра Воронцова по электрике и Сафронову по связи. Ты получишь их листы осмотра.

— Я могу поехать с ними.

— Можешь. Не поедешь.

Глеб посмотрел на неё.

— Это часть проверки?

— Это часть работы руководителя. Учиться получать достоверный результат не только своими глазами.

— Если они что-то пропустят?

— Тогда у нас проблема с командой, а не повод сделать из тебя человека-отдел.

Он хотел возразить и понял, что именно этого она ждёт.

— Хорошо.

— Неубедительно.

— Очень хорошо.

— Совсем плохо. Иди домой.

Глеб надел куртку.

— Елена Сергеевна.

— Что?

— Почему именно этот проект?

Она не переспросила.

— Для повышения? — уточнил он.

Елена некоторое время молчала.

— Потому что здесь тебе придётся делать то, что у тебя получается хуже всего.

— Руководить?

— Не знать всего.

Глеб ждал продолжения. Елена взяла со стола телефон.

— И всё равно отвечать за качество решения.

Он кивнул. Уже в коридоре она добавила:

— И ещё, Глеб.

Он обернулся.

— Если старый пожар действительно влияет на текущую безопасность, мы до него доберёмся. Нормально. Через документы, людей и проверяемые факты. Не через ощущение, что кто-то специально оставил тебе дверь приоткрытой.

— Я так не думаю.

Елена посмотрела на него.

— Пока нет.

* * *

Вечером дома Глеб не открыл ошибочный архив. Он даже не включил рабочий ноутбук. Приготовил ужин, включил музыку слишком тихо, чтобы действительно слушать, и почти час читал статью, содержание которой потом не смог бы пересказать. В 22:11 телефон завибрировал. Не почта. Сообщение от незнакомого номера.

«Глеб Андреевич, добрый вечер. Подтверждаю рабочее совещание 06.11 в 10:00. Пропуск будет оформлен. Просьба взять с собой перечень вопросов по автономным системам. М.С.»

Глеб перечитал сообщение. Ответил:

«Добрый вечер. Принято».

И уже собирался убрать телефон, когда пришло второе.

«По архиву 2012 года: часть материалов будет доступна после внутреннего согласования. До совещания просим не делать выводов по неполному комплекту».

Глеб долго смотрел на экран. Формулировка была профессиональной. Вежливой. Логичной. И всё же в ней было одно слово, которое ему не понравилось. Не «ошибочному». Не «отозванному». Неполному. Глеб открыл блокнот. Под вчерашней записью написал дату: 04.11.2026. Ниже — две строки.

«РС-4 — эксплуатационные требования отсутствуют в разрешённом комплекте».

«Архив 2012 — существует больше материалов, чем передано».

Он остановился. Потом перечеркнул вторую строку. Слишком сильный вывод. Написал заново:

«Архив 2012 — клиент подтверждает наличие материалов, выдача после согласования».

Так было точнее. Глеб закрыл блокнот.

Через несколько минут в другом конце города карточка ИНЦИДЕНТ 26-1103-17 получила второе обновление.

Внешний получатель: РУДНЕВ Г.А.

Статус: активная проверка

Характер реакции: ожидаемый / не деструктивный

Эскалация: не требуется

Ниже появилась короткая служебная пометка, добавленная вручную.

«Не ускорять».

Глава 3

АМВ

5 ноября 2026 года

Санкт-Петербург

В 08:21 Глеб получил два отчёта с объекта. Первый назывался нормально: «Лист осмотра. Электроснабжение. 05.11.2026». Второй — тоже нормально: «Предварительный осмотр систем связи». Это успокаивало. Люди, которые хотели скрыть от него несуществующую тайну, обычно хотя бы давали файлам подозрительные названия. Реальная работа выглядела скучно. Глеб убрал со лба непослушную после улицы прядь и открыл первый отчёт. Воронцов сделал всё именно так, как просили: прошёл по вводам, сверил маркировку автоматов, сфотографировал панели АВР, отдельно отметил состояние дизель-генераторной установки и перечень нагрузок, которые фактически сидели на секциях гарантированного питания. Двадцать семь фотографий. Три замечания.

Одно серьёзное только по формулировке, но не по сути: маркировка двух отходящих линий на щите не соответствовала последней однолинейной схеме. Глеб приблизил фотографию. Щит был новым. Не свежим с завода — уже работавшим, с тем самым видом оборудования, которое несколько лет спокойно существует в здании и перестаёт восприниматься людьми как система отдельных решений. Аккуратные надписи. Никаких временных проводов. Никаких примотанных изолентой листочков. Кабельные вводы выполнены чисто. На двери — ламинированная схема переключений. Глеб увеличил ещё. Маркировка действительно расходилась. Он открыл однолинейную схему рядом. Сверил. Потом ещё раз. Нет. Воронцов прав. Но это не означало почти ничего.

После реконструкции могли поменять назначение линии и не обновить лист. Могла измениться внутренняя маркировка. Мог быть промежуточный комплект документации, которого у «Контура» пока не было. Глеб написал в комментарии:

«Уточнить актуальность исполнительной документации. Без вывода о фактической схеме до получения журнала изменений».

Закрыл. Следующий пункт. Дизель-генератор. Пуск автоматический. Последнее испытание под нагрузкой — октябрь. Протокол обещали предоставить. Расходный бак заполнен. Никаких очевидных нарушений. Следующий. ИБП. Три шкафа. Глеб остановился. На фотографии были видны два. Он пролистал дальше. На следующей — ещё один шкаф, в соседнем помещении. Тот самый третий. То есть первая странность вчерашнего дня перестала быть странностью. Глеб почувствовал неожиданное облегчение. Он не любил, когда подозрение подтверждалось слишком быстро. Третий шкаф существовал. Просто стоял не там, где ожидалось по комплекту.

Нормально. Даже хорошо. Он написал:

«Расположение ИБП-3 уточнить на актуальном плане».

И перешёл к отчёту Сафроновой. Она фотографировала хуже Воронцова, зато писала лучше. Первая страница была почти полностью текстовой. Основной оператор связи. Резервный канал. Вводы в здание. Точки коммутации. Серверное помещение. Шкафы. Источники бесперебойного питания.

РС-1.

РС-2.

РС-3.

Глеб медленно прокрутил ниже.

РС-4.

Рядом стояло:

«Физически на объекте не предъявлен. По пояснению представителя эксплуатации — внешний резервный узел, не относится к оборудованию здания. Документация на узел находится у владельца канала».

Глеб перечитал. Потом ещё раз. Не предъявлен. Это было менее интересно, чем могло показаться. Если РС-4 действительно являлся внешним узлом оператора, эксплуатация особняка могла вообще не иметь к нему прямого доступа. Тогда требование об автономности относилось не к внутреннему оборудованию фонда, а к услуге, которую кто-то гарантировал договором. Такое происходило постоянно. И всё же оставался вопрос. Почему в документации здания внешний узел был включён в сценарий резервирования так, будто являлся собственной частью системы? Глеб открыл схему.

РС-4 соединялся пунктирной линией с двумя внутренними узлами.

Обычный способ показать внешний канал. Ни координат. Ни помещения. Ни технических характеристик. Только обозначение. Он опустился ниже. Сафронова добавила примечание:

«На вопрос о продолжительности автономной работы эксплуатация сослалась на проектный офис. Уточнение обещано на совещании 06.11».

Глеб откинулся на спинку кресла. Вот это уже было чуть менее обычно. Не проблема. Не несоответствие. Просто ещё один человек на объекте, который не знал ответа на вопрос, переданный наверх. В техническом мире половина совещаний именно так и появлялась. Он открыл общий перечень вопросов и поставил рядом с РС-4 статус: ОТКРЫТ. Не красный. Не жёлтый. Обычный серый. Так было честнее.

— Ну?

Глеб поднял голову. В дверях стояла Елена.

— Что «ну»?

— Ты уже двадцать минут читаешь два листа осмотра. Я начинаю беспокоиться за людей, которых туда отправила.

— Воронцов нашёл расхождение маркировки.

— Это преступление?

— Пока административное правонарушение против моего чувства порядка.

Елена вошла и поставила на край его стола кружку.

— Значит, переживём.

— Третий ИБП нашли.

— Я почему-то не сомневалась.

— Он в соседнем помещении.

— Глеб.

— Что?

— Я не спрашивала, где он.

Он посмотрел на неё.

— Ты же пришла узнать результаты.

— Я пришла посмотреть, выдержишь ли ты получение результатов чужими глазами.

Глеб перевёл взгляд обратно на экран.

— Пока жив.

— Заметно.

Елена наклонилась к монитору.

— Связь?

— РС-4 внешний. На объекте не предъявлен. Сафронова подтвердила только наличие схемы подключения. По автономности эксплуатация ничего не знает.

— И?

— И ничего.

Елена посмотрела на него сбоку. Глеб выдержал секунду.

— Это нормальный промежуточный результат.

— Вот теперь я действительно беспокоюсь.

Он улыбнулся.

— Завтра выясним.

— Именно.

Она уже собиралась уйти, когда телефон Глеба коротко звякнул. Почта. На экране появилось уведомление от проектного офиса «Аурелии». Тема:

«СП-19/12. Рабочее совещание № 1. Уточнённая повестка и состав участников».

— Пришло, — сказал Глеб.

Елена остановилась. Он открыл письмо. Текст был коротким.

«Коллеги, добрый день.

Направляем уточнённый состав участников рабочего совещания 06.11.2026. Повестка без изменений. Дополнительно просим подготовить краткое пояснение по пунктам 6–7 перечня вопросов независимого эксперта». Ниже шла таблица. От «Контура»: Елена Сергеевна Мещерина. Глеб Андреевич Руднев. От «Аурелии Проект»: руководитель проекта, главный инженер, специалист по эксплуатации. От фонда «Северная партитура»: исполнительный директор. Дальше — ещё несколько фамилий. Глеб прошёл взглядом вниз. И остановился. Вельский Адриан Михайлович. Должность занимала две строки. Председатель совета директоров АО «Аурелия Групп». Основатель фонда «Северная партитура». Глеб посмотрел на фамилию. Потом на отчество. Потом снова на фамилию.

— АМВ, — сказал он.

— Что?

Он развернул экран к Елене.

— Вчера приглашение было «по поручению АМВ».

Елена наклонилась ближе.

— А.

Это «а» ему не понравилось. Не потому, что в нём было что-то тревожное. Потому что в нём не было удивления.

— Ты знаешь, кто это?

— Теперь и ты знаешь.

— Я спрашиваю не это.

Елена выпрямилась.

— Знаю фамилию.

— Я тоже уже.

— Тогда мы достигли впечатляющего уровня информированности.

Глеб не улыбнулся.

— Председатель совета группы идёт на техническое совещание по автономным узлам связи.

— Может себе позволить.

— Именно поэтому обычно не ходит.

Елена взяла кружку.

— Это ты сейчас на основании какой выборки?

— На основании здравого смысла.

— Опасная методология.

— Ты бы сама пошла на совещание по каждому шкафу ИБП, если бы владела компанией?

— Если бы один из этих шкафов был мне зачем-то нужен — возможно.

— Вот.

— Что «вот»?

Глеб замолчал. Елена подождала.

— Пока ничего.

— Наконец-то.

Она ушла. Глеб ещё несколько секунд смотрел на таблицу участников. Вельский. Фамилия ничего ему не говорила. Во всяком случае, не сразу. Он навёл курсор на неё, словно электронное письмо могло предложить справку так же, как вчера не предложило расшифровку инициалов. Ничего. Можно было открыть поисковик. Глеб не открыл. Вернулся к отчёту Сафроновой. Проработал ещё девять минут. Потом всё-таки открыл.

* * *

Первый результат оказался официальным сайтом группы. Не личная страница. Раздел «Совет директоров». Фотография была деловой и, по мнению Глеба, почти бесполезной: тёмный костюм, спокойное лицо, нейтральный фон. Мужчина лет сорока с небольшим. Тёмные волосы, седина у висков. Никакой улыбки из тех, которыми корпоративные фотографы обычно пытались доказать, что руководитель одновременно уверен в себе, открыт людям и однажды сам пользовался кулером. Под фотографией: Адриан Михайлович Вельский. Председатель совета директоров. Глеб пролистал биографическую справку. Образование. Управление сложными организациями.

Кризисная координация.

Благотворительные проекты. Фонд «Северная партитура». Работа с реставрацией исторических объектов. Ничего, что объясняло бы его участие в завтрашнем разговоре о РС-4. Следующий результат — интервью пятилетней давности в отраслевом журнале. Заголовок был настолько скучным, что Глеб почти закрыл вкладку:

«Устойчивость начинается до аварии».

Он открыл. Интервью оказалось длиннее, чем ожидалось. Вельский говорил о резервировании, кризисных командах, ответственности руководителей и о том, почему систему нельзя считать устойчивой только потому, что в ней есть запасной элемент. Глеб задержался. Формулировки были нормальными. Даже неприятно нормальными. Никакой корпоративной мистики. Никаких слов о «новой философии управления». Никакой попытки превратить отказоустойчивость в религию. Один абзац он прочитал дважды. Вопрос журналиста касался крупных руководителей, привыкших принимать решение лично. Ответ Вельского был коротким: Хорошее решение должно пережить отсутствие автора. Глеб перестал прокручивать страницу. Мысль ему понравилась. Настолько, что это слегка раздражало.

Он сам слишком часто сталкивался с противоположным: инструкция работала только при конкретном инженере, система держалась на одном диспетчере, резерв запускался человеком, номер которого знали трое. Отсутствие автора было простым тестом качества. Глеб сохранил ссылку. Потом сразу удалил из закладок. Он сейчас не изучал Вельского. Он готовился к совещанию. Разница существовала. Хотя со стороны могла выглядеть плохо. Следующая ссылка была уже не технической. Фотографии после открытия восстановленного корпуса музыкальной школы. Вельский стоял не по центру кадра, а сбоку от группы подростков с инструментами. Следующая — благотворительный вечер. Следующая — заседание какого-то экспертного совета. Следующая — материал о зимней аварии семнадцатого года, где «Аурелия» помогала координировать резервные помещения и снабжение. Глеб открыл.

Прочитал только первые абзацы. Закрыл. Потом набрал: Адриан Вельский 2012 пожар. Результатов оказалось мало. Старые публикации. Пожар в особняке. Благотворительный вечер. Четверо погибших. Имя Вельского встречалось, но не там, где Глеб ожидал. Не «владелец здания». Не «виновник». Не «пострадавший». Один из организаторов. В другом материале: координировал эвакуацию до прибытия экстренных служб. Глеб открыл архивную фотографию. Плохое качество. Ночь. Мокрый снег или дождь — не разобрать. У входа в здание стояли пожарные. Чуть дальше, у автомобиля скорой помощи, несколько человек. Одно лицо было обведено редакционной подписью. А. Вельский. Глеб увеличил. Пиксели распались.

Фамилия показалась знакомой. Через секунду Глеб вспомнил, где видел её: среди четырёх погибших в публикации о пожаре была Софья Вельская.

Человек на фотографии сидел на краю медицинской машины, наклонившись вперёд. Пальто или пиджак на нём отсутствовали. На белой рубашке — тёмные пятна, происхождение которых по такой фотографии установить было невозможно. Рядом стоял медик. Глеб закрыл изображение. Это уже не имело отношения к завтрашнему совещанию. Он задержал курсор над вкладкой поисковика. Потом закрыл и её. Через несколько секунд открыл снова. Ввёл: Адриан Вельский Софья Вельская. Нажать Enter не успел.

— Я сейчас отберу у тебя компьютер.

Глеб дёрнул мышь. Елена стояла за его спиной.

— Ты ходишь бесшумно.

— Нет. Ты просто очень профессионально занят предметом работ.

Она прочитала строку поиска.

— Кто такая Софья?

Глеб молча стёр запрос.

— Пока никто.

— Прекрасная формулировка.

— Имя было в старой публикации.

Это было не совсем правдой. Имя он увидел среди материалов о погибших ещё во вторник вечером, но тогда не придал связи значения. Теперь фамилия совпала. Елена поставила на стол папку.

— Глеб.

Он посмотрел на неё.

— Что?

— До завтра тебе нужно понять, как работает резервирование объекта. Не биографию человека, который придёт на совещание.

— Мне интересно, почему он придёт.

— Это можно спросить у него.

— Прямо?

— А ты хотел провести экспертизу мотивации по фотографии?

Глеб откинулся на спинку кресла.

— Ты сама не находишь странным его участие?

Елена некоторое время молчала.

— Нахожу.

Ответ оказался неожиданным.

— Тогда почему ты…

— Потому что «странно» — не вывод. И потому что нас наняли как раз за способность не начинать с красивой версии происходящего.

Глеб посмотрел на экран.

— Председатель совета лично ставит ведущего эксперта в приглашение.

— Да.

— И приходит на первое техническое совещание.

— Видимо.

— После того как этому эксперту по ошибке отправили расширенный архив.

— Тоже факт.

— И всё это случайно?

— А вот это уже не факт.

Глеб замолчал. Елена кивнула на монитор.

— Видишь? Ты сам умеешь.

Она ушла. Глеб закрыл браузер. На этот раз окончательно.

* * *

В 11:46 позвонил незнакомый номер. Глеб посмотрел на экран. Петербургский мобильный. Он ответил.

— Руднев.

— Глеб Андреевич, добрый день. Марина Соколова, «Аурелия».

Голос он не слышал раньше. Низкий женский, спокойный, без секретарской интонации и без попытки сделать разговор теплее, чем требовалось.

— Добрый день.

— Вчера я писала вам по совещанию.

М.С.

— Понял.

— Удобно две минуты?

— Да.

Глеб автоматически открыл блокнот.

— Я уточняю один организационный вопрос. Завтра вы планируете привозить собственный комплект материалов или будете работать с нашим?

— Собственный актуальный комплект. Тот, который передан в работу официально.

Пауза оказалась короткой.

— Хорошо.

Глеб отметил её всё равно.

— Ошибочный архив с собой не беру.

— Я об этом не спрашивала.

— Знаю.

На другом конце что-то тихо щёлкнуло. Возможно, клавиатура.

— Тогда второй вопрос. В вашем перечне остаётся пункт по архиву 2012 года. Елена Сергеевна подтвердила, что он относится к анализу изменений после реконструкции.

— Да.

— Часть материалов мы сможем показать завтра на месте. Без передачи копий.

— Какую часть?

— Документы, относящиеся к изменениям инженерных систем и эксплуатации объекта.

— Журнал событий?

Пауза. Чуть длиннее.

— Нет.

— Почему?

— Потому что его статус не входит в мой уровень согласования.

Глеб записал фразу почти дословно.

— У кого входит?

Снова тишина. Не неудобная. Просто человек на другой стороне решал, сколько информации считать достаточной.

— У Адриана Михайловича.

Вот и всё. Имя прозвучало впервые. Не на экране. Глеб посмотрел на раскрытую таблицу участников.

— Вельского?

— Да.

— Он владелец архива?

— Нет.

Ответ последовал слишком быстро, чтобы быть случайным.

— Тогда почему решение у него?

— Потому что часть материалов фонда пересекается с материалами группы и личными документами участников событий. После 2012 года режим хранения менялся несколько раз. Я не хочу сейчас дать вам юридически неточный ответ.

Это Глебу понравилось. Не содержание. Формулировка.

— Хорошо. Тогда завтра задам вопрос.

— Именно для этого он и будет на совещании.

Глеб остановил ручку.

— Именно для этого?

Марина не ответила сразу.

— В том числе.

— Я думал, председатель совета приходит по другим вопросам.

— Адриан Михайлович обычно сам определяет, по каким вопросам ему приходить.

В голосе не было ни иронии, ни особой почтительности. Факт. Глеб записал ещё одну строчку.

— Понял.

— И последнее. По РС-4.

Он выпрямился.

— Да.

— Ваш вопрос по эксплуатационным требованиям остаётся в повестке.

— Я видел.

— Это отдельное уточнение. Его предлагали снять и ответить вам письменно после совещания.

Глеб молчал.

— Не сняли, — продолжила Марина.

— Почему?

Теперь пауза была совсем короткой.

— Адриан Михайлович попросил оставить.

Глеб посмотрел на свой вчерашний вопрос.

«Предоставить основание для принятой продолжительности автономной работы узла РС-4 и документ, содержащий эксплуатационные требования к данному узлу».

Ничего особенного.

— Он видел мой перечень?

— Да.

— Весь?

— Не могу сказать.

— Почему тогда именно этот пункт?

— Глеб Андреевич.

Интонация почти не изменилась. Но стало понятно: здесь граница.

— Завтра, — сказала Марина.

— Хорошо.

— До встречи.

— До свидания.

Разговор закончился. Глеб ещё несколько секунд держал телефон в руке. Потом написал в блокноте:

РС-4 — пункт оставлен по решению А.М.В.

Посмотрел. Перечеркнул «по решению». Написал:

РС-4 — М.С.: А.М.В. попросил оставить вопрос в повестке.

Так было точнее.

* * *

В обед Глеб всё-таки заставил себя выйти из офиса. Столовая в соседнем здании была одной из тех, которые успешно пережили несколько эпох ремонта, не изменив ни меню, ни подносы. За стеклом лежали котлеты, гречка, салаты и что-то, названное «филе по-петербургски» только потому, что сверху был сыр. Глеб взял суп и гречку. За стол к нему сел Воронцов.

— Ты мои фотографии видел?

— Да.

— И?

— Хорошие.

Воронцов подозрительно посмотрел на него.

— Кто ты?

— Что?

— Руднев никогда не говорит «хорошие». Руднев говорит: «На пятнадцатой фотографии правая часть шкафа не попала в кадр».

— На пятнадцатой правая часть шкафа действительно не попала.

— Вот. Вернулся.

Глеб взял ложку. Воронцов несколько секунд ел молча.

— Объект красивый, — сказал он.

— Это техническое замечание?

— Нет. Нельзя?

— Можно.

— Ты сам там был?

— Ещё нет.

— Странно.

Глеб поднял глаза.

— Почему?

— Все почему-то знают, что проект твой.

— В смысле?

— В обычном. С утра приехали, нас встретили. Говорят: «Вы от Руднева?»

Ложка остановилась у тарелки.

— Кто сказал?

— Девушка из проектного офиса. Не помню фамилию.

— Может, имели в виду «Контур».

— Нет. Сказала: «От Руднева».

— И что?

— Ничего. Я сказал: «К сожалению».

Глеб посмотрел на него.

— Спасибо.

— Всегда пожалуйста.

— Ещё что-нибудь?

Воронцов пожал плечами.

— Главный инженер объекта нормальный. Электрики нормальные. Щиты нормальные. Генератор хороший. Если ты рассчитывал на подвал с тайной лабораторией, расстроишься.

— Не рассчитывал.

— Тогда всё прекрасно.

Он съел ещё несколько ложек и добавил:

* * *

После обеда пришёл ещё один документ от «Аурелии». На этот раз без сопроводительного письма. Meeting_pack_06-11_v2.pdf. Глеб открыл. Повестка. Список участников. Матрица открытых вопросов. На последней странице — лист согласования. Большинство фамилий ему ничего не говорили. Руководитель проекта. Главный инженер «Аурелии Проект». Эксплуатация. Фонд. Марина Соколова. Внизу отдельной строкой: А.М. Вельский — ознакомлен. Не «согласовано». Не «утверждено». Ознакомлен. Глеб приблизил страницу. Рядом с пунктами стояли небольшие комментарии. По архиву:

«Выдать в объёме текущей эксплуатации. Остальное — после определения основания доступа».

Без подписи. По актуальности схемы питания:

«Актуальную исполнительную схему подготовить».

По РС-4:

«Обсудить устно».

Глеб посмотрел на три слова. Слишком мало, чтобы делать вывод. Но неожиданно достаточно, чтобы почувствовать присутствие человека, которого он ещё не видел. Вельский не писал ему. Не звонил. Не пытался объяснить ошибочную отправку. Не предлагал встретиться отдельно. Он просто прочитал вопросы. И выбрал один, который хотел обсуждать не письмом. Глеб распечатал последнюю страницу. Положил рядом с перечнем вопросов. Три инициала вчера. Полное имя сегодня. Больше ничего. В 15:03 Елена позвала его к себе.

— Садись.

На её столе лежал тот же meeting pack.

— Видела? — спросил Глеб.

— Да.

— И?

— Завтра в десять мы идём на совещание.

— Я про Вельского.

— А я про работу.

Глеб сел. Елена закрыла дверь.

— Давай один раз проговорим и больше до завтра к этому не возвращаемся.

Он ждал.

— Участие Вельского необычно.

— Спасибо.

— Не перебивай, иначе я передумаю.

Глеб замолчал.

— Необычно, но объяснимо. Он председатель группы и основатель фонда. Объект принадлежит фонду. Мероприятие связано с фондом. Вопросы касаются систем, которые, судя по структуре документов, завязаны не только на здание. Его участие само по себе ничего не доказывает.

— Я знаю.

— Нет. Ты понимаешь это головой. Мне нужно, чтобы завтра ты так и вёл себя.

— Как?

— Как будто напротив тебя сидит заказчик, а не разгадка.

Глеб посмотрел на неё.

— Я не считаю его разгадкой.

— Хорошо. Тогда будет легко.

Она открыла лист согласования.

— Ты задаёшь вопросы по фактам. Не по мотивам. Не «почему это скрыли», а «почему отсутствует». Не «зачем вам семьдесят…»

Елена остановилась. Глеб почувствовал, как внутри что-то сжалось.

— Что?

Она посмотрела на него.

— Что «что»?

— Ты хотела сказать «семьдесят»?

Пауза. Очень короткая. Но Глеб её заметил. Елена медленно закрыла папку.

— Я хотела сказать: не спрашивать «зачем вам такая автономность», пока не увидишь значение в официальном документе.

Глеб не ответил.

— Что?

— Ничего.

— Опять это прекрасное слово.

Он смотрел на неё.

— Ты знаешь, какое там значение?

Елена вздохнула.

— Я знаю, что по расчётам есть параметр, который завтра должны объяснить. Видела его в одном из приложений к договорной переписке.

— Сколько?

— Глеб.

— Сколько?

— Именно поэтому завтра будет совещание.

— То есть ты знаешь.

— Да.

— И не скажешь?

— Нет.

Он почти рассмеялся от абсурдности.

— Почему?

— Потому что ты должен получить это из документа, на который имеешь право ссылаться.

Глеб перестал улыбаться. Это было именно то, что утром сказал бы он сам. Елена увидела.

— Неприятно?

— Немного.

— Полезное чувство.

— Ты специально?

— Конечно.

Она подвинула ему папку.

— Завтра твоя задача не подтвердить то, что ты случайно увидел во вторник. Твоя задача — независимо прийти к вопросу и получить проверяемый ответ.

Глеб кивнул.

— Хорошо.

— И ещё.

— Что?

— Не пытайся впечатлить Вельского.

Он поднял брови.

— Я собирался надеть лучший костюм и выучить стихотворение.

— Вот примерно этого я и боюсь.

— Елена Сергеевна.

— Глеб Андреевич.

Они несколько секунд смотрели друг на друга. Потом она улыбнулась.

— Просто работай.

— Я обычно этим занимаюсь.

— Иногда ты занимаешься тем, что доказываешь человеку напротив, что заметил его ошибку раньше, чем он понял, что её допустил.

Это было слишком точно.

— Хорошо.

— Вот теперь иди.

У двери Глеб остановился.

— Ты когда-нибудь встречалась с ним?

Елена покачала головой.

— Нет.

— Даже по работе?

— Нет.

Это почему-то удивило его сильнее всего.

— Тогда откуда ты…

— Я пятнадцать лет работаю с заказчиками, которые считают контроль продолжением личности. Фамилии меняются.

— И Вельский такой?

— Понятия не имею.

Она снова открыла ноутбук.

— Завтра узнаешь.

* * *

К половине седьмого офис почти опустел.

Глеб остался. Не потому что готовился к Вельскому. Он готовился к совещанию. Эта формулировка нравилась ему больше. Перед ним лежали четыре листа. Первый — вопросы по электроснабжению. Второй — связь. Третий — архивные материалы. Четвёртый — хронология полученных версий документации. Он убирал лишнее. Это оказалось сложнее, чем добавлять. Первоначально вопросов было двадцать три.

К шести вечера осталось пятнадцать.

Потом двенадцать. Глеб перечитал. Пункт первый: актуальная фактическая схема питания. Второй: логика АВР. Третий: фактическое распределение критических нагрузок. Четвёртый: актуальность исполнительной схемы резервного питания. Пятый: протокол испытаний ДГУ. Шестой: резервные каналы связи. Седьмой: узел РС-4. Он остановился. В разрешённом комплекте значение автономности отсутствовало. В ошибочном — расчёты лежали в отдельной папке. Елена знала число. Вельский видел вопрос. Марина сказала, что его специально оставили для устного обсуждения. Глеб не открыл архив. Он даже не посмотрел в собственную запись от третьего ноября. Вместо этого сформулировал:

«Указать требуемое время автономной работы РС-4, основание для принятого значения и сценарий, определяющий необходимость указанной продолжительности».

Прочитал. Хорошо. Если завтра ему назовут семьдесят два часа, вопрос будет возникать из текущего материала. Не из ошибки. Не из любопытства. Из отсутствующего параметра. Он перешёл дальше. В 18:42 телефон коротко завибрировал. Надежда.

«Ты жив?»

Глеб посмотрел на сообщение и невольно усмехнулся. За последние несколько часов он действительно почти не вставал из-за стола. Ответил одним словом:

«Да».

Три точки появились почти сразу.

«Подозрительно короткий ответ».

«Я работаю».

«Вот теперь верю».

Улыбка задержалась на секунду дольше, чем он ожидал. Следующее сообщение пришло почти сразу:

«Завтра совещание?»

«В 10».

«С теми самыми?»

Глеб несколько секунд смотрел на вопрос. Формулировка была очень в духе Надежды: достаточно точная, чтобы оба поняли, о ком речь, и достаточно нейтральная, чтобы не превращать рабочий разговор в допрос.

«С „Аурелией“».

Ответ появился через несколько секунд:

«Это я поняла».

Глеб провёл большим пальцем по краю телефона. Можно было написать просто «да». Вместо этого он набрал:

«Будет председатель группы».

На этот раз Надежда ответила не сразу.

«Зачем?»

Он уже начал составлять объяснение — про изменённый состав участников, РС-4, оставленный в повестке вопрос, подпись АМВ. Получилось четыре строки. Глеб посмотрел на них и стёр всё.

«Не знаю».

Отправил и почти сразу почувствовал странное неудобство. Не потому, что ответ был неверным. Наоборот — потому что слишком точно описывал ситуацию.

«Ого».

«Что?»

«Ты написал „не знаю“ и не добавил гипотезу».

Теперь он действительно рассмеялся.

«Прогресс».

«Сохрани скриншот. Вдруг больше не повторится».

Глеб отодвинул телефон к краю стола.

* * *

Домой Глеб приехал после восьми. В квартире было холоднее, чем утром; он прибавил термостат, переоделся и почти автоматически поставил чайник. Рабочий ноутбук остался в сумке у двери. Вчерашний вечер был достаточно свеж в памяти, чтобы не повторять его буквально. Глеб поужинал, сразу вымыл тарелку — редкая победа над привычкой оставлять бытовое «на потом» — и прошёл мимо сумки в комнату. У самого дивана остановился. Посмотрел назад.

— Нет.

Он включил телевизор. Четыре минуты выдержал какой-то разговор о ремонте загородных домов, после чего выключил звук, потом и экран. Тишина оказалась честнее. Телефон лежал рядом. Глеб открыл браузер и несколько секунд смотрел на пустую строку. Фамилию Вельского набирать не стал. Вместо неё ввёл: «АО Аурелия Групп структура собственности». Результаты были ожидаемо скучными — и именно поэтому полезными. Непубличное общество, несколько дочерних компаний, проектное управление, риск-консалтинг, непрерывность деятельности, инженерная устойчивость, аналитические системы. Никакой тайной империи. Обычная крупная частная группа, которая зарабатывала на том, чтобы сложные вещи не разваливались в неподходящий момент.

На странице «О компании» он задержался дольше. Председатель совета — Адриан Вельский. Генеральный директор — Николай Левин. Операционный директор — Марина Соколова. Глеб перечитал последнюю строку.

М.С.

Не сотрудник проектного офиса, как он автоматически решил вчера. Операционный директор всей группы. Тридцать восемь лет. Руководитель аппарата. Межблочная координация. Он отложил телефон и несколько секунд сидел, глядя на тёмный экран телевизора. Вчера вечером ему лично писала женщина, которая координировала работу группы из тысяч сотрудников. Сегодня она сама звонила из-за двух пунктов перечня вопросов внешнего инженера. Это было страннее участия Вельского. Если организация такого размера отправляла операционного директора согласовывать с ним формат разговора о резервном узле связи, объяснений было как минимум два. Первое выглядело безобидно: проект действительно считался достаточно важным. Второе формулировалось хуже. Важен был не только проект. Глеб посмотрел на часы. 20:37. Он открыл блокнот. На новой странице написал:

05.11.2026

Ниже:

АМВ = Адриан Михайлович Вельский. Председатель совета «Аурелии», основатель фонда.

Следующая строка:

М.С. = Марина Соколова. Операционный директор.

Он остановился. Ручка зависла над бумагой. Хотелось написать: Почему они лично ведут технический аудит? Глеб не написал. Это был плохой вопрос. Слишком широкий. Слишком легко превращался в историю, которую потом хотелось подтверждать. Он сформулировал иначе: Уточнить распределение ролей на проекте. Ниже:

РС-4 — вопрос оставлен в повестке по просьбе АМВ.

И последним: Схема питания — запросить актуальную исполнительную схему. Глеб перечитал.

Нормально. Четыре факта. Ни одного вывода. Он закрыл блокнот. Телефон завибрировал. Новое письмо. Отправитель: «Аурелия Проект». Тема:

«СП-19/12. Материалы к совещанию. Дополнение».

Глеб открыл. Одно вложение. PDF. Три страницы. На первой — перечень ранее заданных вопросов с комментариями. На второй — схема организационного взаимодействия по проекту. На третьей — лист изменений. Глеб открыл вторую. Фонд.

«Аурелия Проект».

Эксплуатация. Подрядчики.

«Контур».

Обычная проектная структура. В верхней части был небольшой блок:

Куратор от группы: А.М. Вельский.

Глеб приблизил. Под ним: Операционная координация: М.Л. Соколова. Вот и ответ. По крайней мере официальный. Он пролистал на третью страницу. Лист изменений. Версия документа. Дата. Основание.

Кто внёс.

Кто согласовал.

Последняя строка была сегодняшней.

05.11.2026 / Rev. 4.

Изменение:

«Уточнён состав участников совещания. Вопрос по автономным системам сохранён в повестке».

Основание:

«Комментарий куратора».

Глеб посмотрел вправо. Поле согласования. А.М.В. Три буквы. Те же самые, с которых всё началось вчера. Но теперь они перестали быть сокращением. У букв появилось имя. Должность. Фотография из корпоративной справки. Старая фотография у машины скорой помощи. Фраза про решение, которое должно пережить отсутствие автора. И человек, который почему-то решил, что вопрос внешнего инженера о РС-4 необходимо обсуждать лично. Глеб закрыл файл. Впервые за два дня ему захотелось, чтобы утро наступило быстрее. Он сразу заметил эту мысль. И она ему не понравилась.

* * *

В 21:12 в календаре совещания изменился один параметр. Не время. Не место. Не список участников. В поле «организатор» общий адрес проектного офиса сменился именем. Марина Соколова. А ещё через несколько секунд появилось примечание:

«Начало без вводной презентации. Сразу с вопросов независимого эксперта».

Глеб прочитал. Потом ещё раз. Это уже было необычно. Заказчики любили вводные презентации. Особенно те, кто тратил много денег. Особенно перед внешними экспертами. Пять слайдов о компании. Три о значимости объекта. Один о том, что безопасность является безусловным приоритетом. И только потом — работа. Здесь этого не будет. Сразу вопросы. Он открыл список. Пункт семь.

РС-4.

Глеб закрыл календарь. Завтра в десять утра он впервые увидит Адриана Вельского. Пока же у него было только три буквы. И почему-то их уже было слишком много.

Глава 4

Второй ввод

6 ноября 2026 года

Санкт-Петербург

Чуть после семи на рабочую почту пришёл файл, которого Глеб ждал со вчерашнего вечера. Тема письма была предельно нейтральной: «СП-19/12. Исполнительная схема электроснабжения. Дополнение к материалам совещания». Вложение весило меньше трёх мегабайт и называлось почти так же скучно: ES_01_ASBUILT_rev8.pdf.

Он открыл документ до того, как успел снять куртку. В кабинете было ещё пусто. За стеклянной перегородкой горел дежурный свет, принтер иногда просыпался сам по себе и коротко гудел, будто вспоминал незавершённую работу. За окном только начинало сереть. Петербург в начале ноября не столько встречал утро, сколько постепенно соглашался перестать быть ночью.

Глеб положил сумку под стол, сел и открыл рядом вчерашние фотографии Воронцова. На экране появилась однолинейная схема вводно-распределительного устройства: основной ввод, резервный ввод, автоматический ввод резерва, секция гарантированного питания, отдельные группы пожарной автоматики, связи, контроля доступа и серверного оборудования. На первый взгляд — именно то, что он просил.

Он увеличил нижнюю часть листа. Потом фотографию. Вернулся к схеме.

Новая версия действительно исправляла часть расхождений. Третий ИБП появился на плане. Две линии получили нормальные наименования. Маркировка одного автомата была приведена к той, что стояла на дверце щита. Это Глебу понравилось. Не потому, что ошибки исчезли, а потому, что у документа появилась нормальная история: замечание — проверка — исправление. Так и должна была выглядеть живая эксплуатация.

Глеб задержал ручку над схемой. В обратном порядке — сначала событие, потом исправленная документация — те же слова звучали иначе. Он разжал пальцы и вернулся к вводу.

Со вторым вводом история была хуже.

На схеме он по-прежнему обозначался как резервный. При наличии напряжения на первом вводе его автомат должен был оставаться разомкнутым до команды АВР или ручного перевода. Никакой отдельной постоянной нагрузки до точки переключения документ не показывал.

На фотографии Воронцова было видно другое.

Глеб приблизил снимок до тех пор, пока надписи не начали распадаться на квадраты. На дисплее измерительного блока второго ввода отображался ток. Небольшой — чуть больше двадцати ампер по одной фазе, меньше по двум другим, — но не нулевой. Рядом горели оба индикатора наличия напряжения. Первый ввод тоже был в работе.

Само по себе это ещё ничего не доказывало. Ток мог идти на цепи собственных нужд. На подогрев шкафа. На контроль напряжения. На заряд небольшого источника. Фотография могла быть сделана в момент испытания. Воронцов мог перепутать последовательность снимков.

Глеб не любил противоречия, которые существовали только потому, что наблюдатель очень хотел их увидеть.

Он нашёл исходный файл фотографии. Метаданные: 5 ноября, 09:18. Следующий снимок был сделан через двадцать три секунды и показывал панель АВР. Состояние — «Основной ввод». Через ещё девять секунд Воронцов сфотографировал секционный автомат. Включён.

Глеб взял ручку. На среднем пальце правой руки, там, где она обычно ложилась, кожа давно стала плотнее; он заметил это только потому, что колпачок снова зацепился за мозоль. Пальцы выглядели слишком длинными для маленького бумажного блокнота, и когда он чертил упрощённую схему, ладонь почти закрывала половину страницы.

Он написал: «И2 — ток при нормальном И1. Проверить точку отбора». Подчеркнул только последние три слова.

Через несколько минут он позвонил Воронцову.

— Доброе утро.

— Для кого как, — ответил тот после второго гудка. — Ты видел время?

— Видел.

— Тогда зачем звонишь?

— Потому что ты уже ответил.

В трубке несколько секунд было тихо.

— Ненавижу тебя.

— Вчера в 09:18, когда ты фотографировал второй ввод, первый был в работе?

— Был.

— Переключений перед фотографией не делали?

— Нет. Нас вообще к управлению не подпускали. Я только смотрел.

— Испытание АВР до этого проводили?

— При мне — нет.

— На втором вводе был ток.

Воронцов уже не звучал сонным.

— Сколько?

— Двадцать с небольшим по первой фазе. Ты видел?

— Нет.

— Нормально. На фотографии плохо заметно.

— Собственные нужды?

— Может быть.

— Тогда зачем ты звонишь?

— Чтобы исключить испытание.

— Исключил.

Глеб записал время разговора.

— И ещё. Ты помнишь кабель, который уходил из нижней секции справа?

— Чёрный?

— Они там почти все чёрные.

— Спасибо, инженер.

— На бирке было что-нибудь?

Воронцов задумался.

— Что-то через РС. Подожди.

Послышался шорох. Потом шаги, хлопок двери и звук запускающегося ноутбука.

— Есть. У меня ещё одна фотография, я её в отчёт не вставил. Бирка: КЛ-РС-02. Откуда и куда — не видно.

— Пришли.

— Сейчас.

Фотография пришла через минуту. На ней действительно была бирка: КЛ-РС-02. Кабель выходил из отсека до аппарата, который на исполнительной схеме считался общей точкой резервного переключения.

Глеб открыл схему связи. РС-4 там присутствовал. КЛ-РС-02 — нет.

Совпадение обозначений не было доказательством связи. Но теперь существовал физический кабель, которого не было на исполнительной схеме, и ток на вводе, который по этой схеме не должен был нести постоянную нагрузку.

— Дима.

— Да?

— Спасибо.

— Второй раз за два дня. Запишу дату.

— Запиши ещё, что фото сделано до моего вопроса.

— Зачем?

— Затем.

— Ты иногда очень мешаешь людям жить.

— Я знаю.

Он отключился и ещё раз посмотрел на схему. У него впервые появилось то, чего не было вечером третьего ноября: вопрос, который существовал без ошибочного архива.

* * *

Около восьми Елена приехала с кофе в бумажном стакане и выражением человека, который заранее решил не интересоваться, почему в кабинете Глеба уже горит свет.

— Ты ночевал дома?

— Да.

— Сколько?

— Это не относится к предмету работ.

Она поставила стакан рядом с его клавиатурой.

— Значит, мало.

Глеб развернул к ней монитор.

— Посмотри.

Елена сняла пальто, повесила его на спинку соседнего стула и молча прочитала сначала его пометки, потом схему. Он не объяснял. Это было одно из качеств, за которые Глеб её уважал: если ей давали документ, она сначала читала документ, а уже потом человека рядом.

— Ток на резервном вводе при нормальном основном, — сказала она.

— Да.

— И линия до АВР.

— Физически есть. В исполнительной схеме нет.

— Что думаешь?

— Пока ничего.

Елена посмотрела на него поверх экрана.

— Не верю.

— Есть версии. Это другое.

— Хорошо. Какие?

Глеб перечислил. Цепи собственных нужд. Отдельный технологический потребитель. Временная схема, не перенесённая в исполнительную документацию. Ошибка маркировки. Независимый канал связи, питающийся до АВР. Испытательная конфигурация, оставленная после реконструкции.

— И самая неприятная?

— Что схема описывает не тот режим, в котором объект фактически эксплуатируют.

Елена отпила кофе.

— Уже лучше.

— Что именно?

— Ты сказал «не тот режим», а не «они скрывают второй контур».

— Я бы так не сказал.

— Вчера сказал бы мысленно.

— Мысленно отчёты не подписывают.

— Иногда это единственное, что нас спасает.

Она вернулась к схеме.

— Едем раньше.

— Я собирался.

— Конечно.

— Совещание в десять.

— Поэтому в девять будем на объекте. До прихода половины людей. Посмотрим ввод своими глазами и не будем превращать первое совещание в спор по фотографии.

Глеб кивнул. Именно этого он хотел. Раздражало только то, что Елена сформулировала первой.

— Напиши Марине.

— Что?

— Что нам нужен доступ в электрощитовую до совещания.

— Она уже прислала пропуска на девять.

Елена медленно поставила стакан.

— Когда?

— Незадолго до восьми.

— Ты просил?

— Нет.

Они посмотрели друг на друга.

— Не делай лицо, — сказала Елена.

— Какое?

— То самое. Как будто мир только что признался тебе в умысле.

— Я ничего не сказал.

— У тебя очень разговорчивое молчание.

Глеб открыл письмо с пропусками. В нём не было ничего необычного: два QR-кода, время доступа с 08:45, контакт дежурного инженера и просьба пройти через служебный вход. Внизу стояла подпись Марины Леонидовны Соколовой.

Вполне могло быть обычной организацией перед совещанием. И всё же это значило, что кто-то заранее предположил: внешнему эксперту захочется посмотреть объект ещё раз до разговора.

Глеб закрыл письмо.

— Хорошо.

— Что именно?

— Ничего. Едем.

* * *

У особняка они были без нескольких минут девять.

Дождь за ночь стал плотнее. Не ливень — ровная холодная вода, от которой камень темнел, латунные детали на фасаде казались почти чёрными, а редкие прохожие двигались быстрее обычного. Главный вход был закрыт. У служебного стоял охранник в тёмной куртке и держал под козырьком планшет со списком.

Глеб показал QR-код. Охранник сверил фамилию, затем поднял глаза.

— Руднев Глеб Андреевич?

— Да.

— Вас ждут. Электрощитовая — вниз и направо. Главный инженер подойдёт.

«Вас ждут» могло относиться к совещанию. Глеб решил не уточнять.

Внутри пахло мокрой одеждой, старым деревом и свежей краской. Служебный коридор почти не соответствовал фасаду: серый керамогранит, кабельные лотки под потолком, противопожарные двери, наклейки с номерами помещений. Только в местах, где коридор пересекал старую часть здания, из-под технической отделки внезапно появлялись толстые стены и глубокие оконные откосы.

Глеб шёл чуть впереди. На объекте его походка менялась почти незаметно: плечи расправлялись, голова поднималась, взгляд переставал задерживаться на декоративных деталях. Он мог быть уставшим в машине, раздражённым в офисе, невыспавшимся дома — перед открытым щитом всё это обычно исчезало.

Главный инженер объекта встретил их у двери электрощитовой. Вчера Глеб видел его только на фотографии из отчёта Воронцова: мужчина около пятидесяти, плотный, коротко стриженный. Сегодня он выглядел скорее настороженным, чем недовольным.

— Доброе утро. Вы по второму вводу?

Глеб посмотрел на Елену. Та едва заметно подняла брови.

— В том числе, — ответил он.

— Мне сказали показать всё до совещания, чтобы потом не бегать сюда всей компанией.

— Кто сказал?

— Проектный офис.

Ответ был нормальным. Глеб отметил это почти с благодарностью.

За дверью гудели вентиляторы шкафов. Свет был слишком белым и ровным, как почти во всех новых электрощитовых, встроенных в старые здания. Два вводных шкафа стояли напротив друг друга. На первом — табличка «Ввод 1. Основной». На втором — «Ввод 2. Резерв». Между ними — панель АВР.

В сухом тепле электрощитовой пахло кабельной изоляцией. Правая кисть на мгновение сжалась, будто в ней снова была ручка. Глеб разжал её прежде, чем подошёл к шкафам.

Глеб не подошёл сразу. Сначала посмотрел на помещение целиком: трассы кабелей, пожарные проходки, свободные места, положение дверей, доступ к аппаратам. Потом достал распечатанную схему.

Главный инженер заметил лист.

— Это восьмая ревизия?

— Да.

— Тогда часть вопросов снимется.

— Надеюсь.

Глеб подошёл ко второму шкафу. На измерителе ток снова был ненулевым. Семнадцать ампер по первой фазе, двенадцать по второй, девятнадцать по третьей.

— Основной ввод сейчас в норме?

— Да.

— АВР на первом?

— Да.

— Тогда что питается отсюда?

Главный инженер посмотрел не на прибор, а ниже, на кабельный отсек.

— Сервисная группа.

— Какая?

— Связь, мониторинг. Часть серверного оборудования.

Глеб развернул схему.

— Здесь её нет.

— Потому что это не нагрузка здания.

Ответ прозвучал уверенно. Даже привычно.

— Кабель находится в вашем щите.

— Физически — да.

— Автомат ваш?

— На нашей стороне.

— Тогда в каком смысле это не нагрузка здания?

Главный инженер вздохнул. Не раздражённо — скорее как человек, которому уже приходилось объяснять различие между юридической границей и физической медью.

— Питание заведено под отдельное соглашение. Оборудование обслуживает внешний оператор. Мы даём точку подключения и резервируем её по условиям проекта. В своей эксплуатационной однолинейке я показываю то, за что отвечаю как за систему здания.

— А в исполнительной?

Мужчина посмотрел на схему в руках Глеба.

— Там, по-хорошему, ветка должна быть.

— Вот.

— Я не спорю.

Это обезоруживало сильнее, чем спор.

Глеб присел у нижнего отсека. Кабельная бирка совпадала с фотографией: КЛ-РС-02. Рядом уходил ещё один кабель с обозначением КЛ-РС-01. Две линии. Одна от основного питания, вторая от резервного. Они уходили в разные кабельные лотки и сходились уже за стеной.

— Куда?

— В помещение связи.

— РС-4?

Главный инженер посмотрел на него впервые по-настоящему внимательно.

— Я не знаю их внутренних обозначений.

— Но оборудование видели?

— Шкафы видел. Внутрь не лезу.

— Можем посмотреть помещение?

— Можем. Открывать стойки — нет. Для этого нужен представитель оператора.

Глеб встал. Колени тихо хрустнули после приседа; он сделал вид, что не заметил.

— Сначала АВР.

Он попросил журнал последних переключений. Главный инженер достал из шкафа тонкую папку. Бумажную. Глебу это понравилось. В технических помещениях бумага иногда переживала три поколения программного обеспечения.

Записей было немного: месячная проверка, кратковременное снятие одного ввода для обслуживания, испытание ДГУ. Всё выглядело нормально. Потом Глеб дошёл до второй страницы.

Одна из последних записей перед началом аудита: ручное включение второго ввода при исправном первом. Продолжительность — сорок две минуты. Причина: «проверка режима EVENT».

Он не поднял головы.

— Что проверяли второго ноября?

— Сценарий мероприятия.

— Какой именно?

— Перевод части нагрузки на независимую линию без потери основного питания.

— То есть второй ввод используется не только при отказе первого.

— В режиме мероприятия — да.

Глеб провёл ногтем по строке. Коротко подстриженный ноготь остановился на слове EVENT.

— Почему этого нет в алгоритме АВР, который нам передали?

— Потому что это не автоматический алгоритм. Это эксплуатационный режим. По отдельной карте.

— Карта у вас?

— Есть копия.

Мужчина снова открыл шкаф с документами. На этот раз телефон не зазвонил.

Он достал ламинированный лист формата А3. В верхней части было написано: «Временная карта режимов. Закрытое мероприятие 19.12.2026». Ниже — последовательность подготовительных действий. Без фамилий. Без объяснения, что именно произойдёт на мероприятии.

Глеб читал медленно.

За несколько часов до начала — проверка обоих вводов. Затем перевод сервисной группы на второй. Основная нагрузка здания остаётся на первом. При потере любого источника — отдельная последовательность возврата. Связь и серверный сегмент должны сохранить питание независимо от состояния остальной части объекта.

Ничего невозможного.

Даже разумно.

Странность была ниже.

Карта не заканчивалась окончанием мероприятия.

После строки «завершение приёма» шли ещё два блока: «ночной режим» и «послемероприятийная готовность». Последний действовал «до снятия распоряжением проектного офиса, ориентировочно 22.12».

Глеб посмотрел на дату в заголовке. Девятнадцатое декабря.

Потом снова на двадцать второе.

— Зачем сохранять специальный режим после окончания приёма?

— Не ко мне вопрос.

— Кто дал карту?

— «Аурелия Проект».

— Основание?

— Требования по устойчивости. Так и написано в сопроводительном.

Глеб протянул руку.

— Можно сфотографировать?

— Да. Эта версия не закрытая.

Он сделал два снимка: весь лист и нижний блок крупно. Потом положил схему рядом с табличкой шкафа и попросил Елену сделать кадр так, чтобы в него одновременно попали номер ревизии и маркировка оборудования. Она без комментариев выполнила.

После этого Глеб записал время.

Теперь у него было четыре независимых факта. Второй ввод нёс нагрузку при исправном первом. От него уходила отдельная линия, отсутствовавшая на исполнительной схеме. Существовал ручной режим EVENT, при котором эта линия становилась штатной частью работы объекта. И специальная готовность продолжалась после окончания вечера — как минимум до двадцать второго декабря.

Ни один из фактов сам по себе не означал ничего опасного.

Вместе они означали только одно: слово «резервный» описывало систему слишком бедно.

* * *

До помещения связи было меньше тридцати метров, но путь занял почти пять минут. Главный инженер дважды открывал двери электронным ключом, один раз они ждали тележку с коробками, а в старой части коридора рабочие закрыли проход из-за реставрации потолка.

Глеб шёл следом и смотрел на стены. За декоративными панелями прятались новые кабельные трассы, под историческим паркетом — фальшпол, за дверью с латунной ручкой — обычный технический тамбур. Особняк существовал сразу в двух версиях. Одна предназначалась для людей, которые придут сюда вечером девятнадцатого декабря. Другая — для тех, кто должен был сделать так, чтобы первая не заметила своей зависимости от электричества, связи, пожарной автоматики и десятков незаметных решений.

Помещение связи оказалось небольшим. Две стойки, отдельный кондиционер, датчик открытия двери, ИБП, кроссовое оборудование. На одной стойке стояла бирка РС-3. На второй — только инвентарный номер.

— Где РС-4? — спросил Глеб.

— Если это внешний узел, то не здесь, — сказал главный инженер.

— Кабели РС-01 и РС-02 приходят сюда.

— Приходят. Дальше уходят на оборудование оператора.

— Куда физически?

Мужчина указал на два оптических кросса и коробку ввода.

— Дальше — их зона.

— То есть РС-4 может вообще находиться не в здании.

— Насколько я понимаю — да.

Это совпадало с объяснением Сафроновой. И снимало одну вчерашнюю странность.

Глеб почувствовал почти удовлетворение. Хорошая проверка должна была не только находить новые вопросы, но и убивать слабые.

— Значит, местоположение РС-4 мы не считаем несоответствием, — сказал он Елене.

— Запиши.

Он записал.

Потом посмотрел на два питающих кабеля.

— Но питание внешнего узла начинается здесь.

— Видимо.

— И для него существует отдельный режим мероприятия.

— Видимо.

— Который продолжается до двадцать второго.

Елена посмотрела на часы.

— Это уже скажешь через сорок минут тем, кто его придумал.

Глеб убрал блокнот.

— Через сорок три.

— Спасибо.

— Пожалуйста.

* * *

Примерно за полчаса до совещания они поднялись в основную часть особняка.

После технических помещений пространство изменилось почти мгновенно. Исчезли кабельные лотки и серые двери. Появились высокий потолок, светлый камень, широкая лестница и зеркала в простенках. Где-то дальше проверяли звук: из закрытого зала донеслось несколько нот рояля, потом тишина.

Глеб остановился у окна, пока Елена разговаривала с сотрудником проектного офиса. На стекле собирались крупные капли. Во дворе разгружали белые складные конструкции, назначение которых он не понял. Рабочие накрывали их плёнкой и быстро заносили под арку.

Телефон завибрировал. Письмо от Марины Соколовой.

«Доброе утро. В связи с вашим осмотром до совещания направляю актуальный лист режимов. Прошу использовать его как рабочий материал; окончательные эксплуатационные параметры будут подтверждены в ходе обсуждения».

Вложение называлось `EVENT_POWER_MODES_rev3.pdf`.

Глеб открыл его прямо на телефоне. Документ был короче ламинированной карты и аккуратнее оформлен. В нём снова существовали основной ввод, второй ввод, ДГУ, ИБП и отдельная сервисная группа. Но рядом с последней вместо конкретной продолжительности стояло: «по эксплуатационному требованию внешнего узла».

Он вернулся к нижней части. Период действия специальной конфигурации — «до завершения режима готовности». Дата завершения не указана.

То есть бумажная карта в электрощитовой знала больше официального листа, присланного к совещанию.

Глеб показал телефон Елене.

— Версии не совпадают.

Она прочитала.

— Не обязательно. Один документ может быть эксплуатационным, второй — проектным.

— Тогда у них должно быть отношение версий или ссылка друг на друга.

— Согласна.

— Иначе невозможно понять, какой режим обязателен.

— Согласна.

Он посмотрел на неё.

— Ты сегодня подозрительно удобная.

— Я берегу силы к десяти.

К ним подошла молодая сотрудница проектного офиса и попросила пройти в переговорную. Марина будет через несколько минут. Остальные участники уже поднимаются.

Глеб убрал телефон. Они пошли по галерее. Пол под ногами был старым и чуть пружинил, хотя визуально казался безупречным. В зеркалах появлялись и исчезали их отражения: сначала Елена, потом Глеб, потом пустой коридор за ними.

Переговорная находилась рядом с большим залом. Прямоугольный стол, двенадцать стульев, вода, блокноты, папки с логотипом фонда. В торце стояло кресло чуть шире остальных, но табличек с фамилиями не было.

Глеб выбрал место сбоку, откуда видел и экран, и дверь.

На стол он положил только разрешённые материалы. Исполнительную схему. Фотографию кабельной бирки. Снимок журнала переключений. Лист EVENT, присланный Мариной. Ошибочного архива в папке не было.

Отдельно сверху лёг чистый лист с четырьмя вопросами.

Первый: почему второй ввод несёт постоянную нагрузку при исправном основном.

Второй: почему линия КЛ-РС-02 отсутствует на исполнительной схеме.

Третий: каким документом определяется ручной режим EVENT.

Четвёртый Глеб сформулировал дольше остальных.

«Какой расчётный период автономной работы принят для внешнего резервного узла и каким сценарием он обоснован?»

Он перечитал. Ни одного слова из ошибочно присланного второго комплекта. Ни одной ссылки на 2012 год. Ни одного предположения о Белом бале.

Только то, что можно было показать другому инженеру и сказать: вот схема, вот провод, вот журнал, вот период готовности. Объясните связь.

За несколько минут до десяти вошла Марина Соколова.

Глеб узнал её по фотографии на корпоративном сайте, хотя вживую она выглядела менее официально: тёмные брюки, светлая рубашка, тонкий свитер вместо пиджака. В руках — ноутбук и несколько бумажных папок.

— Доброе утро.

— Доброе, — ответила Елена.

Марина поставила ноутбук, посмотрела на разложенные перед Глебом документы и на мгновение задержалась на фотографии журнала переключений.

— Успели посмотреть второй ввод?

— Да.

— Полезно?

Глеб подумал.

— Да.

Она кивнула так, будто именно этого ответа и ожидала.

— Хорошо. Тогда презентацию действительно можно было убрать.

Елена села рядом с Глебом.

— Все будут?

— Почти.

Марина открыла список участников.

— Главный инженер уже здесь. Проектный руководитель поднимается. Фонд прислал исполнительного директора. Адриан Михайлович будет к началу.

Это было первое произнесённое вслух подтверждение, что Вельский действительно придёт. Глеб не почувствовал ничего особенного. По крайней мере так он сформулировал для себя.

Он выровнял документы по краю стола. Длинные пальцы на секунду задержались на фотографии второго ввода.

Вчера он хотел понять, почему председатель крупной группы лично интересуется одним пунктом перечня. Сегодня вопрос изменился.

Теперь у Глеба было техническое несоответствие, существовавшее независимо от фамилии Вельского.

До десяти оставалась минута, когда в коридоре послышались шаги. Марина закрыла список участников и посмотрела на дверь.

Глеб тоже поднял голову.

На этот раз ему было что спросить.

Глава 5

Семьдесят два часа

6 ноября 2026 года

Санкт-Петербург

Дверь открылась, но вошёл не Вельский.

Сначала появился руководитель проекта — высокий мужчина с планшетом под мышкой, следом исполнительный директор фонда и главный инженер объекта, которого Глеб уже видел в электрощитовой. Все поздоровались, разложили бумаги, несколько минут ушло на воду, кабели к экрану и обычное выяснение, у кого последняя версия файла. Вельского не было.

Марина посмотрела на часы и в десять ровно закрыла ноутбук с почтой.

— Начнём. Без вводной презентации, как договаривались. Сначала вопросы «Контура», потом пройдём по действиям.

Глеб ожидал, что ему предложат выступить. Вместо этого Марина сразу вывела на экран его перечень, и от этого совещание действительно стало рабочим, а не церемониальным.

— Первый блок — электроснабжение, — сказала она. — Глеб Андреевич?

Он развернул перед собой исполнительную схему.

— По второму вводу фактическая конфигурация не совпадает с комплектом. При исправном первом вводе на втором есть постоянная нагрузка. До аппарата АВР отходит линия КЛ-РС-02, которой нет на однолинейной схеме. В журнале есть ручной режим EVENT, где часть сервисной группы переводится на второй ввод при нормальном основном.

Главный инженер кивнул ещё до того, как Глеб закончил.

— Линия есть. Это не спорно. Она относится к оборудованию внешнего оператора.

— Физически она начинается в вашем щите.

— Да.

— Тогда она должна быть хотя бы показана как граница ответственности.

— Согласен.

Глеб на секунду сбился. Он приготовился доказывать очевидное дольше.

Руководитель проекта приблизил схему на экране.

— В восьмую ревизию ветка не попала. В девятой добавим. Питание сервисной группы заведено двумя независимыми линиями, одна от основного, вторая от второго ввода. После точки присоединения оборудование не наше.

— «Независимыми» — пока сильное слово, — сказал Глеб.

Мужчина повернулся к нему.

— Почему?

— Потому что обе линии начинаются внутри одной системы здания. Я пока вижу раздельные аппараты и разные трассы на участке до помещения связи. Что происходит дальше, в комплекте не показано.

Елена ничего не сказала. Только передвинула блокнот ближе к себе.

— Хорошо, — произнесла Марина. — Формулировку оставляем: независимость внешнего узла требует подтверждения. Следующий вопрос.

Глеб посмотрел на лист. Можно было двигаться дальше. Вместо этого он задержался на строке про режим EVENT.

— Сначала один связанный пункт. Карта, которая лежит в электрощитовой, действует после завершения мероприятия. До двадцать второго декабря или до отдельного распоряжения. В версии, которую вы прислали сегодня, этой даты нет. Какая из них обязательная?

Руководитель проекта открыл другой файл.

— Эксплуатационная карта конкретнее. Проектный лист задаёт принцип. После мероприятия сохраняется повышенная готовность сервисной группы.

— На сколько?

Он пролистал таблицу. В комнате стало слышно, как дождь шуршит по внешнему подоконнику.

— Сейчас.

На экране появилась строка, которой в утреннем файле не было.

РС-4. Внешний резервный узел связи. Требуемая функциональная автономность — 72 h.

Глеб не изменил позы. Только положил ручку рядом с блокнотом.

Число выглядело так же, как во втором комплекте третьего ноября: две цифры и латинская буква. Тогда оно было частью документа, который ему не следовало получать. Теперь стояло на официальном экране перед шестью людьми и относилось к вопросу, который он вывел из разрешённых материалов.

— Что именно здесь называется автономностью? — спросил он.

— Способность узла сохранять функцию связи без зависимости от нормального режима здания.

— За счёт чего?

— Собственные источники оператора, два канала питания, резерв по площадкам.

— Это описание архитектуры. Я спрашиваю про семьдесят два часа.

Руководитель проекта слегка подался назад.

— Требование оператора.

— Тогда нужен документ оператора.

— Он не входит в наш комплект.

— Но на него опирается ваш режим.

— В части интерфейса — да.

— Значит, основание должно быть доступно хотя бы в той части, где определён срок.

Исполнительный директор фонда впервые вмешался.

— Если оператор гарантирует услугу договором, вам обязательно видеть его внутренний расчёт?

— Не внутренний. Мне нужно понять, что именно гарантируется.

Глеб повернул к нему лист.

— «Автономность узла» может означать батарею на семьдесят два часа. Может означать топливный резерв с дозаправкой. Может означать географически разнесённую услугу, где отказ одной площадки ничего не меняет. Это три разные вещи и три разных отказа. Пока в документации одно слово заменяет все три.

Ответить сразу никто не успел.

Дверь открылась почти без звука.

Сначала Глеб заметил не человека, а реакцию комнаты. Руководитель проекта перестал листать файл. Главный инженер, до этого сидевший боком, выпрямился. Исполнительный директор фонда убрал руку от телефона. Марина лишь подняла глаза.

Мужчина у двери сказал:

— Доброе утро. Продолжайте, пожалуйста.

Голос оказался ниже, чем Глеб представлял по фотографии, и чуть суше. Ни извинения за опоздание, ни объяснения. Просто просьба не останавливаться.

Вельский прошёл вдоль стола и занял свободное место сбоку — через одно кресло от Марины. Не торцевое. Даже папку положил так, чтобы не перекрывать лежавшие перед соседями документы.

Только теперь Глеб сопоставил лицо с тем, что видел накануне в корпоративной справке. Вживую фотография объясняла меньше. Тёмный костюм, ранняя седина у висков, вытянутое лицо; всё это он уже знал. Новым было отсутствие видимой спешки. Вельский вошёл после начала совещания, но не принёс с собой ощущение опоздания.

Он посмотрел на экран, затем на Глеба. Взгляд задержался ровно настолько, чтобы это можно было счесть обычным узнаванием участника по списку.

— Мы на РС-4, — сказала Марина.

— Я слышал.

Руководитель проекта повторил последние две фразы уже короче, чем объяснял до этого. Глеб отметил это против воли. В комнате действительно изменился темп: никто не стал говорить тише, но исчезли лишние слова.

— Требование семьдесят два часа пришло от внешнего оператора, — закончил руководитель проекта. — Мы заложили его как условие сохранения функции.

Вельский не ответил ему. Он посмотрел на Глеба.

— Почему именно это число вас остановило?

Вопрос прозвучал без вызова. Скорее так, как спрашивают о точке, в которой расчёт перестал быть рутинным.

Глеб не стал смотреть на Елену.

— Потому что без режима работы оно ничего не доказывает. Трое суток могут быть нормой. Но тогда должна существовать причина, почему не двенадцать и не сорок восемь.

Вельский чуть повернул голову. Пауза была короткой, но не пустой.

— Хорошо. Покажите, откуда вы начали.

Глеб ожидал другого. Возражения. Ссылки на договор. Возможно — вопроса, зачем независимому аудитору лезть в документы внешнего оператора. Вместо этого ему предложили восстановить ход проверки.

Он подтянул к себе схему.

— С исполнительной ревизии восемь. В ней второй ввод обозначен только как резервный. Вчера на фотографии осмотра я увидел ток при работающем основном вводе. Утром мы подтвердили, что это не испытание. Потом нашли КЛ-РС-02 до точки АВР и запись о ручном режиме EVENT. После этого на объекте показали эксплуатационную карту, где специальная конфигурация сохраняется после мероприятия.

Он говорил медленнее обычного, не потому что нервничал, а потому что каждое следующее предложение должно было опираться на предыдущее.

— Что из этого вы считаете несоответствием? — спросил Вельский.

— Отсутствие линии на исполнительной схеме — документарное несоответствие. Наличие нагрузки на втором вводе — факт эксплуатации, но само по себе не нарушение. Режим EVENT — штатный режим, который не описан в алгоритме АВР, потому что он ручной.

— А семьдесят два часа?

— Пока вопрос.

Уголок рта Вельского едва изменился. Не улыбка — скорее подтверждение, что ответ услышан.

— Почему не несоответствие?

— Потому что у меня нет основания утверждать, что срок неправильный. У меня нет основания понять, что он означает.

Главный инженер тихо выдохнул, будто опасался более жёсткой формулировки.

Вельский сложил руки на столе. Почти без жеста; большие пальцы один раз коснулись друг друга и остановились.

— А что вы можете утверждать про независимость?

— Что она не доказана тем комплектом, который нам передали.

— Не то, что её нет.

— Нет.

— Хорошо.

На этот раз слово прозвучало почти удовлетворённо.

Марина сделала пометку.

— Тогда фиксируем четыре выдачи: актуальная схема с линиями сервисной группы; основание термина «функциональная автономность»; выдержка из требований оператора по сроку; документ, связывающий режим EVENT с эксплуатационной картой. Что ещё?

Глеб посмотрел на экран.

— Граница ответственности при отказе обоих вводов здания. Кто принимает решение о переходе узла на собственный резерв и кто подтверждает восстановление.

— Это уже организационная часть, — заметил руководитель проекта.

— Именно. Поэтому она должна быть названа.

Вельский повернулся к нему, но заговорил не сразу.

— Если Глеб Андреевич увидит внутреннюю схему оператора, это закроет вопрос?

Глебу не понравилось, что имя прозвучало так естественно. Вельский не спрашивал, как к нему обращаться, и ни разу не заглянул в список участников.

— Не обязательно. Мне не нужна вся схема.

— Что нужно?

— Условия, при которых выполняется требование. Источники питания, допустимое время без внешнего обслуживания, способ восстановления и что именно считается сохранённой функцией.

— Без топологии сети?

— Если топология не влияет на эти условия — без неё.

Вельский кивнул Марине.

— Тогда выдайте в этом объёме. Если оператор возражает, пусть даст письменное основание ограничения.

Марина не стала уточнять, кто именно должен с ним спорить. Просто записала.

Глеб почувствовал первое настоящее раздражение за всё совещание. Не на Вельского. На себя — за то, что такая реакция заказчика была ему приятна.

Он слишком привык к другой последовательности: сначала вопрос о сроке сдачи, потом о стоимости исправления, затем попытка переименовать проблему так, чтобы она выглядела менее проблемой. Здесь никто пока не просил его смягчить формулировку.

Вельский тем временем уже смотрел на следующий пункт.

— Если завтра линия появится на схеме и оператор подтвердит семьдесят два часа, риск закрыт?

Глеб ответил не сразу.

— Документарный — возможно. Функциональный — нет.

— Почему?

— Потому что второй ввод одновременно является резервом здания и штатным источником для сервисной группы в режиме EVENT. В аварии эти два назначения могут начать конкурировать. Нужно понять, кто имеет приоритет и знает ли эксплуатация, что часть резерва уже занята.

— Мощность небольшая, — сказал главный инженер.

— Сейчас — да. Я говорю не только о мощности. Если алгоритм восстановления писался с предположением, что второй ввод свободен до отказа первого, а эксплуатационный режим использует его заранее, это разные исходные состояния.

Вельский посмотрел на схему ещё раз.

— Какой риск останется после временного решения?

Глеб поднял глаза.

— Какого именно?

— Допустим, сегодня мы дорисовываем линию, согласуем приоритет и получаем подтверждение оператора. До полной переработки документации пройдёт время. Что остаётся?

Вот этот вопрос Глеб не ожидал услышать от председателя совета директоров.

Он мысленно прошёл цепочку ещё раз.

— Человеческий. Две команды могут пользоваться разными картами режима. Электрики — своей, связь — своей. Пока изменения не сведены в один комплект и не отработаны на переключении, остаётся риск, что каждый выполнит правильное действие в своей версии системы.

Вельский не отвёл взгляд.

— Что нужно до переработки?

— Один лист временного режима с общей нумерацией операций и ответственными. Без параллельных версий. И подтверждение, что дежурная смена его получила.

Елена впервые вступила в разговор сама.

— Это можем включить в рекомендацию как временную меру. Но разработку процедуры мы не берём на себя.

Вельский повернулся к ней.

— И не должны. Мне нужен независимый вопрос, а не новый автор документа.

Елена слегка кивнула.

Фраза была простой. Глеб всё равно запомнил.

* * *

К одиннадцати список открытых вопросов сократился, но не исчез. Так было лучше.

По пожарной автоматике нашли устаревшую ссылку на одну из редакций. По СКУД — два режима, которые в рабочей таблице назывались одинаково, хотя запускались разными условиями. Ещё один вопрос сняли полностью после того, как главный инженер показал акт испытаний за октябрь.

Вельский говорил мало. Иногда по пять минут не произносил ничего, и Глеб начинал забывать о его присутствии, пока очередной вопрос не оказывался слишком точным.

Он ни разу не спросил, кто виноват в пропущенной линии. Зато дважды уточнил, на каком документе основан вывод, и один раз остановил руководителя проекта, когда тот начал пересказывать ответ вместо того, чтобы назвать источник.

— Не объяснение, пожалуйста. Номер документа.

Никакой жёсткости в голосе не было. Руководитель проекта сразу назвал номер.

Глеб поймал себя на том, что наблюдает уже не за содержанием, а за тем, как Вельский слушает. Тот почти не жестикулировал, не кивал на каждую фразу и не изображал внимательность. Когда человек говорил, Адриан разворачивался к нему всем корпусом, а после ответа часто оставлял полсекунды тишины. Этого хватало, чтобы собеседник либо остановился, либо добровольно добавил то, чего его не спрашивали.

Глеб заметил приём и сразу стал на него раздражаться.

Через десять минут понял, что сам делает почти то же самое на интервью после аварий.

Это раздражало сильнее.

К концу совещания Марина вывела на экран перечень действий. РС-4 занимал четыре строки. Срок выдачи части материалов стоял «сегодня», остального — «после согласования с оператором».

— По доступу, — сказала она. — Внешние документы пойдут через меня. Прямой контакт с оператором пока не даём, чтобы не смешивать договорные границы.

Глеб хотел возразить, но Елена раньше положила ладонь на закрытый блокнот.

— На этом этапе достаточно, — сказала она. — Если будет неполно, вернёмся.

Глеб кивнул.

Вельский посмотрел на него.

— Вы согласны?

— Пока да.

— «Пока» оставим в протоколе?

В комнате кто-то тихо усмехнулся. Глеб не понял, шутка ли это.

— Можно без него.

На этот раз Вельский действительно улыбнулся — коротко, только глазами и едва заметным движением у рта. Лицо на секунду стало моложе, чем на корпоративной фотографии.

— Тогда просто «согласен на текущем этапе».

Марина исправила формулировку.

Совещание закончилось без торжественного итога. Люди начали закрывать ноутбуки, собирать зарядки и договариваться, кто кому что пришлёт. Именно так Глеб предпочитал заканчивать рабочие встречи: не общей фразой про конструктивный диалог, а списком того, что должно появиться после.

Елена наклонилась к нему.

— Через пять минут у машины.

— Ты куда?

— Позвоню Игорю. И дам тебе возможность ещё немного не анализировать человека, с которым ты только что познакомился.

— Я его не анализирую.

Она посмотрела на него.

— Конечно.

И ушла.

Глеб сложил документы в папку. Исполнительная схема, журнал, лист EVENT, перечень выдач. Всё помещалось в обычный картонный скоросшиватель. Никакого ощущения, что он прикоснулся к чему-то огромному, не было. Наоборот: после совещания история с РС-4 выглядела меньше и понятнее, чем утром. Был внешний оператор. Была плохо описанная граница. Был специальный режим. Были документы, которые должны были подтвердить или опровергнуть его опасения.

Это успокаивало.

Именно поэтому Глебу не нравилось, насколько ему понравился сам разговор.

Большинство людей на месте Вельского хотя бы один раз спросили бы, насколько замечание повлияет на срок или на статус объекта. Вельский спросил, откуда началась проверка и какой риск останется после временного решения.

Глеб закрыл папку.

Нормальный профессиональный вопрос не должен был производить такое впечатление.

* * *

Он уже вышел из переговорной, когда услышал за спиной:

— Глеб Андреевич.

Вельский стоял у открытой двери, держа в руке ту же тонкую папку, с которой пришёл на совещание.

— Если у вас есть минута.

Глеб остановился.

— Есть.

Марина прошла мимо них к лестнице, ответила на звонок и не замедлила шаг. Остальные участники расходились в другую сторону. Глеб уже успел забрать пальто из гардероба и накинуть его на плечи; через несколько секунд коридор почти опустел.

Вельский подошёл ближе. Теперь, когда между ними не было стола, Глеб впервые заметил разницу в росте — небольшую, но достаточную, чтобы в разговоре чуть поднимать взгляд. Мокрое пальто на его худой фигуре сидело свободнее, чем хотелось бы; на умеренно узких плечах ткань ещё хранила тёмные следы утреннего дождя.

Адриан на это не посмотрел. Или не показал, что посмотрел.

— По материалам оператора Марина откроет вам доступ, как только снимет договорные ограничения.

— Хорошо.

— Если окажется, что для проверки нужна внутренняя топология, скажите Елене Сергеевне. Не просите её напрямую у оператора.

— Почему?

— Потому что тогда ваш вопрос превратится в спор о праве доступа раньше, чем мы поймём, нужна ли вам сама информация.

Глеб нахмурился.

— А если нужна?

— Тогда будем обсуждать право доступа.

Ответ был достаточно разумным, чтобы спорить с ним сейчас не имело смысла.

— Хорошо.

Вельский опустил взгляд на папку, раскрыл её и достал белый конверт.

Глеб сначала решил, что это ещё один документ. Потом увидел своё имя.

Не наклейка. Не ручная пометка поверх типового приглашения. На плотной матовой бумаге мелко и ровно было напечатано: «Глебу Андреевичу Рудневу».

Вельский протянул конверт.

— Девятнадцатого декабря, Глеб Андреевич. Приходите. Мне кажется, вам будет интересно увидеть этот дом не во время проверки.

Глеб не взял его сразу.

— Это связано с аудитом?

— Нет.

— Тогда почему я?

Адриан не ответил мгновенно. Его паузы уже начинали раздражать тем, что выглядели не задумчивостью, а привычкой сначала решить, какая часть ответа действительно нужна.

— Потому что вы смотрите на систему до того, как принимаете её объяснение.

Глеб посмотрел на конверт.

— Это комплимент?

Вельский чуть поднял бровь.

— Наблюдение.

Ответ ему понравился. Это было ещё хуже.

Глеб взял конверт.

— Я не обещаю, что приду.

— Я и не прошу обещать.

Вельский отпустил конверт. Его пальцы уже убирались прежде, чем Глеб успел почувствовать неловкость от слишком долгой передачи из рук в руки.

На лестнице появилась сотрудница гардероба с зонтом Глеба и его шарфом. Она передала вещи ему, затем коротко кивнула Вельскому. Зонт, несмотря на утренний дождь, успел почти полностью высохнуть.

Адриан посмотрел на него, потом на окно, за которым дождь даже не думал прекращаться.

— Кажется, ненадолго.

Глеб не сразу понял, что речь о сухом зонте.

— Петербург умеет исправлять такие ошибки.

На этот раз Вельский усмехнулся едва заметно.

— До встречи, Глеб Андреевич.

— До свидания.

* * *

Елена ждала в машине с заведённым двигателем.

Глеб сел на пассажирское сиденье, положил папку на колени и только после того, как дверь закрылась, понял, что белый конверт всё ещё держит отдельно.

Елена посмотрела на него.

— Это что?

— Приглашение.

— Куда?

Он вскрыл клапан. Внутри лежала плотная карточка того же белого цвета. Сверху — название, которое он уже видел в архивной публикации третьего ноября.

«Белый бал».

Ниже — 19 декабря 2026 года, особняк Ланина. Ещё ниже стояли время начала и форма одежды; Глеб пробежал их глазами, не запоминая.

— На Бал, — сказал он.

Елена ничего не ответила секунд пять.

— Лично?

— Что лично?

— Вручил.

— Да.

Она выехала со двора и включила поворотник.

— Быстро.

— Что именно?

— Вы познакомились час назад.

Глеб опустил карточку.

— Это фонд. Возможно, они приглашают всех внешних участников.

— Возможно.

По её тону было понятно, что она не собирается помогать ему строить версию.

Он снова посмотрел на приглашение. Белая бумага, чёрный шрифт, ничего лишнего. Вещь была сделана с той же аккуратностью, что и документы «Аурелии»: так, чтобы форма не давала повода обсуждать себя вместо содержания.

Глеб убрал карточку обратно в конверт и положил его в рабочую папку. Рядом оказалась распечатка с РС-4.

На одном листе стояло «72 h». На другом — «19 декабря».

Первое относилось к аудиту.

Второе — нет.

Пока этого было достаточно.

Глава 6

Партитура

4 ноября 2026 года

Санкт-Петербург

Марина пришла к нему без папки. Это Адриан заметил раньше, чем выражение её лица.

Когда вопрос был обычным, она приносила бумаги или открывала ноутбук ещё в дверях. Когда вопрос требовал сначала решить, что именно считать обычным, приходила с пустыми руками.

— Вчера по СП-19/12 ушёл не тот комплект.

Адриан отложил ручку. За окном утро ещё не определилось с погодой: по стеклу тянулись редкие капли, а свет над Невой был того серого оттенка, при котором кабинет казался освещённым не снаружи, а собственными лампами.

— Кому?

— В «Контур». Рудневу Глебу Андреевичу.

Он поднял взгляд.

— Рудневу?

Марина заметила интонацию. Конечно заметила.

— Да. Второе письмо, в семнадцать сорок восемь. Вместо дополнения ему отправили расширенную сборку. Внутренние сценарные материалы, фрагменты архива двенадцатого года, служебные обозначения.

— Отозвали?

— В девятнадцать сорок одну. Написали, что отправка ошибочная, попросили удалить вложение и подтвердить удаление.

— Подтвердил?

Марина сделала короткую паузу.

— Нет.

Адриан протянул руку. Она поняла без вопроса, достала телефон и открыла письмо.

— Его ответ дословно: «Комплект от 17:32 остаётся в работе. Вложение из письма от 17:48 в рабочую выборку включено не будет».

Он попросил показать экран. Прочитал сам.

Два предложения. Оба точные. Ни одного лишнего слова.

— Он не написал, что удалил.

— Именно.

— И не написал, что сохранит.

— Тоже именно.

Марина убрала телефон.

— Сегодня утром мы связались с Мещериной по официальному каналу. Она подтвердила, что пакет исключён из рабочей выборки и изолирован до согласования режима хранения. То есть файл у них остался.

Адриан снова взял ручку, но писать не стал.

— Кто ещё имеет доступ?

— По ответу «Контура» — Руднев. Возможно, Мещерина как руководитель, если запросит. Пересылки наружу они не подтверждают. По нашей стороне утечки дальше адресата нет.

— «По нашей стороне» — хорошая оговорка.

— Другой у меня нет.

Это ему понравилось.

Не ситуация. Формулировка.

Марина села напротив.

— ИБ предлагает повторно потребовать удаление. Юристы — письменно зафиксировать нарушение режима материалов. Проектный офис хочет просто заменить комплект и не делать из этого событие.

— А ты?

— Я хочу знать, почему ты произнёс его фамилию так, будто уже знаешь ответ.

Адриан посмотрел на неё.

Можно было сказать, что фамилия встречалась в материалах конкурса. Это было бы правдой. Можно было напомнить, что кандидатуры внешних экспертов проходили через него ещё в сентябре. Тоже правда.

Но Марина спрашивала не о том, видел ли он имя.

— Я его помню.

— Это я уже поняла.

Она не стала помогать ему более удобным вопросом.

Адриан повернул печатку камнем внутрь ладони и снова посмотрел на письмо Руднева.

Большинство людей в такой ситуации выбирали один из двух простых ответов. Подтверждали удаление — иногда не удалив. Или начинали спорить, доказывая право сохранить полученное. Руднев не сделал ни того, ни другого. Он отделил рабочую выборку от факта существования исходного материала и сформулировал ответ так, чтобы не солгать отправителю.

Это могло означать педантичность.

Могло — любопытство.

Могло не означать ничего.

Адриан не любил, когда интересная версия получала статус факта только потому, что была интересной.

— Не требуйте повторного подтверждения от него лично.

Марина слегка нахмурилась.

— Материалы внутренние.

— Я знаю.

— Если он их сохранил, у нас есть основание настаивать.

— Есть.

— И?

Адриан положил телефон экраном вниз.

— Если сейчас заставить его удалить пакет, мы узнаем только, способен ли Руднев выполнить прямое требование, когда понимает последствия отказа.

— А ты хочешь узнать другое.

— Да.

— Что?

Он не ответил сразу.

Не потому, что подбирал красивую формулировку. Красивые формулировки обычно мешали в тот момент, когда решение ещё не стало понятным даже тому, кто его принимает.

— Что он сделает с информацией, которой не должен был получить.

Марина несколько секунд смотрела на него.

— То есть наблюдаем.

— Нет.

Она подняла бровь.

— Не ставьте за ним цифровое наблюдение и не придумывайте специальную проверку. Ошибка уже произошла. Не нужно превращать её в ловушку.

— Тогда что именно ты предлагаешь?

— Ничего не ускорять.

Марина откинулась на спинку кресла.

— Очень на тебя не похоже.

— Поэтому постарайся насладиться.

Она усмехнулась, но почти сразу снова стала серьёзной.

— А по самому Рудневу?

Адриан открыл лежавшую справа тонкую папку. На первой странице была фамилия, которую Марина только что произнесла. Короткая профессиональная справка, собранная ещё до начала аудита: образование, специализация, несколько заключений, открытые упоминания в технических спорах. Ничего такого, что объясняло бы человека целиком.

Именно это обычно было самым полезным напоминанием о справках.

— Подними всё, что у нас уже есть по Глебу Рудневу.

— Всё — это довольно широкая формулировка.

— Тогда сузим. Не бытовое. Не его друзей, покупки и привычки. Мне нужны решения.

— Какие?

Адриан закрыл папку.

— Те, после которых ему было что терять.

Марина не записала. Запоминать такие фразы ей не требовалось.

— Открытые источники?

— Начни с них. Профессиональные комиссии, судебные материалы, старые проекты, заключения, где его позиция расходилась с итоговой. Если понадобится что-то ещё — сначала ко мне.

— Компромат?

Он посмотрел на неё.

— Нет.

— Ты сказал «те, после которых ему было что терять».

— Я хочу увидеть, что он делает, когда правильный ответ становится дорогим. Это не одно и то же.

Марина поднялась.

— А ошибочный архив?

— Пусть лежит там, где «Контур» решил его хранить. Если они используют его в выводах — увидим по основаниям. Если нет — тем более.

У двери она остановилась.

— Адриан.

Он поднял глаза.

— Он всего лишь не удалил чужой файл.

Адриан посмотрел на два предложения в письме ещё раз.

— Нет. Мы пока даже этого не знаем наверняка.

Он коснулся пальцем второй строки.

— Мы знаем только, что он не стал писать, будто удалил.

Марина ничего не ответила.

Когда дверь закрылась, Адриан ещё несколько секунд смотрел на фамилию на первой странице папки.

Руднев.

Ошибочная отправка ничего не меняла.

Но давала возможность проверить, насколько справка о человеке похожа на самого человека.

* * *

10 ноября 2026 года

Санкт-Петербург

Письмо от Марины пришло во вторник утром. Не с новым архивом и не с очередной таблицей, а со ссылкой.

Глеб заметил это ещё в списке входящих. У писем «Аурелии» постепенно вырабатывалась собственная интонация: чем короче текст, тем больше времени потом уходило на то, что к нему прилагалось.

«Глеб Андреевич, добрый день. Доступ к материалам оператора открыт в объёме внешнего аудита. Для корректной работы с источниками просим использовать рабочее пространство проекта. Кирилл Ефремов подключится на первые тридцать минут и пояснит структуру данных. Режим — только чтение, за исключением замечаний аудита».

Ниже стояла ссылка и отдельная строка: «Доступ действует в рамках текущего предмета работ».

Глеб перечитал последнюю фразу. Она ему понравилась больше самой ссылки.

Елена появилась в дверях как раз в тот момент, когда он вводил одноразовый код.

— Уже пустили?

— Внешний аудит. Только чтение.

— Для тебя это звучит как оскорбление.

— Наоборот. Значит, я ничего случайно не сломаю.

— Вот теперь звучит как ты.

Она вошла, поставила кружку на край стола и придвинула к себе свободный стул. На экране открылось тёмно-синее окно авторизации, затем почти белая рабочая страница. Никакой заставки, анимации или обязательного слогана. В левом верхнем углу — небольшая надпись «Партитура». Рядом: «СП-19/12 · External Audit».

Глеб несколько секунд молчал.

— Что? — спросила Елена.

— Ничего.

— Очень содержательно.

— Я ожидал, что у фонда хотя бы название системы будет другим.

Елена посмотрела на слово в углу.

— Может, фантазия закончилась.

Глеб уже хотел ответить, когда открылось окно видеосвязи. Мужчина на экране выглядел примерно ровесником Глеба, может, чуть моложе. Тёмная рубашка без галстука, наушники, за спиной — стеклянная перегородка и несколько мониторов. Он не стал тратить время на формальное вступление.

— Доброе утро. Кирилл Ефремов. Я отвечаю за архитектуру данных и ролевые представления. Если коротко: покажу, откуда здесь берутся факты, что вы имеете право видеть и где система честно говорит, что ничего не знает.

Глеб поднял бровь.

— Последнее особенно интересно.

— Обычно всем интересно первое.

— Первое обычно обещают все.

Кирилл на секунду улыбнулся.

— Тогда начнём с неизвестного.

Он не перехватил управление экраном, а прислал приглашение на совместную сессию. Справа появилась тонкая панель с его именем и пометкой «технический сопровождающий». Глеб отметил это автоматически: не «администратор», не «владелец», не «оператор».

— И сразу на всякий случай, — продолжил Кирилл. — Фонд «Северная партитура» и эта система — разные вещи. Фонд пользуется частью сервисов, «Аурелия» развивает платформу. Я говорю это сейчас, потому что на первом знакомстве половина людей всё равно смешивает.

— Я бы тоже смешал.

— Значит, сэкономили пять минут.

Главная страница не пыталась впечатлить. Слева — навигация. В центре — таблица событий и зависимостей. Справа — узкая карточка текущего объекта. Графитовый текст, тёмно-синие линии, несколько серых и янтарных отметок. Никаких круглых шкал «надёжность 93 процента», зелёных галочек на весь экран и красных предупреждений, рассчитанных скорее на руководство, чем на инженера.

В верхней строке было написано: «Контекст: особняк Ланина / режим подготовки 19.12». Ниже — «Роль: внешний аудитор».

— Откройте «События», — сказал Кирилл. — Первое сверху.

Глеб нажал.

На экране появилась фотография второго ввода, которую Воронцов сделал пятого ноября. Под ней — время съёмки, источник файла, имя загрузившего, дата включения в рабочее пространство и отдельная строка «исходное время сохранено». Ниже шла уже не фотография, а цепочка.

05.11, 09:18 — наблюдение: ток на вводе 2 при нормальном вводе 1.

05.11 — источник: фото внешнего осмотра.

06.11 — подтверждение на объекте: состояние воспроизведено.

06.11 — классификация: штатная нагрузка сервисной группы.

06.11 — замечание аудита: линия КЛ-РС-02 отсутствует в исполнительной схеме.

Рядом с каждым пунктом была маленькая ссылка на источник.

Глеб не заметил, что подался к экрану, пока локоть не съехал со стола.

— Классификация меняет исходную запись?

— Нет.

— Никогда?

— Технически можно связать новую версию, но первичное событие остаётся. Если кто-то решил, что ток был «нормальным», это решение не превращает исходную фотографию в фотографию нормального режима. Оно появляется отдельной строкой.

Глеб щёлкнул по «классификация». Открылась история: кто внёс, на каком основании, какой документ приложен. Ниже стояла серая строка «предыдущее состояние: не классифицировано».

— А часы?

— Какие именно?

— Камера, сервер, объект. Если они расходятся.

Кирилл переключил вкладку.

— Храним исходную отметку, время получения и нормализованное время отдельно. Если offset известен — показываем. Если нет — не выдумываем.

В карточке фотографии появилось три поля. Первое было заполнено. Второе — тоже. В третьем стояло белое поле с коротким «UNKNOWN».

Глеб замер на нём дольше, чем на любой цветной отметке.

— Вы реально оставляете неизвестное неизвестным?

— Иногда даже за деньги.

Елена тихо фыркнула в кружку.

— Самое дорогое поле, — добавил Кирилл уже серьёзнее. — Любой заказчик любит заполненный отчёт. Пустое поле означает, что кто-то ещё должен работать.

Глеб провёл курсором по строке. При наведении появилась подсказка: «Влияние: порядок событий может смещаться в пределах недоказанного интервала».

Ни слова о том, что система «считает» правильным. Только предел.

Он вернулся к цепочке и открыл следующий пункт. Замечание по КЛ-РС-02 было показано не как ошибка проекта, а как «неподтверждённая зависимость». Под ним — две ветви: физическая линия подтверждена осмотром; модель связи с внешним РС-4 подтверждена частично. У второй ветви белел разрыв.

— Почему не красный?

— Потому что отсутствие доказательства связи не доказывает неправильную связь.

Глеб посмотрел на Елену. Та ничего не сказала, но он видел по выражению лица, что фразу она тоже запомнила.

— Кто придумал формулировку?

— Не знаю. Она старше меня в этом проекте.

— Удобно.

— Очень. Можно не спорить с автором.

Кирилл открыл граф зависимостей. Никакой красивой паутины на весь экран не появилось. Несколько прямоугольников: ввод 1, ввод 2, сервисная группа, помещение связи, внешний узел, функция «связь мероприятия». Между ними — линии с пометками источников. У части связей стояло «подтверждено», у одной — «предполагается по договорному интерфейсу».

Глеб несколько раз приблизил и отдалил граф.

— Это вручную собирается?

— Частично. Документы дают сущности и связи, интеграции — события и статусы, аналитики подтверждают спорное. Автоматически нарисовать можно много красивого. Потом кто-нибудь поверит линии, которой в реальности нет.

— Здравый подход.

— Запишите. Я редко это слышу от внешних аудиторов.

Глеб проигнорировал шутку. Его раздражало другое: система была слишком близка к тому, как он сам пытался строить расследования в таблицах, только здесь таблица не заканчивалась границей одного объекта.

* * *

Кирилл предложил перейти к РС-4. Глеб ожидал увидеть приложенный PDF от оператора. Вместо этого открылась карточка функции.

Заголовок был скучным: «Сохранение внешней связи / EVENT». Ниже — требуемый период функциональной автономности: 72 h. Рядом — не пояснение, а ссылка на источник. Глеб открыл её.

Документ оператора был виден только фрагментом. Название, номер редакции, дата, пункт требования и электронное подтверждение владельца документа. Остальной текст скрывала серая область с подписью «вне мандата роли».

— Вот это уже хуже, — сказал Глеб.

— Что именно?

— Мне показывают вывод и кусок основания.

— Вам показывают ту часть основания, которая подтверждает срок. Внутренняя топология оператора в ваш мандат не входит.

— А если без неё нельзя проверить выполнимость?

— Тогда вы ставите вопрос о недостаточности основания. После этого владелец доступа либо расширяет объём, либо принимает риск непроверенности. Мы не должны подменять отсутствие доступа фразой «всё подтверждено».

Глеб снова прочитал строку. Под ней действительно стояло: «Статус проверки внешним аудитом: частично подтверждено».

Не «выполнено». Не «соответствует».

Частично подтверждено.

— Ладно, — сказал он.

— Это «ладно» в смысле согласия?

— В смысле, что формулировка честная.

Елена повернулась к нему.

— Второй комплимент за двадцать минут.

— Не мешай.

Кирилл засмеялся и открыл вкладку «Ресурсы».

— А теперь то, ради чего я хотел показать систему, а не прислать вам четыре PDF.

В таблице было семь строк. Источник питания здания. Собственный ИБП оператора. Резервный канал связи. Дежурная смена. Выездная бригада. Мобильная генерация. Ещё один ресурс, название которого Глебу ничего не сказало.

Почти все строки были синими. Одна — янтарной.

Мобильная генерация.

Глеб открыл.

В карточке не было названия другой организации и адреса. Только ресурсный идентификатор, владелец, окно готовности и предупреждение: «пересечение обязательств». Резерв, который фигурировал в плане оператора как доступный на период EVENT, уже имел другое подтверждённое обязательство в пересекающемся временном окне.

— Двойное бронирование?

— Почти. Юридически не двойное. В одном договоре — гарантированный вызов, в другом — приоритет при наличии. Но оба пользователя читают свою бумагу как «ресурс у меня».

— И кто из них прав?

— В момент одновременного запроса — владелец ресурса в соответствии с условиями. То есть самый плохой момент, чтобы выяснять.

Глеб открыл историю. Первый договор существовал отдельно. Второй — отдельно. Каждый выглядел нормальным. Только общий реестр показывал, что одна и та же установка в одном и том же окне фигурирует как резерв для двух разных функций.

— Другой объект я не увижу?

— Нет.

— Почему?

— Потому что вам не нужно знать, кто именно второй клиент, чтобы подтвердить конфликт обязательств. Если понадобится проверить его реальность, независимый аудитор может получить обезличенную выписку от владельца ресурса.

— А вы видите?

— В моей роли — да.

Глеб задержал курсор на сером поле. Внутри него было написано не «скрыто», а «ограничено ролью».

— То есть у нас сейчас разные экраны одной и той же ситуации.

— Да.

— И это нормально.

— Чаще всего — необходимо.

Кирилл сказал это без защиты и без гордости. Как инженер, объясняющий, почему пожарный шкаф не должен открываться тем же ключом, что и бухгалтерский архив.

— Покажите разницу.

Елена повернулась.

— Глеб.

— Я не прошу чужие данные. Только структуру.

Кирилл на экране немного помедлил.

— Структуру могу.

Он включил режим предварительного просмотра. В верхней строке вместо «внешний аудитор» появилось «эксплуатация». Таблица изменилась. Исчезли история редакций и источник замечания, зато справа появилась очередь действий: подтвердить владельца мобильного резерва, получить окно прибытия, назначить ответственного.

Следующее представление называлось «руководитель проекта». Здесь физическая схема была свёрнута до одной строки, зато конфликт ресурса поднялся наверх с дедлайном и владельцем решения.

Кирилл вернул «внешнего аудитора». Снова появились источники, история и основания, но не чужие договорные детали.

— Факт один? — спросил Глеб.

— Событийное ядро одно. Права доступа разные. Представления разные. Иногда и набор релевантных действий разный.

— «Релевантных» кто определяет?

— Ролевая политика, предмет проекта, права на данные, настройки клиента. Для части экранов — правила сценария.

Ответ был настолько нормальным, что Глебу нечего было с ним сделать.

В большой системе все не могли видеть всё. Электрик не должен был читать медицинские данные. Финансист — видеть фамилии людей там, где достаточно суммы. Руководителю не требовалось двадцать страниц происхождения каждой отметки, если рядом существовал аудитор, который мог эти двадцать страниц проверить.

И всё же он ещё раз посмотрел на строку «Роль: внешний аудитор».

— А кто определил мою?

— Ваш договор, матрица доступа проекта, согласование ИБ и руководитель аудита с вашей стороны.

Елена подняла руку.

— Вот это я подтверждаю. Мне вчера присылали перечень.

— И ты не сказала.

— Там было написано «доступ к источникам, истории версий и замечаниям в пределах проекта». Я не знала, что ты ждёшь драматического раскрытия.

Глеб откинулся на спинку кресла.

— Не ждал.

— Конечно.

Кирилл терпеливо дождался, пока они закончат.

— Если хотите, дальше покажу, что произойдёт, если спорный мобильный ресурс считать недоступным.

Глеб снова наклонился к экрану.

— Показывайте.

* * *

Экран сравнения сценариев оказался ещё менее эффектным, чем граф. Две колонки, несколько допущений и диапазоны последствий. Никаких точных процентов того, что «случится».

В первой колонке мобильный резерв считался доступным при вызове. Во второй — исключался до отдельного подтверждения владельца. Система не писала, что второй вариант безопаснее. Она показывала, какие функции останутся покрыты, где появится белое поле неизвестности и какие действия потребуются, чтобы вернуть подтверждение.

— Если убрать установку, 72 часа перестают выполняться? — спросил Глеб.

— По текущей модели — не обязательно. Первые уровни резерва остаются. Но после определённого окна появляется зависимость от обслуживания и внешнего пополнения. Вот здесь.

Кирилл подсветил строку. Вместо числа стоял диапазон и слово «условно».

— Почему не посчитано точнее?

— Потому что у нас нет подтверждённого времени прибытия бригады при одновременном вызове. Можем поставить среднее. Получим красивую ложь.

Глеб медленно кивнул.

— Хорошо.

— Уже третий, — сказала Елена.

— Я слышу.

Он открыл исходные допущения. Каждое можно было развернуть: владелец, источник, дата проверки, срок актуальности. У некоторых строк рядом стояла маленькая кнопка «оспорить».

— Это что?

— Если пользователь считает предпосылку неверной, он не редактирует её молча. Создаёт возражение и прикладывает источник. Пока спор не решён, обе версии остаются.

Глеб несколько секунд смотрел на кнопку.

— И кто решает?

— Владелец предпосылки или назначенный арбитр проекта. Зависит от типа данных.

— То есть человек.

— К сожалению, — сухо сказал Кирилл.

Елена рассмеялась.

— Неудачная аудитория для этой шутки.

— Наоборот. Разработчики лучше всех знают, сколько проблем остаётся после того, как код работает.

Глеб нажал «создать замечание» напротив мобильного резерва. Поле открылось справа.

Он написал: «До подтверждения владельцем ресурса и отсутствия конкурирующего приоритетного вызова не учитывать мобильную установку как гарантированный элемент обеспечения функциональной автономности РС-4».

Перечитал. Убрал слово «гарантированный» из второй половины, потому что оно повторяло само себя. Вернул. Без него смысл становился мягче, чем требовалось.

— Можно так?

— Это ваше замечание, — сказал Кирилл. — Я могу сказать только, что система его примет.

— Я спрашиваю не про систему.

Кирилл посмотрел в камеру.

— По структуре данных — да. Вы не утверждаете, что ресурса нет. Вы запрещаете модели считать его подтверждённым до проверки. Это корректно.

Глеб нажал «сохранить».

Замечание не стало красным предупреждением. Оно появилось в истории сценария с серым статусом «на рассмотрении». Рядом система автоматически указала владельца следующего шага — подразделение, которое вело ресурсный договор, — и срок ответа по проекту.

Глеб открыл запись и увидел внизу строку «Источник замечания: внешний аудит / G.A. Rudnev».

Фамилия выглядела там непривычно.

— Что? — спросила Елена.

— Ничего.

— Ты уже второй раз сегодня очень убедителен.

Глеб не стал объяснять. В его работе замечания обычно жили в письмах, протоколах и таблицах. Потом кто-то переносил их в другую таблицу, сокращал формулировку, менял статус, забывал приложение. Через месяц спор начинался с вопроса, кто вообще первым это сказал.

Здесь источник не исчезал.

Это было простое решение. Почти банальное.

И именно поэтому он не понимал, почему подобное встречалось так редко.

Кирилл тем временем переключился на другую вкладку.

— Теперь важный момент. Не говорите потом, что «Партитура нашла конфликт». Она ничего не нашла в человеческом смысле. Два владельца ресурсов передали записи с одним идентификатором, правила сопоставили окна, система показала пересечение. Если идентификатор неправильный — конфликт может быть ложным.

— Вы всегда так защищаете программу от комплиментов?

— Я защищаю инженеров от фразы «компьютер решил». Обычно после неё начинается самое неприятное.

На этот раз Глеб улыбнулся.

— С этим спорить не буду.

Кирилл пожал плечами.

— Тогда мы быстро закончим.

* * *

Они не закончили быстро.

Глеб попросил показать историю двух других событий. Потом — как система связывает акт испытаний с фактическим состоянием. Потом заметил, что в одной карточке время подтверждения стояло раньше времени загрузки документа, и Кирилл объяснил разницу между событием и поступлением источника. Глеб проверил ещё на трёх примерах.

Елена через час ушла на другое совещание, предварительно предупредив:

— Если через два часа ты попросишь исходный код, я отключу тебе интернет.

— Мне не нужен исходный код.

— Уже страшнее.

Кирилл проводил её взглядом в маленьком окне видеосвязи.

— Она всегда такая?

— Когда считает, что я увлекаюсь.

— А она права?

Глеб открыл ещё одну карточку.

— Пока нет.

В отличие от большинства демонстраций программного обеспечения, здесь никто не пытался провести его по заранее приготовленному счастливому маршруту. Несколько раз Кирилл прямо говорил: «не знаю», один раз обнаружил сломанную ссылку на старую редакцию и без заметного стыда завёл задачу на исправление. Когда Глеб спросил, почему граф не показывает одну очевидную по схеме зависимость, Кирилл сначала начал объяснять модель, потом остановился.

— Нет. Вы правы. Этого ребра у нас нет.

— Почему?

— Сейчас выясню.

Через минуту ответ оказался прозаическим: в последней ревизии исполнительной схемы линия получила новое обозначение, а справочник ещё не связал оба идентификатора. Система не «поняла» изменение.

Кирилл создал задачу интеграторам и оставил граф неполным.

— Исправите сейчас?

— Нет.

— Почему?

— Потому что вы уже увидели состояние до исправления. Если я поправлю связь во время аудита и не сохраню версию, завтра будет невозможно доказать, что она отсутствовала.

Глеб перестал двигать мышь.

— Серьёзно?

— А как иначе?

Ответ прозвучал почти раздражённо, будто Глеб спросил, зачем на схеме ставить номер ревизии.

И именно здесь система окончательно перестала быть для него красивым интерфейсом.

Она была построена людьми, которые исходили из неприятной предпосылки: любой правильный документ однажды придётся сравнивать с его неправильной предыдущей версией.

Глеб слишком хорошо понимал ценность этой мысли.

Он закрыл карточку и впервые за всё время просто посмотрел на общую страницу, не ища ошибку.

В верхней части стояли события, ниже — зависимости, справа — очередь решений. У каждой строки было прошлое. У каждого действия — владелец. Белые поля не маскировались нулями. Серая гипотеза не становилась синей только потому, что кому-то нужно было закончить отчёт.

Если бы такую систему дали ему пять лет назад, подумал Глеб, часть вещей в его работе выглядела бы иначе.

Мысль пришла слишком быстро.

Он закрыл её раньше, чем она успела продолжиться.

— Кирилл.

— Да.

— Кто придумал эту архитектуру?

Ефремов ответил не сразу, но не потому, что скрывал.

— Она росла кусками. Журналы были раньше, граф позже, ролевые экраны ещё позже. Если вам нужен один автор — его нет.

— Вельский?

— Он задавал много правил. Особенно про источник, владельца решения и резерв. Но если вы спрашиваете, рисовал ли он эти экраны, — нет.

Это тоже почему-то понравилось Глебу.

Слишком легко было бы объяснить «Партитуру» характером одного человека. Гораздо убедительнее выглядела система, которую много лет строили специалисты, потому что она решала реальные проблемы.

* * *

Около обеда статус его замечания изменился.

Глеб заметил это случайно. В правой панели серый кружок стал янтарным, потом рядом появилась новая запись.

«Ограничение принято в расчёт. Мобильный ресурс исключён из подтверждённого резерва до повторного подтверждения владельца».

Ниже — автор решения: А. М. Вельский.

Глеб перечитал.

Кирилл тоже увидел обновление.

— Быстро.

— Это он сейчас сделал?

— Судя по журналу — да.

— Он вообще всё это смотрит?

— Нет. Иначе ему пришлось бы жить здесь. Но часть проектных решений у него в очереди.

Сценарий пересчитался. Не мгновенно и не театрально: рядом с двумя строками появился статус «обновление», затем изменились допущения. Мобильная установка исчезла из подтверждённой ветви. Несколько функций стали отмечены как условно покрытые. Справа система сформировала два обычных действия: получить альтернативный ресурс или подтвердить достаточность существующего резерва без него.

Ни катастрофы. Ни попытки доказать, что замечание несущественно.

Просто модель стала хуже выглядеть после того, как в неё внесли неприятный факт.

И никто не попытался сделать факт приятнее.

Глеб открыл карточку решения. Там была одна короткая служебная формулировка Вельского: «Не считать доступным то, что владелец не подтвердил для этого окна».

Без обращения к нему. Без упоминания аудита. Без красивой фразы про ответственность.

Ему стало неловко от собственного удовлетворения.

Система сделала ровно то, чего он требовал от людей на расследованиях: сохранила предупреждение, не заставила автора доказывать злой умысел, назвала владельца следующего действия и изменила расчёт до того, как появился ущерб.

Глеб закрыл карточку.

— Что дальше?

— Для вашего мандата на сегодня — всё, — сказал Кирилл. — Остальные документы оператора появятся после подтверждения доступа. Если захотите снова посмотреть историю или граф, вход остаётся.

— А Role View?

— Что именно?

— Я смогу сравнивать представления?

Кирилл покачал головой.

The free sample has ended.

5,0
7 ratings
$3.08
Age restriction:
16+
Release date on Litres:
12 October 2026
Writing date:
2026
Volume:
400 p. 1 illustration
Copyright Holder::
Автор
Download format:

Similar books