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












