"하루 단위 이동은 그 날짜의 bundle 전체, 그러니까 crumb·미디어 참조·조립된 draft 를 한 저널에서 다른 저널로 옮겨."
이동은 두 크기로 와
저널이 하나에만 속하는 집이라 이동이 1급 연산이고, 두 크기로 돌아가. crumb 이동은 crumb 하나를 다른 저널로 옮겨. 하루 단위 이동은 하루 전체를 한 번에, 그러니까 그날의 crumb 과 미디어 참조와 조립된 draft 를 원본 저널에서 목적지로 옮겨. 실제로 쓸모 있는 건 하루 단위야. 하루치 항목 전체가 Daily 말고 Travel 저널에 속한다는 걸 깨닫고, crumb 을 하나씩 끄는 대신 bundle 을 단위로 옮기지.
크기가 뭐든 Track 3 의 규칙엔 예외가 없어. 이동은 덧붙이는 revision 이야. 아무것도 안 덮어쓰고 아무것도 안 부숴. crumb 의 ULID, captured_at, 타임존, 캡처 진실이 전부 이동 전 그대로야. journal_id 만 바뀌었고, 그 변경이 이제 기록된 history 의 일부가 돼. 이 하루가 예전에 다른 저널에 살았다는 걸 언제든 볼 수 있어.
왜 짝지은 이벤트가 각 책을 온전하게 지켜
이동을 수정 하나가 아니라 붙은 이벤트 둘로 하는 보상이 여기 있어. 각 저널은 자기 덧붙이기 로그를 갖고, 요점은 저널이 통째로 export 할 수 있는 자족적 책이 되는 거야. 원본 로그의 move-out 줄은 그 하루가 떠났다고 적고, 목적지 로그의 move-in 줄은 crumb 전체를 실어서 목적지 로그 혼자 그걸 되살릴 수 있게 해. 어느 로그도 완전해지려고 다른 로그에 손 뻗을 필요 없어. 원본 책은 '이게 이 날짜에 떠났어' 를 정직하게 보이고, 목적지 책은 받은 걸 다 정직하게 담아. 정체성은 두 이벤트를 함께 꿰는 그대로인 ULID 로 지켜지니까, crumb 은 전후로 같은 crumb 임이 증명돼. 그냥 새로운 데 꽂혔을 뿐이야.
draft 와 인용이 함께 타
하루 단위 이동은 draft 를 함께 데려가고, draft 가 crumb 을 저널이 아니라 ULID 로 인용하니까 하루를 옮겨도 provenance 가 안 깨져. draft 는 여전히 '나는 crumb 01J…a 와 01J…b 로 지어졌어' 라고 하고, 그 crumb 은 새 집에서 같은 ID 로 여전히 있어. 하루 전체가 한 덩어리로 옮겨져. 증거, 미디어, 뽑아낸 글이 함께. 모든 내부 링크가 여전히 닿으면서. 하루를 다른 저널로 옮기고 1년 뒤 그 draft 를 다시 열어 봐. lineage 는 온전해. 그냥 다른 책 아래 파일링됐을 뿐이야.