전부 남기는 것의 문제
판정 하나하나를 기록하는 로그는 끝없이 자라고, 아무도 끝까지 못 읽는 문서는 아무것도 전달 못 해. 뻔한 처방은 중요한 항목만 남기는 건데, 중요도가 틀린 축이야. 사소하게 들리는 판정이 영원히 유효한 교훈을 담고 있을 수 있고, 극적인 판정이 실행 하나에만 해당될 수도 있거든.
먹히는 축은 수명이야. 이게 얼마 동안 참이지? 그걸로 나누면 도착지 셋이 나오고, 각각 수명이 달라.
도착지 셋
실행별 판정은 실행이랑 같이 남아. "이 이미지는 너무 어두워서 다시 생성함"은 에피소드 하나의 자산 하나에 대해 참이야. 그 실행의 로그에, 작업 디렉터리 안에 살고, 디렉터리가 지워질 때 같이 지워져. 그게 맞아. 애초에 지식이 아니라 장부질이었고, 그걸 영원히 남기면 중요한 항목들이 파묻히니까.
일반화되는 교훈은 코드가 돼. 어떤 판정이 미래의 어떤 실행에도 해당된다면, 그건 애초에 산문에 있을 게 아냐. 빌드를 실패시키는 검사가 돼. 자막 충돌 기하, 지어낸 날짜 경계 탐지기, 언어별 오디오 측정. 전부 누군가 실행 하나에서 뭘 알아챈 데서 시작했고, 전부 이제 아무도 기억할 필요 없는 검사야.
요약 판정은 요청 스레드로 가. 이 작품이 뭐고 왜 이 모양이 됐는지를 설명하는 몇 안 되는 판단들은, 이걸 주문한 대화 옆에 있어야 해. 사람이 실제로 마주칠 자리에.
결과 — 도구는 똑똑해지고 로그는 안 길어져
이 나누기가 만들어내려고 설계된 성질이 이거고, 부작용이 아니라 목표로 말할 값어치가 있어. 순진한 방식에선 배운 게 전부 문서에 쌓여. 읽는 게 프로젝트가 될 때까지 자라고, 그 시점에 안 읽히기 시작하고, 배움의 전달이 멈춰. 수명으로 나누면 일반 교훈은 문서를 아예 떠나. 행동이 되거든. 그리고 문서는 실행 하나에 대한 감당 가능한 기록으로 남고.
스무 번 돈 파이프라인엔 짧은 로그 스무 개랑 검사로 가득 찬 도구가 있어. 반대편엔 거대한 문서 하나랑 아무것도 못 배운 도구가 있고.