퇴근망의 중앙 동기화 시험이 시작되기 한 시간 전, 나는 미지근한 김밥을 먹었다.
거창한 결전을 앞두고 먹기에는 참으로 소박한 식사였다. 하지만 속이 비어 있으면 판단도 쉽게 흔들린다. 나는 요즘 싸움 전에 식사부터 챙기기로 했다. 내 동료들이 나를 기억해 주는 만큼, 나 자신도 나를 돌봐야 했다.
오후 다섯 시. 서울, 부산, 대전과 또 다른 시범 구역의 현장 책임자들이 각각 연락망에 들어왔다. 참여할 의사를 밝힌 사람들만 있었다. 모든 사업장의 모든 근로자를 대표한다고 주장하지 않았다. 그저 지금 확인 가능한 사람을 안전하게 보호하기 위해 모인 사람들이었다.
남기혁 형사는 위험 자료를 확보한 사건의 현장 협조 절차를 정리했다. 한시우는 장비 공급 중지 통지와 정식 변경 요청을 확인했다. 강문석은 시험 장치에서 안전 종료 순서를 다시 검증했다. 진서아는 동의 문구에 대한 이의 제기와 복제된 서명 처리 방식을 담당했다. 오유나는 대기 주체의 상태를 기록하고 당사자의 중단 요청을 놓치지 않는 역할을 맡았다.
내 역할은 두 가지였다. 퇴근망이 자동 청구를 시작하는 순간의 상태를 읽는 것. 그리고 내 이름으로 찍힌 대리 계약을 내가 직접 승인한 적 없다는 사실을 증명하는 것.
“근데 기계가 안 믿으면 어떡하지?” 수진이 전화로 물었다.
“기계한테 믿으라고 설득하지 않을 겁니다. 실제로 누가 뭘 눌렀는지 증거를 남기고, 관련된 사람들이 바꿀 수 있는 절차를 확인하려고요.”
“개발자 말은 가끔 어렵네요.”
“저도 가끔 어렵습니다.”
수진이 웃었다.
유나는 종이에 참여한 현장 이름을 적었다. 그 옆에는 대기 인원과 상태 확인 담당자를 적었다. 숫자가 맞는지 두 번 대조한 뒤에야 종이를 테이블 가운데 놓았다.
“여기까지는 우리가 직접 확인한 사람들이야. 나머지를 모른다고 없다고 생각하면 안 돼.”
강문석은 각 지역 장비의 시계가 서로 다르다는 점을 강조했다. 서울의 오후 여섯 시는 부산 시험 구역의 오후 다섯 시 마흔두 분과 같은 순간이 아니었다. 지금 중앙에서 진행하려는 것은 여러 지역의 시계를 똑같이 만드는 일이 아니라, 서로 다른 시간의 정산 요청을 하나의 장부에 묶는 일이었다.
“그래서 동시라는 이름을 썼군요.” 내가 말했다.
“그런데 이름이 근사하다고 시스템이 안전해지진 않습니다.”
그는 눈을 내리깔았다. 전국망의 진짜 무서움은 모든 도시에 같은 시각이 온다는 기묘한 장면이 아니었다. 한 곳에서 일어난 오류가 다른 곳의 사람에게 청구될 수 있다는 구조였다.
남 형사가 물었다.
“오늘 확인하는 각 사람에게 절차를 설명했습니까?”
유나가 체크한 명단을 보여 줬다. 이미 위험에 놓인 사람에게는 보호 상황을 알리고 선택 가능한 범위에서 의사를 확인했다. 답할 수 없는 사람은 본인이 동의한 것처럼 표시하지 않았다.
“한 명이라도 누락되면 보류해야 합니다.” 그가 말했다.
“그 말 때문에 늦을 수도 있어요.” 나는 답했다.
“늦을까 봐 누락시키면 그 사람은 언제 확인합니까?”
나는 입을 다물었다. 오늘도 배울 것이 있었다.
17:51.
중앙 장부에 시험 준비 상태가 떴다.
[담보량: 816시간 상당.]
[자동 동기화 준비 중.]
목표였던 천 시간에는 못 미쳤다. 부산과 대전에서 정산을 보류하고 몇몇 사업장에서 시범 장비 사용을 멈춘 덕분이었다. 하지만 곧 숫자가 다시 올라가기 시작했다. 신규 참여자가 아닌데도 시스템이 아직 처리되지 않은 퇴근 기록을 끌어 모으고 있었다.
“중지 통지가 왜 안 먹습니까?” 한시우가 말했다.
“중앙 서버가 자체적으로 남은 계약을 계산하는 것 같습니다.” 강문석이 답했다. “장비가 응답하지 않으면 승인 대신 미응답 담보로 넘기는 부속 규정이 있어요.”
“그 규정은 동의한 적 없습니다.” 시우가 말했다.
“그래서 증명 자료가 필요한 겁니다.”
우리는 정당한 중지 요청과 당사자 거부의 기록을 순서대로 전달했다. 모의 시험에서 성공했던 절차를 그대로 적용하되, 한 건이 처리될 때마다 현장에 대기 중인 사람이 안전하게 돌아왔는지 확인했다. 모두를 한꺼번에 해제하면 짧은 순간에 누가 누락됐는지 알 수 없었다.
통제실의 휴대전화들이 동시에 울렸다. 전화를 받는 사람도 바빴고, 대답을 기다리는 사람도 바빴다. 부산의 안전관리자는 자기가 확인한 직원 이름만 말했다. 대전의 도윤은 일한 시간에 대한 종이 장부를 손에 들고 있었다. 서울 담당자는 아직 중단 의사를 직접 듣지 못한 사람이 있다며 확인 전이라고 보고했다.
몇 초마다 장부 숫자가 바뀌었다. 실험을 멈추면 모두가 즉시 안전해질 거라는 기대는 일찍 버렸다. 시스템은 이미 분리된 여러 회사와 장비에 걸쳐 있었다. 우리가 확인한 사람의 상태만으로 확인하지 못한 사람의 안전을 보장할 수 없었다.
나는 계속 수첩에 적었다. 누구의 이름이 보였는가, 어느 현장에서 확인했는가, 아직 어떤 설명이 필요한가. 메모를 남기다 보니 손이 떨렸다. 오늘 처음으로 이 능력보다 평범한 전화 한 통이 더 쓸모 있을 수 있다는 생각이 들었다.
“조급하면 뭔가 먼저 누르고 싶어지지?” 서아가 물었다.
“네. 개발자는 장애 나면 버튼부터 찾습니다.”
“오늘은 사람부터 찾아.”
그 짧은 말이 전보다 또렷하게 들렸다.
17:56.
부산에서 첫 응답이 왔다.
[경로 03 자동 정산 보류.]
민현주는 안전 구역에서 자신의 이름을 말할 수 있었다. 사라진 근무 시간이 아직 복구된 것은 아니었다. 우리는 그 사실을 그대로 남겼다. 대전에서도 박도윤의 명찰 이름이 흐려지는 현상이 멈췄다. 서울의 네 명 가운데 세 명은 상태 확인이 완료됐다. 네 번째 사람은 아직 동의를 확인하지 못한 상태였다.
“그 사람에게는 무엇을 할까요?” 유나가 물었다.
“강제로 아무것도 하지 맙시다. 위험을 설명하고 기다릴 수 있으면 기다려요.”
그런데 경로 09에서 새로운 요청이 나타났다. 미기명 주체의 기록을 공동 담보로 넘기면 부족한 양이 한꺼번에 채워진다는 내용이었다. 관리자 계정은 아예 그 항목을 기본값으로 선택하고 있었다.
[미기명 주체: 자동 정산 대상 추가 가능.]
“안 됩니다.” 내가 말했다.
상황은 급했다. 자동 동기화까지 네 분. 중앙망이 요구하는 천 시간은 962시간까지 올라와 있었다. 여기에 남아 있는 한 사람의 시간을 더하면 장비가 무엇을 할지 예측할 수 없었다.
강문석이 숨을 들이켰다.
“중앙 청구 보류 절차를 열 수는 있습니다. 그런데 현재 운영자가 거부한 권한을 다시 행사하려면 고유 기록을 증명해야 해요. 위조된 차도겸 이름이 아니라 지금 여기 있는 당신의 기억으로요.”
“가격은요?”
“한 장면입니다. 장부가 가져갈 장면은 선택할 수 없어요.”
나는 어이가 없어서 웃었다.
“언제나 가격표가 마지막에 나오는군요.”
서아가 내 팔을 붙잡았다.
“도겸, 하지 마. 우린 다른 방법을 찾을 수 있어.”
“찾아 봤죠. 우리가 아는 방법은 여기까지예요.”
“그래도 네가 반드시 내야 하는 건 아니야.”
그 말이 내게 오래 남았다. 누구를 구한다는 이유로 또 다른 사람에게 희생을 강요하면 우리가 막으려는 것과 다를 게 없었다. 내가 자진해서 내겠다고 해도 다른 선택지를 살핀 기록은 필요했다.
나는 유나와 강문석에게 다시 물었다. 본인 기록을 확인한 현장만 분리해 중단할 수 없는지, 미기명 주체를 빼고 남은 사람만 보호할 수 없는지. 강문석은 부분 해제가 진행 중이지만 중앙 청구가 남아 있어 아직 처리되지 않은 사람에게 역청구할 위험이 있다고 설명했다. 원래 보호 키를 통해 중앙 청구 한 건을 보류하면 적어도 신규 청구를 막을 수 있었다.
오후 다섯 시 오십팔 분.
나는 수첩에 한 줄을 적었다.
‘이 선택은 남이 시켜서 하는 것이 아니다. 결과를 확인하고, 필요하다면 나중에 다시 책임을 묻겠다.’
그런 다음 내 이름을 말했다.
“차도겸. 중앙 청구 보류를 요청합니다. 다른 사람의 기억을 대신 담보로 잡지 마십시오.”
시계가 한번 울렸다. 손목에 검은 선이 생겼다. 아주 짧은 현기증이 밀려왔다. 내 머릿속에서 한 장면이 뒤로 밀려 나가는 느낌이 들었다.
어젯밤, 어머니가 식탁 위에 그릇 세 개를 놓았다.
그중 한 그릇은 비어 있었다.
나는 분명히 그 장면을 보았다. 그런데 다음 순간, 왜 그 그릇을 치우지 않았는지 알 수 없었다. 따뜻한 음식 냄새도, 어머니가 건넨 말도, 그 자리에 있던 마음도 내게서 빠져나갔다.
화면에 숫자가 멈췄다.
[중앙 청구 보류.]
[신규 담보 수집: 중단.]
[대기 주체 귀환 확인 중.]
나는 벽에 손을 짚었다. 유나가 옆에 와서 물을 건넸다. 서아는 아무 말 없이 내 수첩을 펼쳐 기록을 남겼다. 그녀들은 내가 잃은 장면을 억지로 되살리려 하지 않았다. 지금 할 수 있는 일부터 했다.
18:00.
평소처럼 서울의 시간이 멈췄다. 하지만 장부는 움직이고 있었다. 서로 다른 지역에 흩어진 사람들이 하나씩 귀환 확인을 받았다. 부산, 대전, 서울. 현장 담당자들은 직원의 몸 상태와 이름, 근무 기록이 서로 다른 문제라는 점을 확인했다.
마지막 한 칸만 남았다.
[경로 09: 미기명 주체.]
[귀환 요청 불가. 당사자 개방 거부.]
강문석이 남은 대기 상태를 대조했다. 어떤 장치에서는 귀환을 확인한 시간이 몇 초 늦게 기록됐다. 그는 그 차이를 그냥 통과시키지 않았다. 현장 담당자가 직접 확인한 시간과 장치가 주장하는 시간을 두 칸으로 분리해 남겼다.
“숫자 차이가 사소할 수도 있습니다.” 그가 말했다. “하지만 누군가 한 시간 안에서만 존재한다면 몇 초가 사소하다고 말할 순 없어요.”
나는 그 말에 고개를 끄덕였다. 우리가 시간을 다루는 기계와 싸우면서 오히려 가장 소중하게 배운 건, 사람마다 자기 시간이 있다는 사실이었다.
나는 앞서 들었던 말을 떠올렸다.
‘문을 열지 말아 주세요.’
그 거부를 무시하지 않았다.
“그 사람을 남겨 둔다고 우리가 실패한 건 아니야.” 서아가 말했다.
나는 고개를 끄덕였다. 안전하게 머물겠다는 선택을 기록으로 남기는 것도 구조의 일부였다.
그때 화면에 새로운 메시지가 떴다.
[퇴근망 시범 운행 중단.]
[운영자 검증 불일치. 출근망 대비 절차 시작.]
나는 그 문장을 제대로 읽지 못했다.
퇴근망이 끝나자 이번에는 출근망이 시작된다고 했다.
제59화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.