Наталия Власова
Реальность по умолчанию

Глава 1. Сам

— Если на кнопку запуска ядерной ракеты поставить кружку, она должна взлететь только потому, что в инструкции не написано убрать кружку?

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

На экране висела одна строка:

BYPASS_INTERLOCK = TRUE

На тестовом контуре она временно отключала аварийную блокировку. Перед выпуском в рабочую систему параметр должны были изменить. Не изменили.

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

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

— Я последний раз спрашиваю, — произнёс Константин. — Кто-нибудь из вас видел эту строку до выпуска?

Разработчик Алексей заговорил первым. Колпачок от ручки, который он ещё минуту назад держал в зубах, теперь ходил между пальцами и тихо поскрипывал. Параметр находился в чужом конфигурационном файле. Его собственная задача касалась другого модуля.

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

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

Константин выслушал всех.

— То есть один не обязан смотреть, второй не обязан проверять, третий вообще не обязан думать. А кто обязан? Я? Если я должен читать за разработчика, проверять за тестировщика и соображать за инженера, с какого хрена мне нужно целое управление?

Алексей перестал крутить колпачок. Сергей Павлович выдержал взгляд Константина, но ничего не сказал.

— Я плачу вам не за умение попадать пальцем в нужную кнопку. Для этого человек не требуется. Вы получили опыт, образование и доступ к системе. У каждого была возможность остановиться и сказать: «Здесь что-то не сходится». Но один решил, что заметит следующий, следующий доверился предыдущему, а последний нажал кнопку, потому что все подписи стояли на месте.

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

— Срок отменяет здравый смысл? Если вам велели закончить к восьми, вы к восьми хоть мину в систему положите? Почему никто не позвонил мне?

— Вы были на совещании у директора.

— Два часа без меня — и у отдела закончилась голова?

Константин спрыгнул со стола.

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

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

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

Сотрудники разошлись молча. Алексей последним забрал со стола ручку, так и не вернув на неё колпачок.

Константин остался в переговорной один.

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

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

— Значит, перепишете регламент.

— А потом появится ситуация, которой нет в новой инструкции. И они снова будут ждать, пока кто-нибудь разрешит им подумать.

Директор напомнил, что именно он настоял на назначении Константина, хотя владельцы компании предлагали другого человека. Теперь через сорок минут начиналось совещание с заказчиком. Если к этому времени отчёта не будет, директор отстранит Константина от восстановления, передаст доступ Белову и лично сообщит владельцам, кто отказался запускать узел.

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

Форма отчёта уже была открыта на экране.

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

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

— Я это управление с нуля собрал, — жёстко произнёс Константин. — Сам вытаскивал первые проекты, сам набирал людей, сам добивался, чтобы нам дали полномочия. Меня никто за руку не водил. Должность я заработал сам. И дом купил сам. Всё, что у меня есть, я сделал сам. Поэтому отвечать буду не фамилией дежурного инженера, а своим решением.

— Тогда отчёт должен быть сегодня.

Константин закрыл ноутбук.

— Отчёт будет завтра. Ночью в систему никто не полезет. До утра узел останется остановленным.

— Ты понимаешь, чем рискуешь?

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

— Впервые за сегодняшний день — понимаю.

Он завершил разговор, не дожидаясь разрешения.

В другой комнате Константин по-прежнему сидел один.

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

Один из наблюдателей вернул запись на несколько секунд назад.

«Меня никто за руку не водил».

Фраза снова прозвучала из динамиков.

Дверь открылась. В комнату вошёл Архитектор.

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

Архитектор остановился перед экраном.

— Сам?

Руководитель смены понял вопрос правильно.

— Решение об остановке он принял сам. Мы не вмешивались.

— Я не об этом. Он действительно считает, что всего добился сам?

— Это его слова.

Архитектор усмехнулся.

— Тогда убирайте поручни.

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

— Полностью? — уточнил руководитель смены. — Без мягкой коррекции он может свернуть куда угодно.

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

— А если выберет неверно?

Архитектор коснулся пальцем изображения Константина.

— Впервые это будет его «неверно». Снимайте.

— А страховка?

— Жизнь оставьте. Всё остальное — его.

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

Архитектор развернулся к двери.

— Посмотрим, насколько ему понравится слово «сам», когда рядом действительно никого не окажется.

Константин приехал домой в начале девятого.

За четыре месяца он почти не видел посёлок при дневном свете. Утром уезжал раньше соседей, вечером возвращался, когда окна уже гасли. Дом служил местом, где можно принять душ, поспать и переодеться.

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

Дом был добротным, современным и почти новым. Константин собирался обустроить кабинет, купить мебель для террасы, выбрать нормальный свет. Пока появился только рабочий стол. У стены до сих пор стояли коробки с вещами, не нужными ни для работы, ни для сна.

На кухонном столе привычно открылся ноутбук.

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

Константин вспомнил лица сотрудников.

Они ждали команду. Выполняли положенное. Не задавали лишних вопросов.

У них инструкция хранилась на сервере.

У него — в голове.

Разница состояла только в должности, зарплате и размере клетки.

Ноутбук остался закрытым.

Константин вышел на террасу.

Вечер был тёплым. За оградой негромко играла старая музыка, в ветвях двигался ветер, где-то работала поливочная система.

Соседний дом словно впервые вышел из фона.

Константин видел его, когда покупал свой. Риелтор упоминала дорогой объект, давно выставленный на продажу. Он тогда отметил ухоженный участок и вернулся к разговору о стоимости коммуникаций.

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

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

На лужайке сидел мужчина.

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

Заметив Константина, он чуть приподнял руку.

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

— Мы знакомы?

— До этой минуты — нет.

— А сейчас?

— Сейчас вы решили со мной заговорить. Это уже начало.

Мужчина указал на второй стакан.

— Заходите. Судя по вашему лицу, вы либо разогнали половину отдела, либо только собираетесь это сделать.

Через несколько минут Константин находился на соседней террасе.

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

— Григорий, — представился хозяин. — Архитектор.

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

— Значит, управляете тем, что без вас управляться не желает.

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

Виски оказался мягким и глубоким.

— Хороший, — признал Константин.

— Тридцать лет выдержки. Было бы обидно, если бы он за это время ничему не научился.

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

Григорий слушал без сочувственных кивков и готовых советов.

— Вот зачем мне целое управление? — закончил Константин. — Если без моей команды никто не способен остановить очевидную ошибку, проще действительно оставить одни кнопки.

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

— Именно.

— А потом вы сами поступили не по инструкции.

— Получается, так.

— И сразу заявили, что всего добились сами.

Константин внимательно посмотрел на него.

— Откуда вы знаете, что я заявил?

Григорий провёл пальцем по ободку стакана.

— Вы похожи на человека, который именно это и говорит, когда злится.

— Очень удобное объяснение.

— Зато пока единственное, которое вы способны принять без лишнего волнения.

Вместо ответа Константин сделал ещё глоток.

— Во сколько вы завтракаете? — поинтересовался Григорий.

— Кофе в шесть двадцать.

— Я спросил про завтрак.

— Я не завтракаю.

— На работу выезжаете в шесть пятьдесят. Рубашки забираете по четвергам. Продукты вам привозят по субботам. Домой возвращаетесь после одиннадцати. Хорошо настроенная система. Человек почти не требуется.

— Вы следите за мной?

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

Григорий говорил с удовольствием. Не поучал, а играл, оставляя Константину достаточно пространства, чтобы тот сам дошёл до неприятного вывода.

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

— Я уже это понял.

Улыбка Григория стала едва заметной.

— Сам?

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

— Сам.

— Тогда всё не безнадёжно.

— И что теперь? Уволиться, выбросить календарь и начать завтракать кашей?

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

Константин рассмеялся.

— Хорошо. Какой у вас рецепт?

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

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

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

Разговор нравился Григорию. Он умел выдержать паузу, вовремя сменить тему и вернуть Константину его же слова так, чтобы они прозвучали иначе.

— Вы говорите «в собственном саду». Значит, живёте здесь?

— Иногда.

— Нормальные люди отвечают либо «да», либо «нет».

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

Константин обвёл взглядом дом и сад.

— Почему я вас раньше не видел?

— Потому что не смотрели. Вы знали, что здесь стоит дом. Этого было достаточно. До сегодняшнего вечера я для вас не существовал. Не потому, что меня не было, а потому, что ваше внимание здесь не задерживалось.

— Сегодня задержалось — и вы появились?

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

Ответ звучал разумно. Перитонита в нём пока не было.

Он появился несколькими минутами позже, когда Константин признался, что к сорока годам получил почти всё, к чему стремился: должность, деньги, дом, который ещё десять лет предстояло выкупать у банка. Только воспользоваться всем этим было некогда.

— Я ведь всё делал правильно, — закончил он.

— Кто вам сказал?

— Так живут все.

— Надёжный источник. Миллионы людей одновременно ошибаться не могут.

— Значит, надо предъявить счёт миру?

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

Григорий наполнил свой стакан.

— Кого впишете первым? Начальника? Женщину, которая ушла? Банк?

— Всех понемногу.

— Тогда не забудьте врача.

— Какого?

— Того, который оперировал вас при перитоните. Вам было двадцать девять. Ещё немного — и список претензий пришлось бы составлять кому-нибудь другому.

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

— Откуда вы знаете?

Григорий явно наслаждался моментом.

— Вот теперь стало интереснее.

— Мы раньше встречались?

— Нет.

— Вы собирали обо мне информацию?

— Нет. Фамилию врача помните?

— Одиннадцать лет прошло.

— А фамилию начальника, лишившего вас премии?

— Миронов.

— Один забрал деньги и получил отдельную комнату в вашей памяти. Другой сохранил жизнь и остался «каким-то врачом». Удивительная бухгалтерия.

— Мать вызвала скорую. Мне повезло, что бригада приехала быстро.

— Конечно. Когда случается плохое, человек спрашивает: «За что мне это?» Когда его спасают — называет стечением обстоятельств. Штрафы всегда персональные, премии случайные.

Григорий не развивал мысль. Не требовал благодарности и не ждал признания собственной правоты. Он просто оставил вопрос между ними и вернулся к виски.

Позже Константин поднялся.

— Спасибо за вечер. И за виски.

Григорий разглядел янтарный остаток на дне его стакана.

— Виски вы поблагодарили сразу. А фамилию врача так и не вспомнили.

— Вы из каждого бокала будете делать мораль?

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

Константин задержался у дорожки.

— Вы всё-таки кто?

— Григорий. Архитектор. Я же представился.

— Какой архитектор?

Тёмный бриллиант блеснул под пальцами хозяина.

— Тот, который иногда исправляет собственные ошибки.

Утром Константин вышел из дома на две минуты раньше привычного.

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

Теперь повернулся.

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

Она не подняла головы, но Константину показалось, что его внимание заметили.

Справа стоял дом Григория.

На ограде висела потускневшая табличка:

ПРОДАЁТСЯ.

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

Человека по имени Григорий среди владельцев, представителей и сотрудников не было.

Константин завершил разговор и сел в машину.

Паники не возникло. Объяснение обязательно существовало.

Только внимание, однажды зацепившись за несоответствие, больше не желало проходить мимо.

Глава 2. За живых

Константин проехал поворот к трассе.

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

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

Константин ехал медленно, запоминая повороты. Через семь минут асфальт закончился. Ещё через три дорога вывела его к заправке на другом конце объездной.

Он остановился у колонки и включил навигатор.

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

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

Константин сделал снимок экрана и сохранил время.

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

В комнате наблюдения его маршрут уже трижды перестроили.

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

ROUTE CONFIDENCE: 34%

Оператор маршрутов перевёл ладонь к клавише коррекции, но нажимать не стал.

— Вернуть на основной?

Руководитель смены посмотрел на цифру.

— Порог принудительной коррекции — тридцать.

— Осталось четыре пункта.

— Значит, порог не пройден.

Оператор убрал руку.

— Тогда зачем он туда поехал?

Архитектор стоял перед экраном, держа руки в карманах.

— Это он и хочет выяснить.

— Мы можем предложить объезд через город.

— Не предлагайте ничего.

На карте появился новый прогноз. Константин тронулся с места и снова выбрал не его.

Архитектор усмехнулся.

— Кажется, слово «сам» ему действительно понравилось.

В офисе его ждали.

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

Технический директор сидел во главе стола. Рядом расположился Белов с уже открытым ноутбуком. Остальные стояли у стены или переговаривались вполголоса.

Константин положил телефон экраном вниз.

— Состояние?

Алексей ответил первым. За ночь они откатили программную сборку, проверили контрольные суммы и восстановили основную конфигурацию. Параметра, отключавшего блокировку, в пакете больше не было.

— На рабочем контроллере проверяли?

— Удалённо. Значение ложное.

— Не значение. Память контроллера.

Алексей задержался на секунду.

— После отката не перезапускали. Заказчик не разрешил обесточить линию без согласования.

— Значит, мы не знаем, что там осталось.

Директор постучал пальцами по столу.

— У нас через двадцать минут совещание. Узел должен быть запущен до звонка.

— Тогда звонок пройдёт без запуска.

Белов развернул к Константину свой экран. Интерфейс показывал нормальное состояние блокировки. Команда перезагрузки была принята, ошибок обмена не зарегистрировано.

— Система готова, — сказал он. — Мы теряем время.

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

— Что на месте?

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

— Почему?

— Не нравится мне телеметрия. На экране всё ровно, а датчик вибрации после опроса дважды отдавал старое значение.

Директор подался вперёд.

— Старое — не аварийное?

— Не аварийное. Но он обязан обновляться.

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

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

Тестировщица открыла схему и быстро приблизила нужный участок.

— При полном обесточивании потеряем накопленные состояния.

— Поэтому сначала снимем образ памяти.

— Это займёт минут пятнадцать.

— Работайте.

Директор закрыл лежавшую перед ним папку.

— Нет. С этого момента восстановлением занимается Белов. Передай ему доступы и подготовь отчёт.

— Пока я отвечаю за узел, запуска не будет.

— Ты уже не отвечаешь.

Белов не вмешивался. На его экране появилась кнопка подтверждения запуска. Он посмотрел на директора, получил короткий кивок и отправил команду.

На схеме один из серых участков сменился зелёным.

Почти сразу в динамике раздался голос Сергея Павловича:

— Пришла команда на пуск. Силовая разомкнута. Держу.

— Не замыкать, — сказал Константин.

— Выполняю.

Зелёный индикатор продолжал гореть, хотя оборудование на площадке не работало.

В переговорной стало тихо.

Ирина первой поняла, что произошло.

— Интерфейс показывает не фактическое состояние. Он подтверждает принятую команду.

Алексей уже просматривал журнал.

— Здесь удерживаемая область памяти. Откат её не очистил. Контроллер поднялся со старым состоянием и отдаёт его наверх как актуальное.

— Снимайте образ, — приказал Константин. — После этого полное обесточивание и запуск на изолированном контуре.

Никто больше не напоминал о совещании.

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

Узел вышел в рабочий режим за две минуты до подключения заказчика.

Директор провёл совещание без него.

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

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

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

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

Константин выключил экран и подписал соглашение.

— Так быстро? — спросила сотрудница отдела кадров.

— А сколько обычно требуется, чтобы прочитать две страницы?

Она хотела что-то добавить, но передумала.

К концу дня его учётная запись была заблокирована. Алексей поймал его у лифта и начал говорить, что сотрудники готовы подтвердить каждое решение. За его спиной стояла Ирина. Чуть дальше молча ждал Сергей Павлович, успевший вернуться с площадки.

— Не надо меня спасать, — сказал Константин. — В следующий раз увидите, что система врёт, не ждите моей команды.

Двери лифта закрылись.

На первом этаже пропуск уже не сработал. Охранник открыл турникет вручную и протянул ладонь. Константин снял карту с держателя и отдал ему.

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

В комнате наблюдения на карточке Константина погас один из зелёных индикаторов.

EMPLOYMENT ANCHOR: CLOSED

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

— Запустить подбор замещения?

— Нет, — ответил Архитектор.

— У него ипотека.

— Жизнь оставили. Всё остальное — его.

— Он может решить, что ошибся.

Архитектор посмотрел на экран. Константин вышел со стоянки, но к машине не пошёл. Несколько минут он стоял у края тротуара, наблюдая, как люди прикладывают пропуска и исчезают за стеклянными дверями.

— Пусть решает.

Домой Константин вернулся другой дорогой.

Григория на лужайке не было. Терраса пустовала, окна отражали небо. Табличка «ПРОДАЁТСЯ» висела на прежнем месте.

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

— Хозяева приезжали? — спросил Константин.

Рабочий выключил триммер.

— Не видел ни разу. У нас договор с компанией. По вторникам газон, по пятницам уборка и дом проверить.

— А терраса?

— Что терраса?

На ней не было ни графина, ни стаканов, ни тяжёлого кресла. Только сложенный садовый стол под чехлом.

Константин поблагодарил и пошёл домой.

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

Никого.

На четвёртый день Григорий подрезал кусты роз возле террасы.

Он был в светлой льняной рубашке с закатанными рукавами. Рядом стояла плетёная корзина, наполовину заполненная ветвями. Секатор коротко щёлкал, оставляя ровный край.

Константин остановился у ограды.

Григорий не повернулся.

— Вы хотели проверить, появлюсь ли я по вашему расписанию? Я решил не мешать эксперименту.

Константин невольно улыбнулся.

— Значит, вы знали, что я вас жду?

— Вы три вечера с большим старанием делали вид, что не ждёте. Такое трудно не заметить.

На землю упала ещё одна ветка.

— Вам нравится заниматься цветами?

Теперь Григорий посмотрел на него.

— Вас удивляют цветы или мужчина с секатором?

— От вас я ожидал другого занятия.

— Удобное уточнение. Вы опять раскладываете мир по подписанным ящикам: это мужское, это женское, это важное, а это можно не замечать.

— Вы и из секатора сделаете философию?

— Нет. Из секатора я делаю форму. Философию из него сделали вы.

Григорий отошёл на несколько шагов и оценил куст целиком.

— К тому же вы четвёртый день пытаетесь разрушить привычный распорядок. Это уже начинает становиться новым распорядком.

Константин опёрся ладонями об ограду.

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

Григорий закрыл секатор.

— Хотите проверить, смогу ли я покинуть свой участок?

— Да просто зову вас в гости. Соскучился.

Григорий несколько секунд смотрел на него, потом убрал секатор в корзину.

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

Константин поехал в магазин.

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

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

— Четыре месяца под чехлом стоял? — уточнил продавец.

— Да.

— Хорошая вещь. Ей пользоваться надо.

Константин купил длинные щипцы и щётку для решётки.

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

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

— Вы всё-таки открыли инструкцию.

— Я никогда не говорил, что инструкции не нужны.

— Только люди, которые способны от них отступить.

— Сегодня проверим, способен ли отступить повар.

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

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

— Меня уволили, — сказал Константин.

Григорий поднял глаза от тарелки.

— Для вас это трагедия?

— Утром была. Сейчас думаю, что работу с моим образованием я найду.

— Тогда следите за мясом. С этой потерей будет сложнее.

Константин перевернул куски на решётке. Один край уже начал темнеть.

— В понедельник в моём кабинете сядет Белов. Десять лет я собирал отдел, людей, оборудование. Я для них всё сделал.

Последняя фраза осталась между ними.

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

Григорий не торопил.

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

Григорий подвинул к нему чистую тарелку.

— Ушедшие ушли. Вспоминай их добром. У тебя живые есть?

— Мама.

— В этом доме была?

— Нет. Я хотел сначала разобрать коробки, закончить кабинет, купить мебель на террасу.

— Она к мебели приедет или к тебе?

Константин снял мясо с решётки и выключил горелку.

— Мудак.

Григорий не стал уточнять, кого он имеет в виду.

Константин набрал мать прямо с террасы.

— Мам, приезжай в субботу.

В трубке наступила тишина.

— Что случилось?

— Ничего. Я тебя в гости зову.

— Ты выпил?

Константин посмотрел на Григория.

— Немного.

— Тогда завтра ещё раз позвонишь.

— Позвоню. Но ты всё равно приезжай.

Когда Константин вернулся к столу, Григорий не сразу наполнил стаканы. Медленно налил виски в один, затем во второй. Второй стакан ещё несколько секунд оставался в его руке.

— Давай на «ты». Теперь уже можно.

Константин не потянулся за стаканом.

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

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

Константин поднял стакан.

— Тогда за что?

— За живых.

Стекло тихо звякнуло.

В комнате наблюдения большой экран разделился надвое.

Слева остался Константин на террасе. Справа появилось увеличенное изображение Григория.

Оператор отдёрнул руки от консоли.

— Второй канал не я открывал.

Руководитель смены подошёл ближе.

— Архитектор превысил время полевого наблюдения на сорок семь минут. Запрос на возвращение был?

— Нет.

— Закройте полевой канал и вызовите его.

Оператор ввёл команду. Жёлтая рамка мигнула, но канал остался активным.

— Нет доступа.

— Через контур руководителя смены.

— Он тоже не принимает команду.

Аналитик открыл журнал событий. Рядом с именем Григория появилась новая строка:

OBSERVER CHANNEL: ACTIVE

В поле «Инициатор» стоял прочерк.

— Канал не может открыться без инициатора.

— Уже открылся.

— Кто наблюдает за Архитектором?

Никто в комнате не ответил.

Оператор поднял защитную крышку над клавишей ручного отключения.

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

— А если не закроется?

Оператор просмотрел инструкцию ещё раз.

— Такого пункта нет.

Его рука осталась над клавишей. Никто не сказал нажать.

На экране Григорий коснулся стаканом стакана Константина.

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

Глава 3. Без инициатора

Григорий ушёл после половины одиннадцатого.

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

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

Григорий вошёл в дом.

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

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

На экране продолжал идти отсчёт:

FIELD SESSION: 04:19:08

RECOMMENDED LIMIT: 03:30:00

OBSERVER CHANNEL: ACTIVE

Григорий выбрал завершение полевого сеанса.

COMMAND ACCEPTED

Счётчик не остановился.

Он подождал несколько секунд и повторил команду. Система сообщила, что запрос уже выполняется. В журнале появилась новая запись, но состояние канала не изменилось.

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

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

ACCESS DENIED

На этот раз Григорий перечитал сообщение дважды.

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

Но до этого момента верхний контроль никогда не вмешивался в его полевую работу напрямую.

Григорий проверил срок полномочий, состояние профиля и перечень доступных команд. Всё оставалось действующим. Система признавала его Архитектором, принимала команды и подтверждала их исполнение. Только фактическое состояние не менялось.

Точно так же несколько часов назад зелёный индикатор на экране Константина показывал работающий узел, который на самом деле оставался обесточенным.

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

REQUEST COMPLETED

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

Он больше ничего не нажимал.

В комнате наблюдения его запрос уже считался обработанным.

Оператор открыл форму технического инцидента, но не смог выбрать категорию объекта. В перечне присутствовали участник, сопровождающий, временный наблюдатель и внешний оператор. Архитектора среди наблюдаемых объектов не было.

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

— Тогда заявка уйдёт в технический архив. Там срок ответа трое суток.

— А куда ты предлагаешь её отправить?

Оператор ещё раз раскрыл список.

— Никуда.

— Значит, через общую.

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

— Уже закрыли?

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

— Похоже на автоматическую проверку. Команда завершения принята, ошибок нет.

На большом экране Григорий всё ещё находился в кабинете своего дома.

— А канал?

— Активен.

Руководитель смены посмотрел на клавишу ручного отключения. Защитная крышка оставалась поднятой с предыдущей смены.

— Без команды не трогай. Утром разберутся.

Оператор опустил крышку.

Утром никто не разобрался.

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

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

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

Константин удалил учётную запись с телефона.

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

Список получился длиннее вчерашнего соглашения об увольнении.

Константин выбрал кухню и гостевую комнату. Остальное оставил как есть.

Мать позвонила около одиннадцати.

— Я приехала, только не понимаю, куда идти. Таксист высадил меня возле какого-то красивого дома, а номера здесь не видно.

— Какой дом?

— Светлый. Окна полукруглые, возле ограды лаванда. Здесь девушка стоит, сейчас у неё спрошу.

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

Константин вышел на улицу.

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

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

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

— Вот и хозяин потерялся, — сказала мать. — Мила меня спасла. Оказывается, таксист не туда свернул.

Константин забрал сумки.

— Спасибо. Я Константин.

— Я уже поняла.

Мила произнесла это без многозначительности и объяснила:

— Ваша мама трижды назвала ваше имя, пока мы выясняли номер дома.

Мать посмотрела на сына с выражением, которое он помнил с детства.

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

— Я потому и вышел.

— Вижу. Даже без навигатора дошёл.

Мила улыбнулась.

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

— Давно вы здесь живёте? — спросил Константин.

— Пятый год.

Он посмотрел на дом за её спиной.

— Не может быть.

— Почему?

— Я вас ни разу не видел.

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

Объяснение было настолько обычным, что спорить с ним не имело смысла.

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

— Вы знаете Григория? — спросил он.

Взгляд Милы на мгновение задержался на соседнем участке.

— Видела его дом.

— Я не про дом.

— Тогда пока не знаю.

Она помогла матери поправить ручку сумки и закрыла калитку.

— Рада знакомству, Константин. И вы всё-таки покажите матери дом. Она очень старалась не признаться, как ей интересно.

Мать дождалась, когда Мила отошла, и тихо произнесла:

— Красивая.

— Мам.

— Что «мам»? Я зрение ещё не потеряла.

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

— У меня есть покрывала.

— Это другое.

— Чем?

— Оно твоё.

Ответ не объяснял ничего, но спорить он не стал.

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

— Хороший дом, — решила она. — Только ты в нём пока не живёшь.

— А что я здесь делаю?

— Ночуешь.

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

— Четыре месяца стоят?

— Руки не доходили.

— Руки у тебя каждый вечер домой приезжали. Тебя не было.

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

Мать открыла вторую рамку.

— Эту в гостевую поставь.

— Почему в гостевую?

— Потому что я там буду спать, когда приеду.

Она произнесла это спокойно, без вопроса и без благодарности за приглашение. Будто одного звонка оказалось достаточно, чтобы в доме появилось место не только для вещей Константина.

За обедом мать первой спросила о работе.

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

Константин положил вилку.

— Меня уволили.

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

— Ипотека?

— Выплаты за два месяца. Резерв есть. Работу найду.

— Тогда почему лицо такое, будто тебя из собственного дома выгнали?

— Десять лет там проработал.

— Значит, жалко десять лет. А не кабинет.

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

— Расскажешь, когда сам поймёшь, на что именно злишься. Я всё равно в ваших контроллерах ничего не понимаю.

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

Константин проводил её до машины.

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

Григорий весь день пытался установить, кто закрыл обращение.

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

Полевой канал оставался активным.

К середине дня Григорий перестал отправлять команды. Он проверял не возможность вернуться, а границы оставшегося доступа.

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

Ему оставили знание и убрали непосредственное вмешательство.

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

Версия выглядела логично.

Григорий не любил её только потому, что решение было принято без него.

Вечером он увидел, как от дома Константина отъехало такси. Сам Константин остался возле ворот, дождался, пока машина скроется за поворотом, и медленно пошёл обратно.

Григорий вышел на улицу.

— Мама приезжала? — спросил он, приблизившись.

— Откуда ты знаешь?

— У неё было две сумки, а уехала она без них. Для тайного агента слишком заметно.

— Я всё-таки позвонил ей ещё раз утром.

— Я не сомневался.

— А я сомневался. Вдруг вечером был просто пьяный порыв.

Они дошли до калитки. Константин открыл её, но Григорий не двинулся следом.

— Сегодня происходило что-нибудь необычное?

Константин обернулся.

— Ты обычно не задаёшь вопросы, если уже знаешь ответ.

— Сегодня задаю.

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

— Мать приехала. Мы разобрали две коробки. Я познакомился с соседкой. Пока всё.

— С какой соседкой?

Константин указал в сторону светлого дома.

В этот момент калитка там открылась.

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

Григорий замер.

Не от неожиданности самой встречи. Константин уже достаточно видел его, чтобы отличить удивление от мгновенного внутреннего расчёта. За несколько секунд Григорий успел рассмотреть Милу, дом, открытую калитку и корзину в её руке, будто проверял сразу несколько признаков одной невозможной версии.

— Эмилия?

Она остановилась.

— Здесь меня зовут Милой.

— Семь лет назад твой профиль перевели в автономный режим.

— Верно.

— После этого ты исчезла из активных контуров.

— Из наблюдения. Не из жизни.

Григорий посмотрел на её дом.

— Ты всё это время жила здесь?

— Пятый год.

— В двухстах метрах от наблюдаемого объекта?

— Когда я покупала дом, Константина здесь не было. Тебя, насколько я понимаю, тоже.

Мила перевела взгляд на Константина, затем снова на Григория.

— Не самый удачный разговор для улицы.

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

— Но ты меня видишь.

— Физически. Не в системе.

— Пока не проверил.

Константин перевёл взгляд с одного на другую.

— Извините, а можно теперь для человека, который просто поздоровался с соседкой?

Мила оценила пустую улицу.

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

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

Мила открыла калитку шире.

— Заходите оба. И не стойте посреди улицы. Вы уже привлекаете внимание хотя бы тем, что ведёте себя как заговорщики.

Изнутри её дом оказался ещё менее похож на музейную декорацию, чем представлял Константин. Старинные вещи здесь не демонстрировали возраст. Ими пользовались.

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

Мила убрала корзину и поставила чайник.

— Я предлагаю сначала договориться, сколько Константин должен узнать сегодня. Иначе Григорий начнёт защищать устройство системы, а ты, Константин, — проверять каждое слово, пока мы ещё не закончили предложение.

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

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

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

— Именно для сопровождения. Моё физическое существование никто не прекращал.

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

— Тогда объясни, — сказал Григорий.

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

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

— Я и не оказывалась. Это чужой контур пришёл ко мне вместе с тобой.

Константин придвинул чашку.

— Подождите. Ты не вышла из жизни?

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

— А настоящий выход из этой локации тогда что означает?

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

— То есть ты сняла поручни сама?

— Попросила отключить сопровождение. Поручни не исчезают вместе с человеком, Константин. Человек просто перестаёт ждать, что они удержат его при каждом неверном шаге.

— И семь лет тебя никто не наблюдал?

— Люди видели. Соседи, продавцы, сотрудники банка, врачи. Я не становилась невидимой. Меня перестал отслеживать тот уровень, на котором работает Григорий.

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

— А я почему тебя не замечал?

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

— Но сегодня заметил.

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

Григорий оставил чай нетронутым.

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

— Да.

— Тогда почему твоё присутствие не отражалось ни в одном локальном журнале?

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

— Одного твоего решения недостаточно, чтобы выйти из поля контроля.

— Я не вышла из мира. Я перестала требовать, чтобы мир мной управлял.

Григорий едва заметно усмехнулся.

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

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

В комнате стало тихо.

Константин посмотрел на Григория.

— Какую команду?

Тот взял чашку, но пить не стал.

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

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

— Нет.

— А кто решил?

— Это я и выясняю.

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

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

— Я помню.

— Тогда ты наблюдал за мной. Теперь кто-то наблюдает за тобой?

Григорий поставил чашку.

— Второй канал открылся без инициатора.

— Канал сам не открывается?

— Нет.

— Контроллер тоже не должен был хранить старое состояние после отката.

— Это разные уровни системы.

— Но ошибка одна. Вы оба смотрите на сообщение «принято» и считаете, что действие совершилось.

Мила села напротив них.

— Ошибка не только в этом. Константин уже увидел, что интерфейс может не совпадать с реальностью. Григорий до сих пор считает собственный интерфейс исключением.

— Потому что мой доступ устроен иначе.

— Был устроен.

Григорий посмотрел на неё так, как ещё недавно смотрел на Константина: спокойно, внимательно, оценивая не слова, а то, из какого знания они появились.

— Что именно ты заметила?

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

— Для какой версии?

— Для неприятной.

Константин откинулся на спинку стула.

— Вот теперь я начинаю понимать, почему вы оба так любите говорить половину.

Мила не обиделась.

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

— А что существует на самом деле?

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

Григорий наконец отпил чай.

— Если ты понимала, что мой канал активен, зачем впустила нас в дом?

— Потому что вы уже увидели меня на улице. Закрытая дверь ничего бы не исправила.

— Если твой профиль снова определится в наблюдении, начнётся проверка на нормализацию.

— Да.

— Какая ещё нормализация? — спросил Константин.

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

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

— Ты семь лет от них пряталась?

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

Григорий провёл пальцем по краю чашки.

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

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

— А если сесть в правильном состоянии и ждать, когда жизнь всё принесёт? — спросил Константин.

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

— Меня уволили не потому, что я вошёл не в то состояние?

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

Константин не рассказывал Миле ни об увольнении, ни о звонке.

Он повернулся к Григорию.

— Это ты ей сказал?

— Нет.

Мила спокойно выдержала его взгляд.

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

Объяснение снова оказалось обычным. И снова оставило после себя больше вопросов, чем любая мистика.

Григорий встал и подошёл к окну.

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

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

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

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

Оба решения ему не нравились.

Впервые пришлось выбирать не правильное, а менее опасное.

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

— Это уже решение Игрока, — заметила Мила.

— Я не Игрок.

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

Именно это насторожило его сильнее всего.

— А мне что делать? — спросил Константин.

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

— Почему?

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

Константин помолчал.

— Значит, мы не боремся с системой?

— А ты умеешь бороться с тем, границ чего не видишь?

— Нет.

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

В комнате наблюдения экран автоматически разделился на три части.

Слева находился Константин. Его карточка открылась сразу: маршрут, закрытый рабочий контур, ипотечное обязательство, активные социальные связи.

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

Третье изображение показывало Милу у стола.

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

EMILIA

LIFE SESSION: ACTIVE

GUIDANCE STATUS: CLOSED

AUTONOMOUS MODE: 7 YEARS 3 MONTHS

ACTIVE OBSERVATION: NONE

CURRENT LOCATION: NOT REGISTERED

Оператор приблизил изображение.

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

— Автономный профиль не должен идентифицироваться внутри активного канала.

Руководитель смены подошёл ближе.

— Но идентифицировался.

Оператор открыл историю запроса.

— Текущих координат в архиве нет. Система не знала, что она здесь.

— Тогда как нашла?

— Канал Григория захватил лицо и биометрические признаки. После этого запустился обратный поиск. Пока он её не увидел, связи с архивным профилем не существовало.

На карточке Милы появилась новая строка:

UNSCHEDULED VISIBILITY: TRUE

Следом открылась ещё одна:

VISIBILITY SOURCE: OBSERVER CHANNEL

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

— Значит, это его канал её проявил?

— Похоже на то.

— Отправлять запрос на проверку?

Руководитель смены открыл форму. Прежде чем он коснулся клавиатуры, система создала её самостоятельно.

NORMALIZATION REVIEW: OPEN

REVIEW OBJECTS: 3

INITIATOR: —

На экране трое сидели за одним столом.

В карточке Константина никаких изменений не произошло.

Автономный статус Милы сменился предупреждением.

Возле имени Григория мигнуло поле:

ROLE: ARCHITECT

Надпись исчезла.

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

Система больше не считала Григория Архитектором.

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

Глава 4. В ответ

Дом Григория его не узнал.

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

Он провёл ладонью над считывателем ещё раз. Медленно, стараясь не повторять одно и то же движение в точности.

На матовой поверхности вспыхнуло:

PROFILE NOT FOUND

Надпись погасла прежде, чем Константин успел подойти ближе.

— Что это значит?

Григорий не ответил. Дорогие часы на его запястье, прежде открывавшие ворота, двери и всё, что не предназначалось для чужих глаз, показывали время. Только время. Впервые за много лет они оказались просто часами.

Мила остановилась по другую сторону дороги. Лёгкий ветер двигал ткань её платья и доносил с участка ровный аромат лаванды. Она не торопила Григория, но следила за его руками.

— Сколько команд ты уже отправил?

— Одну.

— Тогда не отправляй вторую.

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

— Я не собирался повторять команду. Хотел убедиться, что дело не в считывателе.

— Ты убедился, — сказала Мила. — Дело не в нём.

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

— Ключ где?

Григорий посмотрел на него так, будто вопрос относился к устройству мира, а не к куску металла с насечками.

— У меня нет ключа.

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

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

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

В голосе Константина не было злорадства, но Григорий всё равно услышал. Несколько секунд он разглядывал тёмный дом, затем снял часы и убрал их в карман.

— До сегодняшнего вечера, — согласился он.

Мила подошла ближе и ещё раз внимательно посмотрела на окна.

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

— Пойдём ко мне, — предложил Константин. — У меня гостевая пустует.

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

Каждой новой командой он раскрывал наблюдателю больше, чем узнавал сам.

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

— Хорошо, — произнёс Григорий. — Сегодня я воспользуюсь твоим гостеприимством.

— Вот и договорились. Только предупреждаю: виски у меня проще.

— После потери дома пережить простой виски будет нетрудно.

Мила улыбнулась:

— Уже лучше. Человек возвращается.

* * *

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

Утром мать разобрала обе.

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

Григорий остановился у кровати. Провёл пальцами по неровному шву, где тёмно-синий квадрат соединялся с выцветшим зелёным.

— Ручная работа?

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

— Ты попросил?

— Нет. Я вообще впервые позвал её сюда.

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

— Значит, дом начал принимать жильцов раньше, чем ты сам был к этому готов.

— Это гостевая комната.

— Разумеется. Поэтому здесь десять лет стояли коробки, а теперь сплю я.

Константин хотел возразить, но не нашёл убедительной версии.

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