Антон Абрамов – Охотник не стреляет (страница 3)
— Тут я с вами. В стрессовой смене «подтвердить» превращается в дыру. Туда падает всё.
Роман потёр переносицу и заметил, что если расписать каждую кнопку юридическим языком, оператор получит договор страхования вместо интерфейса.
— Не юридическим, — качнула головой Таисия. — Человеческим. Три строки.
Она набрала, и буквы легли на серый фон тяжелее, чем зелёное слово до них: действие — поражение цели; цена ошибки — гражданская метка в зоне; противоречие — акустика цели не совпадает с ударным профилем.
Глеб прочитал вслух и кивнул:
— Это можно понять.
— За сколько секунд? — прищурился Роман.
— За одну, если строка на месте.
— А если целей двенадцать?
— Тогда я тем более хочу знать, где среди них человек.
Лина подняла глаза от своей станции, по которой шёл поток реестров — гражданские борта, спасатели, служебные коптеры, старые маяки, забытые заявки.
— Можно цветом. — Голос у неё всё ещё спотыкался, но мысль была своя. — Красный — угроза, жёлтый — цена ошибки, синий — мягкое действие. Оператор видит главный риск сразу, текст раскрывается касанием.
Роман ткнул стилусом в схему:
— И ещё один слой поверх боевой карты.
— Это место для моей фамилии, — обронил Глеб.
Крайнов посмотрел на него с интересом:
— Поясните.
— Я ставлю подтверждение — в журнале остаётся «Назаров». Без строки о цене это читается как «Назаров согласился». А я хочу, чтобы журнал знал, с чем именно я согласился.
Таисия промолчала. Глеб говорил её языком, вообще-то считая этот язык лишним, и спорить с такой удачей не стоило.
Крайнов провёл ладонью по крышке стола:
— Хорошо. Кнопки переименовать. Но красный протокол за мной. Допустим, рой идёт на энергоблок. Связь с оператором рвётся. Медблок на резерве. «Охотник» видит цель с достоверностью девяносто пять. Гражданских меток в зоне нет. Он бьёт?
— Да, — ответил Роман без заминки.
Таисия открыла боковой блок:
— С оговоркой. Система обязана проверить, откуда взялась пустая зона. Гражданских меток нет — или умер канал, который их показывает? Это разные вещи.
— На экране результат один. — Крайнов не уступал. — Пусто.
— Для плохой системы — один. Для нашей — два. «Пусто, данные живы» и «пусто, данные потеряны».
Лина быстро внесла пометку и предложила выводить это как состояние среды — живая, неполная, отравленная.
— Отравленная? — переспросил Крайнов.
Таисия повернула к нему экран с логами полигона. Когда данные приходят с задержкой, с внедренным штампом, в удобной для модели форме — среда отравлена, объяснила она. В такой среде красная цель может быть настоящей. И ловушка тоже может быть настоящей.
Роман сухо заметил, что любую неопределённость можно довести до паралича. Глеб, не глядя на него, ответил, что любую уверенность можно довести до приговора, — и сам услышал, что вышло резче, чем хотел, и увёл взгляд к карте. Крайнов поднял руку, обрубая спор:
— Мне нужна рабочая схема. Без философского кружка.
Таисия взяла маркер и разнесла на прозрачной доске три столбца. Среда: живая — все каналы подтверждены; неполная — часть потеряна, выводы ограничены; отравленная — признаки подмены, задержки, ложного штампа, слишком удобных данных. Действие: мягкое — увод, посадка, сетка, подавление; жёсткое — поражение в безопасном секторе; окончательное — поражение при риске для людей или спасательной инфраструктуры. И подпись: автоматическая — при живой среде и чистой цели; ответственная — оператор, видна цена ошибки; командный обход — подпись начальника объекта, причина пишется в журнал до действия.
На словах «командный обход» лицо Крайнова застыло.
— Вы хотите, чтобы я лично подписывал отключение вашего режима.
— Да.
— В момент атаки.
— В момент атаки особенно.
— Это удар по скорости управления.
— Это удар по безымянности.
Глеб тихо присвистнул. Роман покачал головой и сказал, что командир будет смотреть не в журнал, а в небо.
— Командир посмотрит в одну строку. — Таисия не отступила. — «Обход приведёт к поражению без проверки гражданских данных». Сочтёт допустимым — подпись его.
Крайнов разглядывал доску. Раздражение держалось на лице крепко, но за ним работал рассудок: он был из начальников, что спорят до хрипа и при этом ловят каждую полезную фразу.
— Ладно. Командный обход — моя подпись. Но при атаке на энергоблок с временем меньше трёх секунд «Охотник» действует сам, если среда живая.
— Согласна, — кивнула Таисия.
Роман вскинул брови:
— Ты согласна?
— Чистая цель, живая среда, критический объект, окно меньше реакции оператора. Пусть действует. Я против слепой автоматики, не против быстрой.
— На экране это трудно различить.
— Поэтому мы здесь.
Лина вдруг застыла над клавиатурой:
— Странность в реестре.
Все повернулись к ней — с тем выражением, с каким в командном зале встречают новое повреждение мира.
— Говорите, — велел Крайнов.
— Гражданский канал подтянул список аппаратов для аварийной эвакуации. Один идентификатор прошёл через резервную базу и получил приоритет спасательной платформы. Запись выглядит исправной, но дата обслуживания стоит завтрашняя.
Роман подошёл к её станции, бросил на ходу — ошибка синхронизации.
— Возможно. — Лина не сдалась. — Только подпись техслужбы подлинная, а маршрут загружен через старый протокол. Аппарат идёт в группу медицинских доставок.
До этой секунды они спорили о правилах. Теперь правило пришло с именем. Таисия почувствовала, как сместился вес разговора, ещё до того, как Лина вывела карточку: «Белый-17», спасательная платформа среднего класса, груз — аварийный модуль питания, получатель — медблок «Гавани-9», статус допуска ожидает подтверждения.
На отдельном экране мигнул вызов медицинского модуля. Крайнов принял. Появилась Саида Акбарова — узкое лицо, тёмные круги, шапочка с эмблемой спасательной службы; за плечом кто-то катил каталку, кто-то спорил с генераторщиком.
— Крайнов, у меня третий блок на резерве. — Она обошлась без приветствия. — Нужен модуль питания. Наш борт задержан ветром, диспетчер дал замену — «Белый-17». Дайте ему приоритетный коридор.
— Запись в реестре с ошибкой.
— У нас всё с ошибкой, Игорь. — В её голосе не было ни капли просьбы. — Люди приехали промокшие до нитки, дети орут, старики мёрзнут, генератор кашляет. Почините вашу систему быстрее, чем сядет мой третий блок.
Связь дрогнула. Саида наклонилась к камере и добавила, что по северной дороге идёт колонна, но мост закроют из-за воды, и модуль нужен до закрытия причала — иначе эвакуационный зал станет складом тележек с пациентами. Экран погас. Никакой торжественности: жизнь предъявила накладную и потребовала подпись.
Роман открыл техкарточку «Белого-17» и предположил, что запись можно почистить, маршрут проверить, дату сбросить — скорее всего, старый буфер.
Лина качнула головой:
— У старого буфера грязь разная. А тут ошибка слишком удобная. Порт принимает аппарат, медканал просит приоритет, резервная база даёт старый протокол, дата выводит запись за предел проверки смены. Такая ошибка сама себя прикрывает.