"각 chunk는 따로 결제됐어. 합치려 하기 전에 각각을 durable하게 저장해, 아니면 잇기 실패가 진짜 돈을 태워."
긴 텍스트는 여러 유료 호출이야
긴 구절은 한 요청으로 provider에 가지 않아 — chunk로 쪼개져, 각각 따로 합성돼(쪼개기가 정확히 어떻게 되는지는 트랙 7에서 봐). 모든 chunk가 자기 오디오를 만드는 별개의 유료 호출이야. 그 조각들이 하나의 파일로 concatenate되는 건 마지막에만이야. 그 최종 concatenation은 로컬 muxing 단계고, 로컬 단계는 실패해: 나쁜 container 플래그, 꽉 찬 디스크, 쓰기 중 크래시.
규칙: 합치기 전에 durable하게
Bellows는 반환된 각 chunk를 concatenation 전에 durable lineage로 복사해. 그래서 concat 단계가 실패해도 잃은 건 concat뿐 — 싸고, 로컬이고, 반복 가능한 연산 — 이고 유료 provider 오디오는 아냐, 이미 디스크에 안전하니까. 이게 없으면 메모리에만 있던 chunk가 muxing 실패에 사라지고, 파일 재구축은 모든 chunk를 또 결제하는 걸 뜻해. lineage가 비싼 실패를 사소한 것으로 바꿔.
lineage는 최종 파일보다 오래 살아
chunk를 두는 건 크래시 보험만이 아냐 — 나중 복구랑 Studio reroll을 새 지출 없이 가능하게 하는 거야. 최종 연결 파일은 파생물이고; chunk는 유료 원본이야. 하류에서 뭔가 재구축이 필요하면, durable chunk에서 재구축되고, provider는 이미 한 작업을 다시 하라고 요청받지 않아.