내일에서 온 메일이 사실이라면, 적어도 내가 내일도 살아 있다는 점에는 감사해야 했다. 문제는 메일의 내용이 ‘오늘 밤 이렇게 하면 죽습니다’에 가까웠다는 것이다. 회사에서 일곱 해 동안 장애 예측 보고서를 써 봤지만, 발신자가 나인 사고 보고서는 처음이었다.
“미래 메일 원본 헤더를 봐야 해요.” 강민재가 무전으로 말했다.
“회사 서버 접속은 위험할 텐데.”
“직원 계정 아니고, 지난달에 실험용으로 만든 외부 반송 확인기요. 헤더만 읽을 수 있습니다. 본문이나 주소록은 건드리지 않고요.”
민재가 보낸 짧은 안내를 따라 화면의 전송 경로를 확인했다. 발신 표시는 ‘내일의 차도윤’, 수신 시각은 2026년 11월 1일 00시 11분. 그런데 접수 대기열 생성 시각은 전날 밤 23시 49분이었다.
“내일 보낸 편지가 어제 만들어졌다고요?” 배 소장이 물었다.
“예약 발송을 걸면 그렇습니다.”
“그럼 미래의 차 과장은 없다는 겁니까?”
“그 말도 아직 못 해요. 누가 예약했는지가 확인돼야 하니까요.”
예약 발송 파일은 도원솔루션 서버에 남아 있지 않았다. 공동 운영망 바깥으로 나간 뒤 수신자 표시만 다시 들어왔다. 발신자 서명도 전자 인증서가 아니라 오래된 시험용 이름표였다. 누가 나를 흉내 냈는지, 누가 진짜 미래에서 경고했는지 알 수 없었다.
서지완이 병원 측 임시 화상 회의에 들어왔다. 얼굴은 창백했고 그림자는 여전히 그의 뒤쪽으로 거꾸로 드리워져 있었다. 안전등이 한 번 흔들리자 그림자만 먼저 움직였다.
“출근부에 있는 제 첫 출근 시각이 바뀌었습니다.” 그가 말했다.
“언제로요?”
“내일 오전 아홉 시에서 오늘 새벽 영 시로요.”
“그럼 아직 입사 전이잖아요.”
“맞아요. 그런데 시스템은 제가 이미 지각했다고 합니다.”
나는 헛웃음을 삼켰다. 입사도 하기 전에 지각한 사람에게 할 수 있는 말은 없었다. 회사가 시간까지 선불로 가져가는 세상이라니, 최저임금 계산부터 어떻게 될까.
지완은 자신이 가져온 미래 출근부의 뒷장에 적힌 작은 번호를 보여 줬다. [보조 시계 B / 시험 날짜 반영]. 정작 서류를 출력한 날의 도장은 정확한데, 일부 출입 시간만 하루 앞으로 당겨져 있었다.
“보조 시계는 기록을 예측할 수는 있어도 일을 이미 했다는 증거는 못 됩니다.” 문서윤이 말했다.
“근데 제가 보조 시계를 끄면 이곳 복도가 사라질 수 있대요.” 지완이 대답했다. “기계가 저한테 그렇게 경고합니다.”
현실과 기록이 서로 끌어당기는 통로. 정체를 모르고 스위치를 뽑으면 사람부터 다칠 수 있었다. 우리는 실물 출구와 임시 피난층을 유지한 상태에서 날짜 표시만 분리하는 방법을 찾기로 했다.
그때 이명주에게서 연락이 왔다. 세림종합병원의 무전실을 지키던 그는 마른 목소리로 말했다.
“여기에도 같은 메시지가 왔습니다. 발신자가 ‘내일의 이명주’예요.”
그 뒤에서 명주 둘의 목소리도 들렸다. “제 이름으로도 한 통 왔어요. 그런데 저는 내일 어디 있는지 모릅니다.”
둘은 서로 다른 내용을 받은 것 같았다. 명주는 ‘18번 출구를 열어라’, 명주 둘은 ‘18번 출구를 열지 마라’. 같은 위치, 같은 시간을 표시한 두 메시지가 정반대의 지시를 내리고 있었다.
“똑같은 대기열에서 다른 본문을 생성했군요.” 민재가 말했다. “수신자가 원하는 선택을 했을 때 성공 문구만 남기려는 시뮬레이션일 수 있어요.”
“그러면 둘 중 어느 쪽이 진짜예요?”
“모릅니다. 원본 기록만으로 판단할 수 없습니다.”
명주 둘이 짧게 숨을 내쉬었다. “그럼 제 선택은 어떻게 하죠?”
“메시지와 관계없이 직접 정하세요. 지금 무전실에 머물고 싶으면 안전한지 확인하고 남으시면 됩니다.”
이런 말을 할 때마다 내가 무슨 상담 전문가라도 된 것 같았다. 사실 나는 서버를 잘 고치는 사람이지, 사람 마음을 고치는 사람은 아니었다. 그런데 오늘의 가장 큰 장애는 늘 사람을 문장 하나로 결정하려는 시스템에서 일어났다.
나는 메일의 시험용 경로를 더 살폈다. 마지막 접수 서버는 ‘18-0 검증 릴레이’였다. 라희가 들고 있던 금속 상자 검사 번호와 일치했다. 낡은 집하장 계단에서 본 경고도 같은 장비를 지나왔다.
서윤이 손전등을 든 채 물었다. “여기서 외부로 보낼 수 있는 건 뭐죠?”
“발신인 이름을 빼고도 보낼 수 있던 1758 위험 경고요. 그 회선과 오늘의 예약 메일이 한 대역에 얹혀 있어요.”
“그럼 아무 이름이나 붙인 메시지와 실제 위험 신고가 섞인 겁니까?”
“가능합니다. 원본 확인 없이 둘을 합치면 안 됩니다.”
점검인은 벽에 남은 오래된 케이블 경로를 보여 줬다. 선 하나는 경고등으로, 하나는 출근부 조회 서버로, 마지막 하나는 문 안쪽의 진동 감지 장치로 이어졌다. 케이블 색은 같았지만 기능은 달랐다. 신호의 출처가 같다는 사실은 그것을 보낸 사람도 같다는 뜻이 아니었다.
확인 과정에서 서지완은 자신이 미래 명부를 가져온 이유를 새로 설명했다. 그는 신입 사원 교육 안내를 보고 도원솔루션에 들어왔는데, 자리에 앉기도 전에 출근부가 내일 날짜로 바뀌었다고 했다. 이 설명은 이전에 들은 말과 크게 다르지 않았지만, 처음으로 자신이 어디까지 직접 겪었는지 명확히 구분해 주었다.
“그림자가 왜 반대로 움직이는지는 모르겠습니다.” 지완이 말했다. “저한테 그 이유를 알게 되면 먼저 알려 주세요. 매번 제가 원인인 것처럼 쳐다보는 게 싫어요.”
나는 고개를 끄덕였다. 이상 현상을 겪는 사람은 그 현상을 설명할 의무까지 떠맡지 않아도 된다. 그의 내일 출근부를 증거로 보관하되, 그를 시험 대상으로 삼거나 장비를 조작하게 하지는 않겠다고 약속했다. 지완은 그제야 화면 속 어깨를 조금 내렸다. 아직 입사도 하지 않은 사람에게 회사가 처음 준 것은 업무가 아니라 해명 책임이었다.
우리는 안전 경고 회선의 내용을 지우지 않고, 명령처럼 표시되는 예약 메일에만 확인 표식을 붙였다.
[발신 인증 미확인]
[예약 생성 시각: 2026-10-31 23:49]
[미래 시각 표시는 본인 증명의 근거가 아님]
문구가 떠오르자 메일이 갑자기 사라질 것 같았다. 다행히 사라지지 않았다. 오히려 그 아래 숨겨져 있던 전달 기록이 드러났다.
[최초 수신 대상: 18번 출구의 외부 관찰자]
[실제 전달 대상: 최근 퇴사자 차도윤]
나는 화면을 오래 바라봤다. 문장을 쓴 사람은 나를 처음부터 찾은 것이 아니었다. 누군가에게 보내려다 대상을 바꿨다. 다른 사람의 이름을 대신 쓰는 오류가 다시 나타난 것이다.
“외부 관찰자라면 손목에 000이 적힌 아이가 떠오르네요.” 서윤이 말했다.
“아이를 불러서 이걸 확인시키진 맙시다.”
아이에게 또 다른 책임을 떠넘기고 싶지 않았다. 다만 그 아이가 그린 그림의 바깥 검은 점이 18번 출구에 대응할 가능성은 확인할 필요가 있었다.
민재가 대기열의 마지막 메모를 읽었다. 정해진 이메일 양식과 달리 사람이 직접 적은 듯한 두 문장이었다.
[이 경고를 보낸 사람은 문을 연 적이 없다.]
[문이 열렸을 때 사람들을 어디로 보낼지 먼저 정하라.]
나는 화면을 껐다. 내일의 내가 아니더라도 저 문장은 당장 도움이 되었다. 문을 여는 행위보다 중요한 것이 있었다. 문밖에 누가 기다리는지, 그곳이 안전한지, 나갈지 말지를 누가 결정하는지.
“서윤 씨.”
“네.”
“18번 문 앞에 피난 표지부터 새로 붙이죠. 직원 번호 없이도 읽을 수 있는 걸로요.”
배 소장이 그 말을 듣고 씩 웃었다. “표지판 만드는 거면 제 전문입니다. 적어도 표지판에는 사직서가 안 달리잖아요.”
나는 반박하지 않았다. 오늘 밤 회사가 표지판마저 출근시키지 않기를 바랄 뿐이었다.
제32화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.