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




