"typed layer 를 통째로 버리고 crumb 에서 다시 만들 수 있어. 그게 바로 계속 개선해도 안전한 이유야."
넷 중 두 번째 겹
네 겹 모델을 떠올려: raw crumb, 그다음 interpretation, 그다음 결정론적 aggregate, 그다음 narration. interpretation 은 두 번째 겹이고, 그 정의적 성질은 derived 라는 거야. Pippa 가 raw crumb 을 읽고 그 옆에 typed 주석을 써 — 절대 안에 쓰지 않고. raw 산문은 손대지 않은 진실이고, interpretation 은 그 위에 앉은 rebuildable 읽기야. 내일 DB 의 모든 interpretation 이 사라져도, crumb 위로 다시 돌리면 그 층이 재현돼. 그 단 하나의 사실이 진실을 절대 위험에 빠뜨리지 않고 읽기가 시간에 걸쳐 똑똑해지게 해.
interpretation 이 기록하는 것
interpretation 은 작고 정직한 기록이야. 자기가 읽은 crumb, 찾은 types, type 별로 뽑을 수 있던 필드, 딛고 선 evidence span, 그리고 — 결정적으로 — 누가 어느 rubric 아래 읽었는지: interpreter vessel 과 interpreted_at generation 을 이름 붙여. 그 provenance 가 층을 시간에 걸쳐 비교 가능하게 만들어. reading 을 보면, 어떤 model 이 만들었고 어떤 rubric 버전을 따랐는지 늘 알 수 있어서, 더 똑똑한 나중 패스가 옛 판단을 조용히 덮지 않고 그 옆에 서.
reading 이 언제 도나
interpretation worker 는 event-driven 이고, 자기 스케줄이 없어(Forge 는 cron 을 안 돌려). 시작 시 한 번 sweep 하고, 모든 crumb add·revise 뒤에 kick 돼. pending predicate 는 단일 쿼리야: crumb 은 아직 reading 이 없거나, reading 이 crumb 의 현재 revision 뒤에 있거나, reading 이 현재 RUBRIC_VERSION 뒤에 있으면 읽혀야 해. 그 한 조건이 새 crumb 과 rubric 진화를 둘 다 잡아. crumb 별 attempt cap 이 도달 불가한 뇌가 worker 를 영원히 돌리는 걸 막아 — 배려엔 typing 안 될 crumb 하나로 새벽 3시에 머신을 녹이지 않는 것도 들어가.