- -
- 100%
- +
— Это не аварийная иерархия, — сказал Максим, прочитав таблицу. — Это аварийная просьба, напечатанная заглавными буквами.
Лена не улыбнулась. Структура была слишком продуманной для случайности. Корабль разделили не только физически. Кто-то заранее исключил возможность захватить все секции одним ключом.
Саранов тоже понял это. Его голос стал тише.
— Всем владельцам систем подтвердить личность. После подтверждения мои распоряжения исполняются как приказы командира экспедиции.
— Нет, — сказала Ника.
Одно слово прошло по частоте без помех.
— Обоснуйте.
— Датчик расхода стоит до разрыва магистрали. Он считает водой всё, что уходит за переборку, включая лёд в вакуум. Если я подпишу передачу по вашей цифре, то отдам запас в дыру.
— Ремезова, на «Ковчеге» люди без защиты.
— А у меня восемнадцать человек и мокрый иней на внешней стенке. Пришлите доказанный маршрут — отдам столько, сколько дойдёт. Пришлите приказ — сохраню воду.
Лена вывела пакеты рядом. «Сад» указывал давление в килопаскалях, «Ковчег» — в долях номинала, «Маяк» прислал температуру в кельвинах, командная секция — цветовые категории. Даже слово «резерв» означало разное: общий объём, доступный объём или остаток после неприкосновенного минимума.
Единое командование не могло возникнуть из единого голоса. Ему не на что было опереться.
— Я предлагаю двадцать минут без приказов, — сказала Лена.
— Отклонено, — сразу ответил Саранов.
— Тогда назовите местоположение седьмой секции.
— Мы ещё не закончили перекличку.
— Мы начали её вчера.
Она передала свою нулевую схему. Шесть меток: «Ферма», командная секция, «Сад», «Ковчег», «Маяк» и безымянный источник, от которого приходили координаты. Седьмое место оставалось пустым.
— В реестре корабля семь автономных секций, — продолжила Лена. — Я принимаю пять внешних передатчиков. Вместе с нами — шесть. Либо один источник скрыт наложением, либо кто-то не отвечает. Чтобы отличить одно от другого, нужны не команды, а исходные измерения.
— Что вы предлагаете? — спросил Платонов.
— Каждая секция передаёт один пакет по простому шаблону: локальное время, положение с оценкой ошибки, угловую скорость, остатки сред, состояние людей и перечень датчиков. Без пересчёта чужими системами. Получатель возвращает время приёма. Никто ничего не включает на основании первого пакета. Второй пакет подтверждает первый.
— За двадцать минут «Сад» потеряет ещё воду, — сказала Ника.
— Поэтому ваш первый пакет — расход с обеих сторон разрыва, если датчики доступны. «Ковчег» отвечает своей потребностью охлаждения. Пока это не передача воды, а проверка, существует ли маршрут.
— А кто принимает решение? — спросил Саранов.
— Владелец ресурса после открытого расчёта. Вы назначаете общую цель и срок. Для угрозы всем — запрашиваете подтверждение у каждой секции.
— Это совет, а не экипаж.
— Сейчас у нас даже совета нет.
Саранов не отвечал восемь секунд. В эту паузу успел прийти пакет от «Сада»: две кривые расхода и снимок внешней стенки. Потом «Ковчег» передал температуру своего экрана. Ника не ждала разрешения, но и не открывала клапан.
Лена наложила кривые. Утечка на «Саде» была импульсной: расход возрастал при каждом включении насоса. Значит, трещина могла находиться не в резервуаре, а в напорной ветви. Если снизить давление, они выиграют время.
— Ника, у вас есть обходной насос малого контура?
— Есть. Он питает корневые кассеты, не жилой блок.
— Переведите кассеты на самотёк на девяносто секунд и дайте пробу малого контура. Если внешний иней перестанет расти, резерв цел.
— Если кассеты встанут, мы потеряем урожай.
— За девяносто секунд?
— Не урожай. Калибровку подачи. Потом шесть часов выравнивать раствор.
Вот она — цена, которой не было в командной таблице. Для Саранова насос был насосом, вода — водой. Для Ники остановка означала не цифру, а работу и будущую пищу.
— Решать вам, — сказала Лена. — Но проба покажет, можно ли вообще отделить резерв от утечки.
— Проведу на шестьдесят секунд. Передаю начало по своим часам.
Саранов вклинился:
— Согласовано. После пробы готовьте двести литров к передаче.
— Не согласовано, — отрезала Ника. — После пробы готовлю данные.
На «Ферме» щёлкнуло реле. Лена вздрогнула и увидела новый запрос — теперь на ориентационные двигатели. Автоматика предлагала подтвердить общий режим стабилизации. В поле расчёта стоял идентификатор командной секции, но приложенные векторы относились только к четырём модулям.
— Не подтверждай, — сказал Максим.
— Я и не собиралась.
— Я хотел почувствовать себя частью управления.
Лена отклонила запрос и приложила причину: неполный набор исходных данных. Через секунду Саранов спросил:
— Почему «Ферма» блокирует стабилизацию?
— Потому что вы рассчитали её без двух секций.
— Без одной. Неопознанный источник совпадает с грузовой платформой по вектору.
— Совпадает в вашей системе координат. Пришлите сырые дальности.
— Ветрова, пока мы сверяем определения, модули расходятся.
— Именно поэтому ошибка будет стоить дороже с каждой минутой.
Максим тихо постучал ногтем по планшету. На нём мигало уведомление из локального реестра: для режима стабилизации требовались два ключа. Один принадлежал инженеру динамики — Лене. Второй был закреплён не за командиром, а за дежурным специалистом каждой секции.
— Они специально сделали так, чтобы ты не могла согласиться одна, — сказал он.
— И чтобы я не могла отказаться одна.
— Удивительно зрелое отношение к людям.
— К ошибкам.
Она отправила Саранову выдержку из реестра. Затем добавила общий шаблон пакета, нумерацию версий и правило: любое вычисление должно ссылаться на исходные сообщения, чтобы его можно было повторить на другой секции.
— Назовём это временным протоколом, — сказала она. — Срок — двадцать минут. Он не отменяет ваших полномочий. Он показывает, что именно люди смогут исполнить.
— А если секция откажется передавать данные?
— Тогда остальные знают, какого знания у них нет.
— А если откажется выполнять решение?
Ответила Ника:
— Тогда вы узнаете это до того, как сведёте нас на встречных курсах.
Шац с «Маяка» предложил добавить остаток времени до необратимого порога. Платонов — разделить состояние людей и состояние систем, чтобы не прятать пациента за зелёным статусом модуля. Неопознанный источник впервые представился: навигационная секция «Вектор», Тимур Асанов, пять бодрствующих. Он потребовал передавать ковариацию ошибки, а не одну красивую координату.
Шесть секций начали спорить о полях таблицы.
Это был лучший спор за всё время после пробуждения.
Лена собирала предложения в первую версию. Саранов молчал, но его командный сертификат подписал выделение отдельного канала под пакеты. Не согласие — действие. Через минуту эфир очистился: голоса остались на общей частоте, данные пошли отдельно.
Проба «Сада» закончилась. Ника передала две кривые. При отключении большого насоса внешний расход упал почти до нуля.
— Резервуар цел, — сказала Лена. — Повреждена напорная ветвь.
— Вижу.
— Можете изолировать её до тройника?
— Если доберусь до ручного клапана. Там сейчас иней и нет обогрева.
— Сколько времени?
— Двадцать пять минут на подготовку. Пять на работу. Если клапан не заклинило.
Платонов прислал уточнённый расчёт. «Ковчегу» требовалось не двести литров, а сто десять — при условии, что экран переведут в циклический режим и получат дополнительную мощность от «Маяка». Шац подтвердил доступность энергии на сорок минут, но только после отключения своего дальнего передатчика.
— Тогда мы потеряем один ретранслятор, — сказал Саранов.
— Не потеряем, — ответил Шац. — Будем включать его на три минуты из десяти. Если расписание наконец начнёт работать.
Вода перестала быть приказом. Она превратилась в цепочку условий, которую мог проверить каждый участник. Ника согласилась подготовить сто двадцать литров после изоляции ветви. Десять оставались запасом на потери. Платонов подтвердил, что этого достаточно на восемь часов.
— Решение принято, — объявил Саранов.
— Решение собрано, — поправила Ника.
— Результат один.
— Пока да.
Лена не вмешалась. Её занимала пустая строка.
Пакеты пришли от «Фермы», командной секции, «Сада», «Ковчега», «Маяка» и «Вектора». В реестре «Галилея» значились ещё «Игла» и радиаторно-наблюдательная секция «Линза». Названий было восемь, если считать командную отдельно, но схема автономности объединяла командную секцию с «Линзой» в одном корпусе. После раскрытия они должны были остаться единым узлом.
По данным Саранова, они не остались.
— Командир, пришлите конфигурацию вашей секции, — сказала Лена.
— Она уже в пакете.
— Там нет «Линзы».
— Наблюдательный отсек обесточен. Он числится в составе командного корпуса.
— Физически?
Саранов не ответил.
Лена подняла запись первого вращения «Фермы». Один из дальних огней тогда двигался против звёзд. Они приняли его за самостоятельный модуль. На следующем обороте он исчез за россыпью обломков. Если это была «Линза», внешних корпусов действительно семь: шесть говорящих и один тёмный.
Она запросила пассивный радар за весь период. Слабая отметка появлялась каждые четыреста восемьдесят две секунды, но уже не там, где её ожидала программа сопровождения. Объект уходил ниже плоскости разлёта. Ответчика не было.
— Саранов, когда вы в последний раз получали данные из наблюдательного отсека?
— До пробуждения.
— После разделения?
— Нет.
— Люди?
— По штатному расписанию двое.
В общей частоте стало тихо. Даже задержки будто исчезли.
— Почему их не было в ваших сорока семи? — спросила Ника.
— Потому что я считал подтверждённых.
— А командовали всеми.
— Я отвечаю за всех.
Голос Саранова впервые потерял ровность. Не сорвался — стал тяжелее, словно каждое слово теперь приходилось удерживать отдельно.
Лена внесла тёмную отметку в схему. Дальность была ненадёжной, скорость — ещё хуже. Но совпадение по периоду и углу давало достаточно, чтобы начать поиск.
— «Ферма» передаёт предполагаемый сектор «Линзы», — сказала она. — Всем секциям: пассивное наблюдение, никаких импульсов без согласования. Возвращайте сырые отметки, даже одиночные. Не усредняйте.
— Это приказ? — спросил Шац.
Лена посмотрела на таблицу ключей, на кривые воды, на неподтверждённый запрос тяги. Потом — на пустое место, где находились двое людей, пока не доказано обратное.
— Нет. Это способ их найти.
Первой ответила Ника:
— «Сад» принял. Отдам левую камеру на поиск после изоляции клапана.
Платонов подтвердил обзор из тени «Ковчега». «Вектор» запросил исходную запись и начал уточнять траекторию. Шац назначил окна ретранслятора.
Последним пришёл пакет командной секции. В нём не было голоса. Только подпись Саранова под временным протоколом и новый приоритет задачи:
ПОИСК СЕДЬМОЙ СЕКЦИИ. ЛЮДИ — 2. СВЯЗЬ — НЕТ.
Максим прочитал строку с её экрана.
— Значит, теперь у нас есть командование?
Лена следила, как вокруг тёмной метки появлялись сектора обзора — шесть разных углов, шесть часов, шесть наборов ошибок.
— Нет, — сказала она. — Теперь у нас есть общее неизвестное.
На следующем обороте слабая отметка не появилась.
Глава 3. Пустой импульс
Тимур Асанов не доверял точкам, которые появлялись лишь на одном экране. На его навигационном столе «Линза» существовала сразу в шести несовпадающих версиях: слабое пятно у «Фермы», провал звёздного поля у «Сада», короткая дуга на радаре «Ковчега», две пустоты и расчёт Лены, отмеченный честным словом «предположение».
Он наложил версии друг на друга и получил серый лепесток. В одном конце могли находиться двое живых. В другом — ничего.
— «Вектор» принял сырые отметки, — сказал Тимур в общий канал. — Но искать сектором нельзя. Мы найдём там тысячу причин потратить топливо.
Саранов ответил почти без задержки:
— Назовите одну причину не искать людей.
— Топливо, — сказал Тимур. — И ложная уверенность. Это две.
Он говорил из кресла второго пилота. Первое пустовало: командир секции погиб при раскрытии, ударившись о переборку до того, как ремни натянулись. Остальные четверо бодрствующих работали в соседних отсеках, и каждый звук оттуда проходил через корпус: частые удары насоса, скрежет ручного привода, кашель механика Лады. «Вектор» сохранил двигательный блок, баки и навигационную рубку, но потерял обзорные камеры правого борта. Лететь он мог. Смотреть — только половиной глаз.
— Дайте задачу, которую можно проверить, — продолжил Тимур. — Тогда я отвечу, сколько она стоит.
В канал вошла Лена:
— Сначала докажите исходную траекторию «Линзы». Если она отделилась штатно, у неё был импульс увода. Его величина записана в вашей таблице разделения.
— Таблица повреждена.
— Пироболты телеметрировали фактическое время срабатывания.
— На общем журнале дыра.
— Не на общем. На локальных контроллерах.
Тимур замер, удерживая пальцы над экраном. Он уже опрашивал контроллеры кормового кольца и получил тридцать один ответ из сорока восьми. Но искал отказы, а не последовательность разделения. Хороший навигатор видел путь там, где другие видели положение. Сейчас инженер напомнила ему, что путь корабля начался не после аварии.
— Нужны часы секций, — сказал он. — Не поправленные. Вместе с дрейфом.
— Они уже в протоколе, — ответила Лена.
— Тогда не мешайте двадцать минут.
Саранов спросил:
— А потом?
— Потом я либо дам вам коридор, либо докажу, что коридора нет.
Тимур закрыл голосовой канал, оставив приём пакетов. Тишина продержалась четыре секунды. Затем посыпались данные: «Ферма», «Сад», «Ковчег», «Маяк», командная секция. Последним пришёл пакет «Иглы», короткий и сильно сжатый. «Линза» молчала.
Он построил шкалу не по корабельному времени, а по физическим событиям. Первый пироболт оставил одновременно три следа: падение напряжения, ударную волну в корпусе и изменение угловой скорости. Часы могли лгать на секунды, датчики — ошибаться, но одно событие не могло произойти в трёх разных порядках. Тимур связал отметки в цепочку и начал двигать шкалы, пока противоречия не стали минимальными.
— Тебе что-нибудь говорит «пустой импульс»? — спросил он.
— Команда на клапан без давления.
— Здесь — команда двигателю с нулевой длительностью. Контроллер её принял, проверил ключ и ничего не сделал.
— Значит, всё хорошо.
— Значит, кто-то хотел, чтобы двигатель ничего не сделал.
На шкале перед самым раскрытием стояло обращение к системе ориентации всего корабля. Команда требовала отменить пакет манёвра, но не содержала номера пакета. Старый контроллер истолковал отсутствие номера как нулевое значение, подтвердил допустимость и завершил операцию без изменения очереди. Формально — успех. Физически — пустота.
Лада склонилась к экрану.
— Чей ключ?
Подпись была короткой: EV-04.
Тимур знал обозначение Лены Ветровой. Все в проекте знали: её ключ стоял под таблицами нагрузок, ограничениями стыковки и половиной аварийных процедур.
— Пока ничей, — сказал он и убрал строку из общего вида.
— Это теперь так называется?
— Пока не восстановлен объект отмены. Если показать одну строку, Саранов решит, что Ветрова сорвала манёвр. Если спрятать навсегда — решит кто-нибудь другой и без нас. Мне нужно понять, что именно отменяли.
Тимур вернул строку в рабочий слой и поставил рядом красный флаг: «не интерпретировать».
Пироболты срабатывали не одновременно. Первым отделился «Маяк», затем «Игла», через три десятых секунды — «Сад». Командный корпус и «Линза» должны были разойтись последними, причём наблюдательный отсек получал поперечный толчок от четырёх малых пиропатронов. Следы всех четырёх нашлись в датчиках деформации. Взрыва не было. Было раскрытие, исполненное с точностью, которой авария не заслуживала.
Тимур отправил промежуточный вывод всем секциям.
РАЗДЕЛЕНИЕ ШТАТНОЕ. ПИРОУЗЛЫ 37/37. ПРИЗНАКОВ ВНЕШНЕГО УДАРА ДО РАСКРЫТИЯ НЕТ.
Саранов немедленно вызвал его.
— Вы утверждаете, что корабль сам себя разобрал?
— Я утверждаю только то, что написал. Все доступные пироболты сработали по штатной последовательности.
— Причина запуска?
— Журнал повреждён.
Лена была в канале, но молчала. Тимур видел её метку приёма.
— Асанов, — сказал Саранов, — мне не нужен дипломатический отчёт. Мне нужно понять, кто отдал команду.
— Тогда вам нужен восстановленный журнал. У меня пока есть последствия.
— Продолжайте.
Тимур отключился и заметил, что красный флаг у пустого импульса исчез. Строка оставалась, но его пометка была снята удалённым обновлением. По протоколу править чужие пометки никто не мог. Он проверил историю: флаг создался в локальном слое и исчез при объединении, потому что пакет с «Фермы» объявил более раннюю версию строки канонической.
Не взлом. Ошибка их нового порядка: при равном приоритете побеждала запись с меньшим номером версии, даже если поздняя добавляла только примечание.
Тимур восстановил флаг и рядом написал правило слияния. Через минуту Лена прислала исправление схемы реестра. Без комментария.
— Вы видите ключ? — спросил он по закрытому каналу.
Пауза была длиннее световой задержки.
— Вижу.
— Что вы отменяли?
— Не знаю, какой пакет был в очереди.
— Я спросил не это.
— А я ответила ровно настолько, насколько позволяет журнал.
Тимур развернул перед собой историю команд. После пустой отмены шёл запрос состояния пироцепей, затем двенадцать секунд ничего, затем запуск раскрытия от закрытого системного процесса. Ключ Лены больше не встречался.
— Команда подана за сорок одну минуту до разделения, — сказал он. — До первого зарегистрированного отказа. Вы не могли реагировать на аварию.
— Да.
Одно короткое слово изменило задачу. До него Тимур искал техническое объяснение. После него появился человек, который знал об опасности заранее.
— Почему вы молчите в общем канале?
— Потому что строка не говорит, что я знала об опасности. Она говорит, что мой ключ вызвал отмену без указанного объекта.
— И вы хотите дождаться журнала.
— Я хочу, чтобы обвинение можно было проверить.
— Это не обвинение. Это вопрос.
— У Саранова вопросы быстро становятся полномочиями.
Тимур посмотрел на серый лепесток «Линзы». Где-то внутри него двое людей могли считать остаток воздуха и не знать, что их ищут. Он мог передать строку командиру сейчас. Спор поглотил бы канал, но, возможно, заставил Лену назвать цель. Мог скрыть её до конца восстановления и сохранить рабочий порядок. Оба решения казались практичными. Оба делали его владельцем чужой правды.
— Я внесу строку в общий журнал с флагом неопределённости, — сказал он. — Через пять минут.
— Это ваше право.
— Нет. Это способ не делать право из владения данными. За пять минут дайте мне номер пакета.
Лена не ответила.
Тимур вернулся к траекториям. Если «Линза» получила штатный толчок, её искали не там. Слабая отметка у «Фермы» была настоящей лишь на первом обороте; дальше расчёт сопровождения подменил измерение прогнозом и стал честно подтверждать собственную ошибку. Он удалил все синтетические точки. Серый лепесток распался на три узких коридора.
Первый вёл к россыпи обломков и требовал от «Вектора» двадцать два килограмма рабочего тела для сближения. Второй проходил за «Маяком», где помехи делали наблюдение почти бесполезным. Третий уходил ниже плоскости разлёта — туда, где объект видели в последний раз.
Но ни один не совпадал с расчётным импульсом четырёх пиропатронов.
Тимур проверил массу «Линзы». Реестр и загрузочная ведомость расходились на сто килограммов — допустимая ошибка для израсходованных запасов. Тогда почему траектория не сходилась?
— Лада, мне нужны графики тяги наших пиропатронов с холодных испытаний.
— Они не наши. Узлы остались на корпусах.
— Мне нужны паспортные отклонения.
— В навигационном архиве.
— Там среднее.
— Хочу перестать считать четыре разных заряда одним идеальным, — пояснил Тимур. — Спроси «Ферму»: Ветрова получала фактические кривые для модели нагрузок.
Тимур отправил запрос открыто. Лена ответила файлами. Четыре кривые имели разный фронт, но суммарный импульс отличался от паспортного меньше чем на процент. Он подставил их в модель. Коридоры сдвинулись, не сошлись.
На шестой минуте после обещанного срока Саранов увидел пустую отмену в общем журнале.
— Ветрова, объясните подпись, — потребовал он.
— Подпись подтверждает вызов функции отмены, — сказала Лена. — Номер отменяемого пакета отсутствует. Контроллер ничего не изменил.
— Зачем вы вызывали функцию до аварии?
— Чтобы отменить команду, которой не должно было быть в очереди.
— Какую?
— В повреждённой части журнала.
— Вы её видели.
— Да.
— Назовите.
Лена снова замолчала. В общем канале появились отметки присутствия других секций. Никто не говорил, но теперь слушали все.
Тимур открыл рот, чтобы вернуть разговор к траектории, и услышал короткий сигнал локальной автоматики. Его модель закончила перебор нештатных масс. Совпадение нашлось при условии, что после отделения «Линза» дала собственный импульс — малый, направленный вниз и против вращения.
— Стоп, — сказал Тимур. — Она маневрировала.
Саранов не сразу переключился:
— Кто?
— «Линза». Пиропатроны дали штатный толчок. Через тридцать — пятьдесят секунд секция включила ориентацию и изменила плоскость. Поэтому мы потеряли её за обломками.
— Автоматика?
— Проверяю.
Тимур поднял телеметрию командного корпуса. В момент предполагаемого манёвра один из его датчиков магнитного поля зарегистрировал короткую помеху. Она могла быть выбросом преобразователя «Линзы». «Ферма» видела такую же помеху с другой амплитудой. По отношению амплитуд Тимур получил расстояние, по времени — окно. Теперь след секции проходил только по третьему коридору.
— Манёвр был управляемым, — сказал он. — Или автоматическим по заранее загруженной программе. Но двигатель работал.
— Сколько до сближения? — спросил Саранов.
— На «Векторе» — четыре часа двадцать минут и восемнадцать килограммов рабочего тела до гарантированного возврата. Это треть нашего манёвренного запаса.
— Летите.
Тимур посмотрел на подтверждение команды. Локальный ключ оставался у него. Прежний корабль принял бы распоряжение командира и начал подготовку. Разделённый требовал ещё четырёх рук, четырёх согласий и расчёта обратного пути.
— Сначала два пассивных наблюдения, — сказал он. — «Маяк» увидит коридор через семь минут, «Сад» — через девять. Если они подтвердят, я начну манёвр.
— Там двое.
— Именно поэтому я не стану промахиваться быстро.
Саранов выдохнул так близко к микрофону, что шум прошёл по всем секциям.
— Протокол даёт вам местное вето. Используйте. Но если окно закроется…
— Окно не закроется девять минут. Это тоже можно проверить.
Первым ответил «Маяк». Его слабый оптический датчик увидел не корпус, а периодическое затмение звезды. Отметка легла в третий коридор. «Сад» задержался: Ника отдала камеру на поиск только после того, как техник добрался до клапана. На восьмой минуте она прислала три кадра. На втором среди белых точек лежал чёрный прямоугольник, едва заметно повернувшийся.
— Подтверждение два, — сказал Тимур. — Готовим манёвр.
Остальные доложили о герметичности и фиксации грузов. Тимур построил импульс к будущей точке пересечения, оставив резерв на ошибку массы «Линзы» и собственную неисправную ориентацию.
— «Ферма», — вызвал он. — Проверьте нагрузки на стык двигателя и жилого блока.
— Получила, — ответила Лена.
Через минуту пришло её разрешение с ограничением тяги до шестидесяти двух процентов. Тимур сравнил расчёт с исходными данными, подписал локальным ключом и передал всей сети. «Сад» и «Ковчег» подтвердили отсутствие риска пересечения. «Маяк» назначил окна связи. Командная секция поставила подпись последней.
Двигатель включился мягко. Кресло надавило Тимуру в спину, по панели пробежала мелкая дрожь. На экране траектория «Вектора» коснулась коридора «Линзы» и потянулась рядом.
— Импульс устойчив, — сказала Лада.
— Семнадцать секунд.
На четырнадцатой секунде нагрузка качнулась. Тимур убрал тягу на два процента, сохраняя направление. На семнадцатой двигатель отключился. Звук насосов остался прежним, но корабль уже шёл в другое место.
Он отправил фактическую кривую в общий журнал. Только после этого заметил личный пакет от Лены.




