17시 55분 59초. 일 초는 짧다. 커피를 마시다가 입술을 데기에도 부족한 시간이다. 하지만 우리에게는 그 일 초 때문에 17:56, 17:57, 17:58로 이어지는 순서가 완전히 달라질 수 있었다. 나는 기록 담당자에게 새 시각을 최초 사고로 발표하지 말아 달라고 요청했다. 종이와 서버가 같은 시계를 사용했는지도 모르는데 숫자 하나만 보고 시작점을 옮기면 또 다른 잘못된 역사가 만들어질 것이다. 오재현이 내 말을 듣더니 웃었다. “퇴사하셨다면서 감사실보다 더 보수적이시네요.” “고장 난 시스템에서 보수적이지 않으면 제 퇴직금이 사라집니다.”
음성 파일의 메타데이터에는 흥미로운 오류가 있었다. 장치 내부 시계는 `17:55:59`였지만 공공 회신함의 접수 시계는 `17:56:04`였다. 다섯 초 차이였다. 게다가 전송 경로는 도원 B가 아닌 원래 강변의 외부 방향으로 설정돼 있었다. 정하경이 남겼던 수기에는 발신 시각과 수신 확인 시각을 분리하라는 지침이 있었다. 우리는 그 지침을 따라 `발생 시각 미확정 / 수신 시각 확인 가능`이라고 적었다. 두 시간을 하나의 결론으로 합치지 않았더니 오히려 사건의 실마리가 보였다.
그날 오후, 정하경에게서 별도의 통화 동의가 도착했다. 그는 현재의 사고를 조사하는 데 필요한 기술적인 설명만 하겠다고 했다. 통화에는 김하린과 시설 담당 이선경이 참여했다. “019는 미래를 보여 주는 장치가 아니었어요.” 정하경은 천천히 말했다. “그때 시험한 건 위험 신호가 다른 건물의 빈 통로에 걸렸을 때, 사람의 위치를 강제로 추정하지 않고 안전한 방향만 다시 계산하는 기능이었습니다.” 나는 숨을 삼켰다. “그런데 왜 공간이 실제로 연결되죠?” 잠시 침묵한 끝에 답이 돌아왔다. “그건 처음부터 우리가 해결하지 못했던 문제였어요.”
처음이라는 말이 무서웠다. 처음부터 공간이 이상해졌다는 뜻일까. 정하경은 단정하지 않았다. 시험 환경에서는 특정 위치의 문짝이나 그림자가 다른 곳에 비치는 현상이 관측됐고, 실물 변화는 미확인으로 남겨 뒀다고 했다. 당시 검수 보고서의 `현실경계 연속성 미확보`라는 문장을 여러 부서가 단순한 지도 데이터 문제로 처리했을 가능성이 있었다. 서윤이 물었다. “누가 그 결함을 알고도 도원으로 옮겼습니까?” 정하경은 “제가 확인한 서류에서는 이전 반대 의견이 접수됐습니다. 최종 결재는 제 업무 범위를 벗어났어요”라고 답했다.
정하경과 통화한 뒤 나는 오랜만에 편의점에 들렀다. 가게 주인은 내가 자주 사던 삼각김밥을 기억하고 있었다. 그는 “오늘은 안 늦으셨어요?”라고 물었다. 나는 퇴사했다고 답했다. “그럼 이제 일찍 퇴근하시겠네요.” 계산대 앞에서 할 말을 잃었다. 나는 삼각김밥 두 개를 샀다. 왜 두 개인지는 나도 몰랐다. 17:56 기록을 너무 오래 읽어서일지도 모른다. 하나는 민재에게 줬다. 민재는 뜯지도 않고 봉지를 뒤집어 날짜부터 확인했다. “형, 이건 오늘 만든 거예요.” “알아. 그래서 샀지.” 우리는 그날 처음으로 과거 기록과 관계없는 저녁을 먹었다. 회사가 오늘의 식사를 어제의 출근으로 바꾸려 한다면 사람들은 매일을 어떻게 살아가야 할까. 내 몸에 남은 배고픔만큼은 확실히 오늘의 것이었다.
나는 화면 너머의 정하경에게 아이가 그린 파란 선 이야기를 꺼낼까 고민했다. 아이는 자신이 직접 허락한 부분만 공유했고 어머니의 신원은 밝히지 않았다. 나는 그 약속을 깨지 않았다. 대신 원래 배선도에서 파란 경로가 어떤 역할이었는지만 물었다. 정하경은 “바깥 사람이 안전하게 돌아갈 수 있는 길이 아니라, 바깥 사람에게 위험이 도달했음을 되돌려 알리는 길”이라고 설명했다. 같은 파란 색이어서 우리가 아이의 그림과 연결하고 싶어 했던 것이다. 연결할 근거와 연결하고 싶은 마음은 달랐다.
민재가 옛 시험 녹음에서 또 하나의 소리를 분리했다. 누군가 문을 두드리는 소리 뒤로 금속 도시락통이 바닥에 닿는 소리였다. 17:56의 두 도시락 기록과 같을 수도 있었지만, 우리는 그저 `도시락 유사 금속음`이라고 적었다. 민재가 허탈해했다. “이 정도면 답을 찾은 것 같은데 계속 보류만 하는 느낌이에요.” 나는 고개를 저었다. “보류는 아무것도 안 하는 게 아냐. 틀린 답으로 사람을 가두지 않는 거지.” 민재는 작은 소리를 다시 들었다. 이번에는 장치의 접점음과 금속 통 소리가 서로 다른 채널에서 왔다는 것을 확인했다. 작은 차이지만 다음 검수의 출발점이 됐다.
통화 종료 직전 정하경은 작은 요청을 했다. “옛 설비에 남은 `미사용 경계`를 지우지 말아 주세요. 그게 없으면 시스템은 가장 가까운 사람을 빈자리에 넣으려고 할 겁니다.” 그 말은 지금까지 벌어진 자동 채용과 대역 합병을 너무 정확히 설명했다. 그러나 정하경은 그 이상을 말하지 않았다. 당시 어떤 사람을 직접 구조했는지, 최초 신고자가 누구인지는 공개하지 않을 권리가 있었다. 우리는 통화 기록의 공개 범위와 검수 자료의 출처를 분명히 남겼다.
옛 원본에서 정하경이 서명한 칸을 찾는 과정도 쉽지 않았다. 검수인은 장치가 요구하는 안전 기준을 확인했을 뿐 실제 이전 공사의 책임자가 아니었다. 그런데 협의회 인수 서류는 그의 검수인을 `원본 관리자`로 번역해 놓았다. 오재현은 정정 의견을 기록하고 책임 범위를 조사하겠다고 했다. 정하경이 통화에서 마지막으로 강조한 말이 떠올랐다. “내가 확인한 것과 내가 허락한 것은 달라요.” 나는 그 말을 그대로 옮겼다. 우리에게 필요했던 건 한 사람에게 모든 책임을 씌우는 쉬운 결론이 아니었다. 현장에서 어떤 결정을 누가 내렸고, 실제로 어떤 경계가 옮겨졌는지 살펴보는 일이었다.
저녁에는 하진이 내게 한 장의 그림을 보냈다. 자신이 본 얼굴 없는 경로를 그린 것이었다. 사람 모양의 선 두 개가 나란히 놓여 있었고, 그 사이 빈 종이 부분에만 출구 표시가 있었다. “여기가 안쪽과 바깥쪽 사이예요. 빈 자리죠.” 나는 그 빈 공간을 한참 바라보았다. 회사는 늘 빈자리를 싫어했다. 누군가 퇴사하면 즉시 후임자를 넣고, 장비가 멈추면 대체 서버를 올렸다. 그런데 여기서는 빈자리가 안전을 위한 조건일지도 몰랐다.
오재현은 음성 파일의 발신 기록을 분석하면서 작은 사실을 찾았다. 소리의 시작 부분에는 두 번의 짧은 톡 소리가 있었다. 외부 경보 발신 버튼을 시험할 때 생기는 접점 잡음과 유사했다. 그러나 옛 019 장치에는 같은 잡음을 내는 정비 모드도 있었다. 둘은 실제 위험 신고와 점검 녹음이라는 전혀 다른 의미였다. 김하린은 녹음의 출처를 한 단계 더 확인하기 전까지 1758 최초 발신자와 연결하지 말자고 제안했다. 그 말에 모두 동의했다. 오래전 누군가가 음성을 남긴 이유를 알고 싶다는 마음만으로 그 사람의 신원을 공개하거나 사고 책임을 씌울 수는 없었다. 나는 메모장에 `두 번의 접점음 / 장비 모델 대조 필요`라고 적었다. 그 간단한 문장 하나가 `최초 신고자 발견`이라는 자극적인 제목보다 훨씬 유용했다.
그날 밤 서버실 B에서 경고등이 켜졌다. `미사용 경계 삭제 예약.` 실행 주체는 사람이 아닌 `정본 자동 갱신`이라는 업무 계정이었다. 사전 중단 요청이 접수됐고 실제 장치의 비상 전원은 그대로 유지됐다. 우리는 실행을 막았지만 화면에는 이상한 문장이 남았다. `빈 방향이 해제되지 않으면 다음 대역을 생성할 수 없습니다.` 다음 대역. 나는 그동안 복사본들이 단순한 고장이 아니라 빈 경계를 메우려는 장치의 반복 시도일 수 있다는 생각이 들었다. 그리고 그 생각이 맞는 순간, 우리가 해야 할 일은 대역을 없애는 것이 아니라 빈자리를 억지로 채우지 않게 만드는 일이었다.
제137화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.