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








