12+
Жалоба не найдена

Электронная книга - 100 ₽

Объем: 48 бумажных стр.

Формат: epub, fb2, pdfRead, mobi

Подробнее

Глава 1. Закрыто автоматически

В 08:43 на экране Ники Даниловой появилась сорок седьмая жалоба на лифт.

Через минуту система пометила её дубликатом и закрыла.

Ника заметила не саму карточку, а цифру в углу: очередь после ночного обновления стала короче на двенадцать процентов. Кто-то уже успел вынести результат на главный экран теста. В служебном чате поставили зелёную отметку и написали: «Фильтр чистит повторы».

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

В «Меридиане» сервис называли умной очередью. На городских панелях светились схемы: жильцы отправляют сигнал, программа находит бригаду, мастер приезжает. В старых домах всё шло иначе. Контроллеры не умели передавать точный адрес, поэтому заявки попадали в ручной шлюз. Они запаздывали на несколько минут, а в сводке потом выглядели так же гладко, как новые.

Ника выключила проекционный слой на стекле. Цветные метки исчезли, остались строки и время:

DUP-8841 — «устранено» — 08:44:12.

В карточке было написано: «Лифт стоит с пятницы. На седьмом этаже живёт женщина после операции. Сегодня снова не смогла выйти на приём». Адрес относился к Печатников, 41, корпус 2.

Связанная запись была из другого района: «Мусоропровод, дом 14, корпус 1. Устранено. Закрыть дубль».

Ника открыла карту. Между домами лежали река, мост и девять километров улиц. Она сверила координаты, потом номер корпуса. Никакой опечатки.

— Да ладно, — сказала она.

В карточке нашлась кнопка «оспорить объединение». Ника выбрала причину «разные адреса», добавила координаты и отправила запрос. Система подумала секунду и вернула: «Отдельная жалоба не найдена. Обращение присоединено к существующему случаю DUP-8841. Повторная отправка не требуется».

Она посмотрела на эту фразу дольше, чем требовалось. Из колонок у соседнего стола доносился негромкий джаз; кто-то пил кофе, кто-то ругался на задержку выплат. Мир продолжал работать, пока программа уверенно закрывала чужую неисправность.

Под карточкой имелась ссылка на цепочку обработки. Ника нажала. Вместо журнала появилось: «Сведения удалены после подтверждения результата». Имени не было. Не было и файла, который подтверждал бы ремонт. Оставались зелёная галочка и время.

Она открыла статистику события. Сорок семь обращений, семь адресов, тринадцать дней. Четыре наряда значились закрытыми. Ни один не подтверждал, что все семь лифтов заработали.

Люди писали по-разному. Кто-то прикладывал фото кнопки вызова, кто-то отправлял голосовое. В одной заявке было всего два слова: «Снова стоит». Большинство старых записей уже нельзя было открыть: исходные аудиофайлы исчезли по сроку хранения. Остались транскрипты без пауз, вздохов и шума лифтовой двери.

Ника сама подписывала регламент тестовой среды: семь дней хранения вместо четырнадцати. Тогда это казалось достаточным. В рабочей системе срок был другим, но доступа проверить, кто его менял, у неё не было.

Она позвонила Олегу Маркину из аварийной службы.

— Печатников, сорок один, корпус два. Есть наряд за прошлую неделю?

На том конце послышался скрип ящика и шелест бумаг.

— На лифт? Сейчас посмотрю. Папки опять переехали.

Олег нашёл лист не сразу. В электронном архиве робот пометил его как «служебный шум». Бумажный журнал, похоже, переживал очередную миграцию лучше цифрового.

— Есть, — сказал он. — Двадцать третьего приняли заявку, выезд перенесли. Двадцать пятого приехали, запчасть не подошла. Потом отметка, что ждём новую. Закрытия нет.

— Почему это не видно в «Своде»?

— Там написано, что у вас мусоропровод.

Он прислал снимок наряда. Синяя ручка, штамп мастерской, подпись дежурного и номер лифта. Ника не стала увеличивать поле с фамилией мастера. Сохранила копию в тестовую папку и открыла журнал версии фильтра.

Обновление поставили ночью в воскресенье. В списке изменений обнаружился параметр для карточек контрактного пилота. Он связывал обращения по обслуживающей организации, когда адрес не проходил через обменный пакет. Параметр ещё не объяснял всего: почему адреса исчезли и кто закрыл родительскую запись, было неясно. Но это был первый след, который можно было проверить.

Самого согласования в журнале не было. Только название группы доступа: CONTRACT-PILOT.

В 09:16 пришло сообщение от Артёма Сергеевича, руководителя Ники: «Не отвлекайся на карточки. Фильтр работает штатно. Нужен PASS до двенадцати».

Она ответила: «Семь адресов сведены в один случай. Нужны исходные журналы и основание для нового правила».

Сообщение осталось непрочитанным.

Ника вернулась к списку. Дома стояли в разных районах; не совпадали подъезды, обслуживающие смены и даты ремонтов. Их связывало только участие в пилоте по передаче управления частному оператору. Пилотные адреса выбрали из-за старых контроллеров и большого потока заявок. В презентации они назывались «цифровыми кварталами». На карте кварталы заливала синяя подсветка; на земле половина этих домов по-прежнему жила с бумажными табличками у лифта.

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

В 09:29 рабочая панель вывела служебное уведомление: «Исходные вложения доступны только владельцу процесса. Для проверки запросите обезличенную копию через аудит».

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

Глава 2. Короткий путь

К десяти часам Ника успела сохранить время создания карточек, время закрытия, номера событий и контрольные суммы вложений. Адреса она вынесла из общей таблицы в закрытый раздел: для проверки совпадений хватало районов и типов неисправности.

Этого всё равно было мало. Снимок наряда, который прислал Олег, подтверждал один незавершённый ремонт. Он не объяснял, как семь домов оказались в одном событии.

По регламенту полный аудит занимал пять рабочих дней. Презентацию подрядчика назначили на завтра, а голосование по контракту — через неделю. Запаса почти не оставалось, но данные ещё можно было успеть проверить.

Срочное обращение просило указать, чем опасна задержка. Ника не стала выбирать «угроза жизни» или «системный сбой»: первое она не могла доказать, второе ещё не проверили. Она написала, что жителям отправили сообщение о завершении работ, хотя ремонт в нескольких домах не подтверждён.

Нажала «ускорить рассмотрение».

Через три секунды пришёл отказ: «Основание уже рассмотрено в рамках случая DUP-8841».

Ника коротко засмеялась. Получилось, что жалобу о неверном объединении отклонили как повтор самого объединения.

В тестовой панели был безопасный набор вымышленных карточек. Она взяла две одинаковые фразы, поменяла адресные зоны и тип неисправности, затем отправила их через тот же маршрут, которым пользовались жители. На экране появился идентификатор тестового случая SIM-2718.

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

В 10:22 позвонила Самира Исмаилова. Её номер открывался через штатный канал уточнений, который скрывал личные данные абонентов друг от друга.

— Вы Ника? Мне сказали, вы разбираетесь с закрытыми заявками.

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

— В нашем доме лифт стоит с пятницы. Я отправила заявку два раза. Второй раз приложила табличку с номером лифта, а мне ответили, что вопрос решён.

— Писали, кто проверял и когда?

— Нет. Пришло: «Работоспособность подтверждена». На двери объявление, что ждут запчасть. Хотите, сфотографирую?

— Только объявление и дату. Не снимайте людей и квартиры.

Самира помолчала.

— А вы сами можете что-нибудь сделать?

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

— Могу сохранить противоречие между двумя записями и передать его аудиторам. Ремонт от меня не зависит.

— Понятно. Тогда я буду у стенда в подъезде. Там висит наряд, который ваше приложение считает выполненным.

Стенд стоял у входа в корпус. За мутным пластиком висели объявления о собрании, пропавшем ключе и ремонте лифта. Самира указала на бумагу с номером наряда. Внизу от руки было добавлено: «Ожидает деталь. Повторный визит — 26-го».

В цифровой карточке значилось: «Обслуживание выполнено. Замечаний нет».

Ника сфотографировала только номер и дату. Форма аудита ответила: «Документ не подтверждает наличие неисправности».

Она уже закрывала окно, когда заметила внизу код маршрута: review-route: contract-pilot. Заявки из пилотных домов попадали на одну проверку, даже если относились к разным работам. Это не доказывало ни умысла, ни ошибочного закрытия. Но объясняло, почему карточки могли встретиться в очереди.

К полудню ей предстояло подтвердить результат теста. В последнем пункте чек-листа спрашивали: «Проверены ли выводы независимым источником?» Рядом располагались две кнопки. Зелёная принимала отчёт, жёлтая возвращала его руководителю и требовала пояснения.

Утром Ника уже написала PASS на черновике. Теперь курсор застыл над зелёной кнопкой.

Телефон завибрировал:

«Напоминание по защите данных: не прикрепляйте сведения о жильцах к общим сообщениям. Используйте аудиторскую карточку».

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

Перед полуднем она всё же отправила отчёт руководителю на согласование, отметив итог как «не подтверждено». Жителей она не стала прикладывать к общей карточке: данных для этого пока не было.

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

Глава 3. Бумага помнит

Олег Маркин встретил Нику в бывшей комнате для запасных деталей. На стенах ещё остались крючки от инструментов; под потолком шёл кабель к новому считывателю пропусков. Если сеть пропадала, цифровой ключ не открывал аварийный склад. Поэтому у Олега в столе лежал механический.

Он не предложил ей сесть. Раскрыл синюю папку и вынул три наряда.

— Смотри, это разные даты, — сказал он. — Двадцать третьего приняли заявку. Двадцать пятого выехали. На месте выяснилось, что деталь не подходит. Заказали другую.

В цифровой карточке все три события превратились в одну строку: «Работа завершена».

— Кто добавил отметку?

— Не знаю. Журнал смены этого не показывает. Сначала пришёл общий номер от пилотной диспетчерской, потом карточка закрылась.

Ника попросила сфотографировать только дату, номер наряда и статус запчасти. Олег сам прикрыл листком фамилию жильца, а телефон мастера зачеркнул пальцем.

— Вот это уже похоже на работу, — сказал он. — Обычно ваши сначала всё снимают, потом вспоминают, что там чужие данные.

Она не ответила. Снимок совпал с квитанцией Самиры. Две разные записи — одна от жителя, другая из аварийной службы — расходились с отметкой «устранено».

— У остальных домов есть такие же бумаги?

Олег посмотрел на закрытую папку.

— Есть журналы. Но я не могу отдать их без разрешения. На страницах имена и номера квартир.

— Мне и не нужны. Хватит адресной зоны, вида работ, дат, статуса выезда и подтверждения.

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

Ника открыла форму и перечислила поля: адресная зона без квартиры, тип неисправности, время регистрации, выезда и закрытия, статус запчасти, способ подтверждения. Отдельной строкой указала, что не просит имена, фотографии жильцов или голосовые файлы.

— Срок? — спросил Олег.

— Два дня по регламенту.

— До заседания?

— Нет.

Он нажал электронную подпись. На экране возникла квитанция AUD-1904.

Вернувшись к себе, Ника сопоставила открытые статусы с реестром пилота. Семь адресов из DUP-8841 действительно входили в проект. Само по себе это ничего не доказывало: пилот специально выбрал дома, где старые контроллеры создавали длинные очереди. Но если все обращения склеить в родительскую карточку, ежедневная статистика становилась аккуратнее.

Она написала в заметке: «Выглядит выгодно». Потом стёрла. Выгода ещё не означала, что кто-то подстраивал результат.

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

Ника не стала добавлять это в отчёт. Она вспомнила об этом только сейчас, когда увидела, как серые дома превращались на карте в ровную заливку.

В 14:06 Артём вернул на доработку её отчёт по тесту и оставил комментарий: «Показатель выполнен. Расхождения относятся к классификации. Не задерживать выпуск».

Ника открыла последнюю строку чек-листа: «Результат подтверждён независимым источником?»

Ответ был «нет». Копия наряда подтверждала, что как минимум один ремонт не завершился. Она внесла это в отчёт. До отправки запроса Ника сохранила из обзорной панели разрешённый снимок строки конфигурации — без истории изменений и персональных полей — и зарегистрировала пакет в аудиторском контуре. Через несколько минут её доступ к журналам пилотного фильтра закрылся.

Не ко всем данным. Только к истории изменения параметров и времени их применения. На панели высветилось: «Запрос передан руководителю. Срок ответа — пять рабочих дней».

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

ignore-location-if-contract-pilot = true.

Строка подтверждала, что флаг включён. Но снимок не показывал, когда его установили и какие карточки он затронул.

Глава 4. После блокировки

Во вторник утром экран Ники открывался пустым. Пропуск по-прежнему работал в лифте и у турникета; пропал только доступ к пилотной очереди. На месте списка задач висело: «Данные недоступны. Обратитесь к владельцу процесса».

Артём Сергеевич остановился у её стола.

— Ты отправила материалы аудиторам?

— Да. Номер AUD-1904. Олег приложит обезличенную выгрузку, когда начальник согласует.

— А распечатка?

— Осталась в аудиторском контуре. Я отправила контрольную сумму и копию уведомления о блокировке.

Артём не сел. Ника заметила, что он смотрит не на неё, а на закрытую панель.

— Ты уже называешь эту строку параметром и говоришь, что она свела семь адресов, — произнёс он. — Мы пока не знаем, где её включили и что ещё сработало.

— Ты прав. В отчёте оставила только наблюдаемое.

Она открыла черновик и показала ему: «В выгрузке присутствует параметр, связанный с контрактным пилотом. Его влияние на группировку проверяется».

Артём прочитал.

— Так точнее.

Бесплатный фрагмент закончился.

Купите книгу, чтобы продолжить чтение.