"'online 이야?' 는 틀린 질문이야. 맞는 질문은 '어떤 상태여야 하는데?' 야."
한 비트짜리 거짓말
세상에서 제일 자연스러운 fleet 필드가 online: true 야. 완전해 보이지. 기계가 떴거나 안 떴거나. 근데 거짓말이야. 같은 비트가 어느 기계한테 붙느냐에 따라 정반대를 뜻하거든.
같은 비트, 반대 의미
늘 켜둔 서버가 online: false 면 큰일이야. 당장 깨어나야 할 일. 여행용 랩탑이 online: false 면 그냥 평범한 화요일이야. 가방 속에서 계획대로 자는 중이니까. boolean 은 이 둘을 못 갈라. 서버는 떠 있어야 하고 랩탑은 자도 된다는 걸 아는 policy 만이, 똑같은 하나의 사실을 서로 다른 두 판단으로 바꿔.
비트가 조용히 숨기는 것
기계가 닿을 때 조차, 비트 하나는 알아야 할 걸 전부 지워. 닿긴 하는데 빌드가 뒤처졌거나, 한 경로로는 닿고 다른 경로로는 죽었거나, 떠 있는데 drift 났거나, 떠 있는데 backup 서비스가 3주 전 조용히 내려갔거나. online 은 서로 다른 열두 질문을 하나도 못 푸는 답 하나로 뭉개.
해법은 더 영리한 비트가 아니라 더 많은 축
더 똑똑한 boolean 을 만들어서 될 일이 아냐. 질문 하나를 둘로 쪼개서 풀어. 이 기계는 어떤 상태여야 하지? 랑 우리가 실제로 뭘 봤지?. 그리고 그 둘에서 판단을 계산해. 그 쪼개기가 이 트랙 나머지 전부야.
health 는 읽어오는 값이 아니라 내리는 판단이야. 어떤 측정값도, policy 가 '원래 어때야 했는지' 를 말해주기 전엔 건강한 것도 아픈 것도 아냐.