18+
реклама
18+
Бургер менюБургер меню

Антон Абрамов – Фантомная отметка (страница 9)

18

— Должен?

— Должен, — повторил он. — А сейчас, как видите, не живёт.

Таисия опустила взгляд на хвост пакета. Секунды шли всё те же: 03:14:18, 03:14:19, 03:14:20. Старый формат высоты, старый транспортный заголовок, служебный мост между legacy-контуром и рабочей картой. Это уже не было похоже на случайный мусор, попавший в новый комплекс из плохо вычищенной папки. Мусор не открывает мост, не поднимает позывной из таблицы и не приходит по времени реального события.

— Покажите, кто открыл bridge_3, — сказала она.

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

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

Он отодвинулся и дал ей место у клавиатуры. Таисия быстро увеличила строку. В условии запуска стоял блок, который в текущей документации она не помнила:

meteo_profile / compare_archive / threshold: 0.91

Ниже шла ссылка на архивный кластер и длинный цифровой идентификатор события. В конце — тот же ручной тег: VE-3.

— Вы это видели раньше? — спросила она.

— Нет. В моей сборке этого демона нет.

— Значит, он живёт в наследуемом слое.

— И почему-то допущен до моста.

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

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

— Почему?

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

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

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

14.10 / 03:14

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

— Дайте наложение на текущую ночь.

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

— Девяносто четыре процента, — сказал он. — Вот почему компаратор проснулся.

— Он не проснулся сам. Его кто-то оставил ждать такой погоды.

Дамир посмотрел на неё и ничего не возразил.

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

— Нашли подпись? — спросила она.

— VE-3, — ответила Таисия. — Вам знакомо?

Инга положила папку на стол, раскрыла её на середине и подвинула к ним распечатку старого журнала.

— Знакомо. Это Ермолова.

В комнате стало тише, хотя вентиляция гудела так же.

— Валентина Ермолова? — уточнил Дамир.

— Да. На старых модулях она вела три контрольных контура. Первый для сухой погоды, второй для сложной воды, третий для редких сочетаний, когда система начинала врать красиво. Подписывала их по своим инициалам. VE-1, VE-2, VE-3.

Таисия посмотрела в журнал. Почерк был чёткий, узкий, без украшений. В графе комментария стояло: "VE-3 / не допускать в рабочую карту, только сравнение".

— Откуда у вас это? — спросила Таисия.

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

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

— Почему этот контур вообще оставили в системе? — спросил Дамир.

— Потому что Валентина никому не верила на слово, — ответила Инга. — Особенно фильтрам. После той ночи она добилась, чтобы опасные погодные сочетания сравнивались с архивом автоматически. Формально это называлось дополнительной диагностикой. По факту она оставила в комплексе память, которую нельзя выключить одной фразой на разборе.

Таисия подняла взгляд.

— После той ночи? То есть VE-3 собрали уже после катастрофы?

— Да. Он не вёл тот борт. Он должен был предупреждать о повторении условий.

— Тогда почему система подняла саму трассу, а не просто тревогу?

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

Инга промолчала. Её молчание было красноречивее согласия.

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

— Ермолова умерла три года назад, — сказала Инга, будто читая вопрос, которого никто не задал. — После её смерти старые контуры начали чистить пакетами. Часть вынесли, часть спрятали. VE-3, видимо, не убрали до конца.

— Или не захотели убирать, — сказала Таисия.

— Такое тоже бывает.

Дамир открыл журнал изменений, привязанный к bridge_3.

— Вот интереснее, — сказал он. — Контур поднимали при переносе в новую архитектуру не целиком, а кусками. Сначала компаратор, потом зеркало, потом... вот это совсем нехорошо.

— Что там?

— Таблица старых позывных была прицеплена как вспомогательная. Без этого архивная трасса не получила бы имя. Кто-то оставил старый словарь в контуре распознавания.

— Когда?

Он пролистал вниз.

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

Пять лет назад. Таисия невольно подняла глаза на Ингу. Та поняла без слов.

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

— Значит, её контур использовали после неё, — сказала Таисия.

— Или за её спиной, — добавил Дамир.

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

— Девяносто четыре — это средний коэффициент, — сказал он. — По К-12 совпадение выше. Вот почему мост открылся именно там.

— Значит, фантом не случайный, — сказала Таисия.

— Нет. Он сработал как контрольный след на повторение условий.