위험한 물
산소 경보가 먼저 울렸다. 도경은 난간에 고정한 단말을 떼어 들며 계단을 뛰어내렸다. 회색대가 지도 안쪽으로 접혔고, 탐사선의 위치 원은 그 가장자리를 긁고 있었다.
“후미 접근 삼 분.” 아마라의 목소리가 끊겼다. “어린 개체 하나, 반향 약합니다.”
선실 바닥이 옆으로 밀렸다. 감속한 선체가 조류를 이기지 못하고 남동쪽으로 끌려갔다. 도현은 추진기 패널을 붙잡고 있었다. 녹색 막대 두 개가 노란색으로 깜박였다. 손상된 우현 보조 추진기는 반응이 늦었다.
“방향 잠금 아직 안 풀렸습니까?”
“본부 대기.” 도현이 이를 물고 말했다. “세이렌 안전 서버가 기존 항로를 붙잡고 있습니다.”
도경은 해류 창을 보았다.
상태 행동 후보 복원 실패 위험대 동시 접근
결과 탐사선 산소 경계 진입: 02:41 모계 7 후미 산소 경계 진입: 02:12 접촉 회피 여유: 감소
⟨오류⟩ 회피 지시 후보 없음
“회피 지시가 없는 게 아니라 빠진 거야.”
말이 작게 나갔다. 아무도 답하지 않았다. 대답할 시간이 없었다. 선내 산소계가 해역 위험을 경고했다. 거의 동시에 냉각수 필터 차압이 올랐다. 같은 층에 떠오른 미세 퇴적물이 흡입구를 긁고 있었다. 저산소는 바다 밑 생명에게 치명적이었고, 기계를 흔든 건 그 탁한 물의 부유물이었다. 두 경보는 원인이 달랐지만 같은 물층에서 함께 왔다.
이랑 무리의 점들이 둥글게 말렸다. 선두가 후미를 향해 돌아오는 동안 어린 개체 둘이 회색 경계로 밀렸다. 고래는 소리로 길을 만드는데, 탐사선의 둔한 엔진음이 그 길 한가운데 누워 있었다.
“음역 더 낮춰.” 도경이 말했다.
도현이 바로 고개를 저었다. “그러면 우현 추진기가 꺼질 수 있습니다.”
“켜져 있어도 길을 막고 있어.”
“꺼지면 배가 들어갑니다.”
하리시가 회선에 끼어들었다. “서 박사, 선택하십시오. 선체 우선입니까, 무리 우선입니까?”
도경은 화면의 두 시간을 보았다. 탐사선 2분 41초. 후미 2분 12초. 먼저 닿는 것은 고래였다. 그런데 배가 밀리면 통로가 더 좁아진다.
“우현 보조를 끄지 말고, 박동으로 줄여요. 20초 켜고 10초 낮춰. 빈 구간을 만들어.”
도현은 손을 멈췄다. “그 패턴은 안정값이 아닙니다.”
“고래가 빠져나갈 만큼만 비워.”
첫 박동이 들어갔다. 선체 진동이 꺼졌다가 다시 붙었다. 바닥의 떨림이 계단을 타고 올라왔다. 해류의 잘못 채운 방향, 도경이 붙잡지 못한 빈칸, 본부의 보류가 한꺼번에 선체를 밀었다.
원신호가 스피커에 터졌다.
클릭, 클릭, 클릭 낮은 하강음 — 긴 끊김 클릭 — —
해류는 아무 줄도 채우지 못했다.
*
첫 번째 빈 구간에서 후미 개체가 움직였다. 아마라가 숨을 삼키는 소리가 회선에 걸렸다.
“반응 있습니다. 후미가 북쪽으로 벌어집니다.”
“선두는?”
“돌아오는 중. 너무 빠릅니다.”
도경은 수동 송출 채널을 열었다. 인간이 고래에게 명령할 수는 없다. 할 수 있는 것은 소리를 줄이고, 있는 소리를 왜곡하지 않고, 위험한 쪽을 비워 주는 것뿐이었다. 도경은 송출을 끄고 수신만 열었다. 빈 말보다 침묵이 덜 해로울 때가 있다.
우현 보조 추진기가 두 번째 박동에서 헛돌았다. 경고등이 붉게 바뀌었다. 냉각 계통이 막히자 축이 과부하로 정렬을 잃었다. 도현이 패널 아래로 손을 넣었다.
“출력 떨어집니다. 우현 38퍼센트.”
“좌현으로 보정.”
“좌현을 올리면 엔진음이 다시 날카로워집니다.”
선택지는 매끈하지 않았다. 도경은 산소 지도를 축소했다. 회색대의 가장 얇은 틈이 북북동으로 열렸다. 이랑 무리는 그쪽으로 향할 수 있었다. 탐사선은 반대로 밀려야 했다. 배를 희생시키는 말처럼 들렸지만 실제로는 시간을 사는 계산이었다.
“좌현은 올리지 마. 선수를 3도만 열어.”
도현이 짧게 웃었다. 웃음이 아니라 숨이 새었다. “3도는 잠금에 걸립니다.”
“물리적으로 열어. 양쪽 밸러스트 차이 줘.”
“그건 항로 변경이 아니라 선체 자세 변경입니다.”
“그러니까 걸리기 전에 해.”
도현이 밸러스트 패널을 열었다. 물이 이동하는 둔한 소리가 선체 안쪽에서 굴렀다. 탐사선이 아주 느리게 기울었다. 화면의 방향 값은 잠금 안에 머물렀지만, 실제 선수는 물을 비스듬히 받았다. 남동으로 밀리는 속도가 조금 바뀌었다.
해류가 새 계산을 냈다.
결과 후미 개체 위험대 진입 예상: 01:04 탐사선 위험대 진입 예상: 01:31 북북동 통로 폭: 34m
상태 통로 유지 불안정 추진기 응답 지연
“삼십사 미터.” 아마라가 말했다. “성체 둘이 지나가기엔 좁습니다.”
“성체가 아니라 어린 개체가 먼저 가야 해.” 도경은 원신호를 확대했다. “모계 7이 그걸 만들고 있어.”
말하자마자 이랑의 표식이 후미와 통로 사이로 들어왔다. 선두가 아니라 벽처럼 움직였다. 낮은 진동이 배 밑을 밀었다. 어린 개체의 반향 둘이 그 뒤쪽으로 붙었다.
도경은 입술 안쪽을 깨물지 않았다. 손을 써야 했다. 아버지의 노트에서 배운 것은 신뢰가 아니었다. 빠진 말을 채우는 습관이었다. 그 습관이 배를 여기까지 데려왔다.
“해류, 번역 중지. 지금부터 원신호와 거리값만 표시.”
상태 번역 출력 중지 원신호 표시 유지 거리값 표시 유지
⟨보류⟩ 행동 조언 비활성
“좋아. 조언하지 마.”
도현이 돌아봤다. “완전히 끄는 겁니까?”
“지금은 해류가 빈칸을 채우면 안 됩니다.”
세 번째 박동에서 우현 보조 추진기가 꺼졌다. 선체가 한 번 크게 밀렸다. 선실의 컵이 바닥으로 떨어져 굴렀다. 아마라의 회선에 짧은 욕설이 섞였다가 끊겼다. 지도 위에서 탐사선의 원이 회색대 안쪽을 스쳤다.
산소 흡입 경보가 두 단계 올라갔다.
“냉각수 산소 농도 낮습니다.” 도현이 말했다. “출력 제한 들어갑니다.”
“얼마나?”
“십 분 안에 복구 안 하면 좌현도 내려갑니다.”
그때 후미 개체 하나가 통로를 지나갔다. 작은 점이 회색 가장자리 밖으로 튀어나왔다. 바로 뒤의 점은 느렸다. 이랑의 표식이 다시 돌아섰다. 대가 없는 구조는 없었다. 그 대가를 누가 먼저 치르느냐만 남았다.
*
위험대 바깥으로 나온 뒤에도 경보는 꺼지지 않았다. 도경은 젖은 장갑을 벗어 콘솔 옆에 놓았다. 손바닥에 고무 자국이 남았다. 선체는 저속으로 흔들렸고, 우현 보조 추진기 상태창은 검은색이었다.
“집계.” 하리시가 말했다.
도경은 대답 대신 파일을 열었다. 탐사선 손상부터 확인했다. 우현 보조 추진기 정지. 냉각수 필터 오염. 3번 부표 수신 편차 증가. 음향 배열 두 줄 끊김. 통신 지연은 평균보다 네 배 길어졌다.
고래 쪽은 더 천천히 들어왔다. 아마라가 부표 반향을 맞춰 보냈다. 어린 개체 하나는 통로를 통과했지만 하강 반응이 늦었다. 다른 하나는 한동안 낮은 산소층 가장자리에 머물렀다. 성체 하나의 클릭 간격이 불규칙했다. 이랑은 무리 뒤쪽에 남아 있었다.
“직접 접촉은 없습니다.” 아마라가 말했다. “하지만 후미 개체 둘, 호흡 간격이 흐트러졌습니다.”
직접 접촉 없음. 문장은 사고 보고서에 들어가기 좋았다. 도경은 그 줄을 그대로 두지 못했다. 저산소대 노출, 엔진음 회피로 인한 통로 지연, 모계 7 방어 이동 확인. 그렇게 적었다. 말이 길어질수록 책임이 흐려지는 것을 알아서, 문장을 다시 잘랐다.
해류 오역 반영 항로로 위험대 동시 접근.
도경은 커서를 그 줄 끝에 둔 채 멈췄다. 오역이라고 쓰면 해류만 탓하는 꼴이었다. 하지만 도경도 그 출력의 일부를 안전 조율표에 넘겼다. 빈칸을 본 뒤에도 늦었다. 도경의 의존은 화면 밖으로 나와 물리량이 되었다.
“서 박사.” 하리시의 목소리가 낮았다. “보고서에는 결정 경로를 분리해 주십시오. 자동 항로, 현장 수정, 서버 보류.”
“분리하면 책임도 분산됩니다.”
“분산이 아니라 추적입니다.”
도경은 하리시를 보지 않고 말했다. “추적하려면 해류가 어디서 비운 건지 먼저 알아야 합니다.”
“그건 다음 절차입니다. 지금은 피해 기록이 우선입니다.”
피해 기록. 도경은 고래 표식을 다시 확대했다. 이랑은 무리 바깥에서 느리게 움직였다. 후미를 밀어낸 뒤에도 바로 합류하지 않았다. 낮은 진동이 길게 남았다가 끊겼다.
클릭 — — 낮은 진동 클릭, 클릭 — 긴 침묵
해류는 번역하지 않았다. 도경이 꺼 두었기 때문이다. 화면에는 소리와 거리만 남았다. 그게 더 정직했다. 동시에 더 무거웠다. 도경은 서도진의 노트에서 빈칸을 발견했을 때처럼 손가락으로 화면 가장자리를 문질렀다. 종이도 아닌데 지워질 리 없었다.
도현이 뒤에서 말했다. “우회 적재선 확인해야 합니다.”
“지금?”
“방금 위험대 들어가면서 거의 끊겼습니다. 그 선까지 죽었으면 원신호 백업이 없습니다.”
도경은 고개를 들었다. 우회 적재선은 해류를 거치기 전 원신호를 따로 쌓는 임시 회선이었다. 느리고 지저분해서 실시간 판단에는 못 썼다. 그래도 남아 있으면 나중에 거짓말을 가를 수 있다.
“상태 띄워.”
도현은 화면을 넘겼다. 적재율 그래프가 끊긴 자리에서 얇게 이어져 있었다. 두 번의 낙폭, 한 번의 재접속, 그리고 이상한 수동 보정 흔적. 접근 권한은 현장 장비 계정으로 표시됐다. 이름은 비어 있었다.
도경은 그 빈 이름을 보고 손을 멈췄다.
*
저녁의 선실은 낮보다 조용했다. 경보는 낮은 단계로 내려갔지만, 꺼지지는 않았다. 도경은 우회 적재선 로그를 별도 화면에 띄워 놓고 시간대를 맞췄다. 산소 경계 진입 직전, 원신호 저장률이 12퍼센트까지 떨어졌다. 우현 추진기가 죽은 직후에는 0에 가까웠다.
그런데 완전히 끊기지 않았다. 누군가 자동 삭제를 막고, 깨진 패킷을 느린 저장소로 밀어 넣었다. 실시간 번역에는 못 쓰지만 사후 검증에는 충분한 양이었다. 이상한 것은 보정 방식이었다. 해류의 표준 복구가 아니었다. 본부 서버 흔적도 아니었다.
입력 우회 적재선 로그 / 위험대 시간대 목표: 저장 지속 원인
상태 권한 기록 대조 패킷 손실 위치 확인
결과 자동 복구 아님 외부 승인 아님 현장 수동 개입 가능성 높음
p 0.77
⟨보류⟩ 개입 주체 식별 불가
도경은 해류 창을 닫지 않았다. 이번에는 보류가 필요했다. 모르는 것을 모른다고 남기는 일이 오늘 처음으로 안전하게 느껴졌다.
문이 열리고 도현이 들어왔다. 작업복 소매가 젖어 있었다. “좌현 냉각은 버팁니다. 우현은 부품 갈아야 합니다.”
“적재선 만졌어요?”
도현은 물 묻은 손을 바지에 닦았다. “지금은 추진기 보고 왔습니다.”
“위험대 들어갈 때.”
“그때 저는 밸러스트 잡고 있었습니다.”
대답은 빠르지 않았다. 도경은 그 지연을 증거로 쓰지 않았다. 지연은 피로에서도 나오고, 계산에서도 나오고, 거짓에서도 나온다. 지금 도경에게 필요한 것은 추측이 아니라 로그였다.
“현장 계정으로 누가 들어왔는지 비어 있어요.”
“그 계정은 장비 패널에서 들어가면 이름 안 남습니다.”
“그래도 조작 흔적은 남아요. 이건 누가 저장 경로를 바꿨습니다.”
도현은 화면 가까이 왔다. 눈이 한 줄에서 멈췄다. “살아 있네요.”
“끊길 뻔했어요.”
“살아 있으면 원신호 대조는 됩니다.”
도경은 고개를 끄덕였다. 이제 분명한 건 하나였다. 오역의 대가는 보고서 문장이 아니라 다친 무리와 망가진 추진기였다. 위험대 한가운데서, 누가 해류를 거치지 않은 선을 붙잡아 두었는가.
도경은 피해 집계 파일에 마지막 줄을 추가했다.
우회 적재선 생존. 수동 개입 흔적. 주체 미확인.
저장 버튼을 누르자 화면 하단에 완료 표시가 떴다. 바깥에서는 낮은 진동이 아직 멀리 남아 있었다. 번역되지 않은 소리였다. 도경은 그 소리를 켜 둔 채 손상 목록과 빈 이름을 나란히 놓았다.
이 화, 어떠셨나요?
미리보기 — 댓글은 지금 이 브라우저에만 임시로 저장됩니다. 배포하면 Cloudflare에 저장됩니다.