"숫자는 누구나 다시 돌릴 수 있는 계산이야. 말은 Pippa 거고. 그 순서를 지키면 analysis 는 주장하려고 거짓말 안 해."
경계가 곧 설계야
Analysis 는 두 겹이야. 그 사이의 선이 안전을 통째로 결정하고. 아래 겹은 결정론적 aggregation 이야. folded crumb 이랑 그 최신 interpretation 위의 순수 엔진 계산이고, 경로 어디에도 model 이 없어. 위 겹은 narration 이야. Pippa 가 그 aggregate 이랑 raw crumb 을 읽고 사람용 요약을 쓰지. 이게 건강에 적용된 Lantern 선례야. deterministic before judgment. 숫자는 model 없이 재현 가능해야 하고, 그 아래 model 이 닿는 유일한 건 explicitly versioned 된 interpretation 층이야.
aggregate 이 계산하는 것
aggregate 패스는 재현 가능한 구조를 만들어. empty range 를 이름 붙인 coverage, type 별 reading, severity spread 랑 first/last 날짜가 붙은 symptom site, workout activity 랑 그 사이 gap range, 재구성된 medication trail, measurement point, 어떤 interpreter generation 이 있는지, 그리고 아직-uninterpreted crumb 목록. 모든 그룹이 crumb ID 를 싣고. 그리고 결정적으로, 그룹핑은 case-folded exact string 만이야. 엔진은 'ball of foot' 랑 'right forefoot' 가 같은 곳이라고 정하지 않아. 그 판단은 진짜고, 진짜 판단은 위층 narration 에 살지 계산에 몰래 안 들어가.
narration 은 읽지, 다시 계산 안 해
narration 은 aggregate JSON 이랑 window 의 raw crumb 을 utility lane 으로 가져가. 다음 레슨들의 세 규칙을 binding 계약으로 실은 지시 아래서. 재현 가능한 숫자를 읽고 그것에 대해 말해. aggregate 이 담지 않은 수치는 절대 지어내지 않고. 그래서 이 분리는 미묘한 실패도 막아. 계산도 하고 narration 도 하는 model 은 자기가 말하는 이야기 쪽으로 숫자를 반올림할 수 있거든. 여기선 못 해. 이야기는 건네받은 숫자 위에 쓰이고, 그걸 바꿀 허가가 없어.