JStory Box
별의 제국
001 / 130LONG-FORM EDITION

ORIGINAL FICTION

제142화 — 공통 뿌리

14,610일 · 142 / 287약 8분0자
지난 화 끝부분 다시 보기

9시간 17분의 지연은 그날로 끝나지 않았다.

편향체 8과 9의 궤도를 다시 짜야 했다.

더 늦은 접근.

조금 나쁜 각도.

추가 추진제.

Daniel은 임무계획팀에게 물었다.

“대체 충돌지점.”

세 후보.

A.

고밀도 영역에 가까움.

임펄스 전달이 좋을 가능성.

문제는 지형 불확실성.

B.

관측 잘 된 영역.

안전한 데이터.

결합효율은 중간.

C.

느슨한 지역.

명중 쉽지만 파편화 위험.

Daniel은 A를 보고 있었다.

더 큰 효과.

Yelena는 B.

“현재 데이터가 가장 좋습니다.”

Daniel이 말했다.

“효율이 부족하면.”

“모르는 곳에 더 세게 때리는 게 답은 아닙니다.”

또 같은 갈등.

Daniel은 현재 필요 편향량을 봤다.

여유가 줄었다.

A를 쓰면 이론상 회복 가능.

B는 추가 임무가 더 필요할 수 있다.

시간.

James Whitaker가 말했다.

“결정권은 임무위원회.”

Daniel은 고개를 끄덕였다.

자기 회사가 아니다.

IIRA.

투표.

기술의견.

최종 B.

Daniel은 불만이었지만 따랐다.

편향체 8.

명중.

결합효율 예상 중간값.

9.

명중.

조금 낮음.

Daniel은 의자에서 일어나 창밖을 봤다.

관제시설 밖은 평범한 하늘.

사람들은 출근.

뉴스.

상점.

NEXUS는 보이지 않는다.

그런데 세계 전체가 그 점 하나에 묶여 있다.

며칠 뒤 Common Root Failure 조사.

원인은 단순 버그 하나가 아니었다.

신규 회전상태 모델.

데이터 필드 확장.

표준 배포 패키지.

구형 검증 모듈.

안전한 거부.

각각은 정상적으로 작동했다.

문제는 독립 구현들이 마지막 단계에서 같은 표현체계에 의존했다는 것.

Whitaker가 말했다.

“노드를 복제했지 언어를 복제했습니다.”

Daniel이 대답했다.

“표준 없이는 연결 못 합니다.”

“표준과 구현은 다릅니다.”

“독립 포맷까지 만들었어야 한다고?”

“적어도 하나.”

Daniel은 짜증이 났다.

“2045년에 새 mission kernel 만드는 건 더 위험하다고 당신도 동의했잖아.”

“맞습니다.”

Whitaker는 물러서지 않았다.

“그때 결정이 틀렸다고 말하는 게 아닙니다.”

“그럼.”

“우리가 감수한 위험이 실제로 나타났다는 겁니다.”

그 말이 더 아팠다.

과거 결정을 hindsight로 바보 취급하지 않는다.

그때는 합리적이었다.

하지만 합리적 선택도 위험을 남긴다.

Daniel이 물었다.

“지금 할 수 있는 것.”

임무팀은 이중 포맷을 만들기 시작했다.

기존.

단순 비상형식.

필드 최소화.

사람이 읽고 검증 가능.

완전 자동화는 아님.

느리지만 독립.

다음 수정 임무에 적용.

시간은 또 든다.

그래도 한다.

그 사이 Nightglass에서 다른 문제가 올라왔다.

NEXUS 표면의 질량 이동.

첫 충격들 이후 느슨한 잔해가 이동하며 회전과 미세분출 패턴이 조금 변했다.

Yelena가 말했다.

“천체가 우리의 모델을 계속 낡게 만듭니다.”

Daniel은 화면을 봤다.

“오차범위.”

“아직 관리 가능.”

“그 말.”

Yelena가 웃지 않았다.

“관리 가능하다는 뜻입니다. 안전하다는 뜻 아니고.”

현재 NEXUS 질량 추정.

처음보다 불확실성이 줄었지만 내부 분포는 여전히 완벽히 모른다.

몇몇 충돌이 예상보다 잘 먹혔다.

몇몇은 덜.

평균을 쓰면 계획상 충분.

그러나 분산이 크다.

Daniel이 말했다.

“다음 충돌은 고밀도 영역.”

Yelena가 고개를 끄덕였다.

이번에는 데이터가 충분.

NEXUS 근접정찰기가 더 좋은 지도를 보내왔다.

편향체 10.

고밀도 구역 가장자리.

충돌.

데이터가 들어오기까지 수십 분.

관제실은 조용했다.

결과.

예상보다 낮은 편향.

Daniel의 얼굴이 굳었다.

“왜.”

수동 패키지 전환은 기술적으로 특별하지 않았다.

오히려 오래된 방식에 가까웠다.

각 지역팀이 자기 궤도해를 사람이 읽을 수 있는 최소 형식으로 내보낸다.

다른 팀 두 곳이 독립 확인.

값이 맞으면 서명.

그 뒤 비행체에 입력.

자동화보다 느리다.

하지만 공통 검증기가 없어도 된다.

2045년 Whitaker가 억지로 남겨둔 절차.

그때 Daniel은 ‘실전에서는 너무 느리다’고 생각했다.

지금 그 느린 절차가 시스템을 살리고 있었다.

한 지역팀은 종이에 핵심 상태값을 출력하기까지 했다.

Daniel이 화면으로 그 장면을 봤다.

“종이?”

Whitaker가 말했다.

“사이버 보안팀이 좋아합니다.”

Daniel은 웃지 못했다.

그런데 효과는 있었다.

사람이 눈으로 단위와 좌표축을 다시 확인하면서 구형 노드가 잘못 해석한 필드를 바로 찾았다.

자동화가 틀렸을 때 사람이 돌아올 자리가 남아 있었다.

그건 좋은 설계였다.

다만 느렸다.

여섯 시간째.

편향체 하나의 최적 접근각이 계속 나빠졌다.

임무계획팀이 초 단위로 새 궤도를 계산했다.

Daniel은 처음으로 ‘절차를 줄이지 말라’고 말한 자기 결정이 견디기 힘들었다.

맞는 결정.

그리고 그 맞는 결정 때문에 기회가 눈앞에서 멀어진다.

Whitaker가 옆에 서 있었다.

Daniel이 말했다.

“내가 지금 빨리 하라고 하면.”

“아무도 놀라진 않겠죠.”

“당신은?”

“막습니다.”

Daniel이 작게 웃었다.

“그래서 당신이 여기 있군요.”

“네.”

둘은 더 말하지 않았다.

8시간 50분.

마지막 교차검증.

9시간 17분.

전송.

Daniel은 숫자를 기억했다.

그 시간은 나중에 수없이 돌아올 것이다.

문제가 해결된 뒤 IIRA 일부 위원은 즉시 원인자를 찾으려 했다.

누가 스키마 확장을 승인했나.

누가 구형 모듈을 남겼나.

Daniel이 말했다.

“사람 찾지 맙시다.”

한 위원이 날카롭게 물었다.

“책임 없이 넘어가자는 겁니까?”

“아니요.”

Daniel은 화면을 가리켰다.

“승인한 사람도 규정대로 했고, 구형 모듈도 검증을 통과했습니다.”

“그런데 실패했잖아요.”

“그러니까 구조를 봐야죠.”

한 사람이 규칙을 어긴 게 아니다.

각 팀이 맞게 일했다.

그런데 전체가 같은 표현계층을 믿었다.

시스템 실패.

Reyes 사고에서 배운 방식.

Daniel은 그걸 우주에서도 지켰다.

그리고 바로 다음 문제.

NEXUS가 계산 밖으로 움직였다.

Daniel은 피곤해서 웃음이 나왔다.

“하나는 우리가 만들고, 하나는 자연이 만들고.”

Yelena가 말했다.

“자연 쪽이 더 오래됐습니다.”

“그래서 더 고집이 세나.”

“물리법칙은 협상 안 하니까요.”

Amina가 들으면 좋아할 말.

Daniel은 잠깐 사람들을 떠올렸다.

Amina. Vogel. Elena. Reyes.

각자 자기 분야에서 같은 걸 가르쳤다.

현실은 Daniel 일정과 믿음을 신경 쓰지 않는다.

그 교훈을 충분히 배웠다고 생각했다.

2046년까지.

그런데 현실은 마지막 날까지 다시 가르치고 있었다.

Yelena가 데이터를 봤다.

“회전.”

“모델에 있잖아.”

“충돌 직후 표면 물질이 반대쪽으로 많이 방출됐습니다.”

운동량 전달은 단순히 편향체 질량×속도가 아니다.

표면에서 어떤 물질이 어느 방향으로 튀는지도 포함.

NEXUS의 느슨한 구조가 일부 운동량을 예상과 다르게 소비했다.

Daniel이 말했다.

“재계산.”

Elena 팀과 여러 국가 모델이 동시에 돌았다.

몇 시간.

결과 범위.

좋지 않았다.

계획 중앙값이 내려갔다.

Safe corridor까지 필요한 편향량.

현재 누적.

향후 4기 예상.

가능.

하지만 처음의 여유가 없다.

Daniel은 말했다.

“추가 편향체.”

제조팀이 답했다.

궤도에 예비 3기.

지상에서 6기 추가 생산 가능.

문제는 발사창.

도달시간.

이제 몇 달.

효율 급감.

“그래도 만듭니다.”

Vogel이 말했다.

“이미 돌고 있습니다.”

Daniel은 그를 봤다.

지시하기 전.

시스템이 움직인다.

좋은 신호.

그런데 Daniel은 안도하지 못했다.

세계는 이번에 정말 준비돼 있다.

그런데 준비가 충분하다는 보장은 어디에도 없다.

집으로 돌아오니 Mina가 식탁에 앉아 있었다.

TV는 꺼져 있었다.

“오늘도 안 됐어?”

Daniel이 말했다.

“됐어.”

“표정은.”

“예상보다 덜.”

Mina는 잠깐 아무 말도 하지 않았다.

“얼마나 남았어?”

“아직 계산 중.”

“당신 기준으로.”

Daniel은 대답하지 못했다.

Mina가 말했다.

“나한테 좋은 뉴스처럼 말 안 해도 돼.”

Daniel은 고개를 끄덕였다.

“여유가 줄었어.”

“막을 수 있어?”

“아직.”

그 말.

아직.

이번에는 희망과 공포가 동시에 들어 있었다.

Daniel은 그날 밤 처음으로 ARK와 SHELTER 상태를 다시 열었다.

Yellow.

몇 년 동안 계속.

수용량.

생태계.

전력.

식량.

데이터.

지역.

충돌회피에 비하면 작았다.

Richard Cole의 목소리가 떠올랐다.

99퍼센트여도 1퍼센트가 문명 끝이면.

Daniel은 화면을 오래 봤다.

그리고 FARSHIELD 창을 다시 열었다.

지금 자원을 빼서 백업을 키울 수는 없다.

너무 늦었다.

그 결정을 Daniel은 스스로 합리적이라고 생각했다.

아마 맞았다.

그런데 처음으로 맞는 결정이어도 끔찍한 결과를 만들 수 있다는 생각이 들었다.

END OF CHAPTER

읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.

다음 화

읽는 흐름을 끊지 않고 바로 다음 화로 이어집니다.

읽던 위치를 저장했습니다.