/* * **체크포인트를 쓰기 직전에 끝난 오더를 접는다** — ADR-0092 결정 1. * * 커널은 스스로 접지 않는다. 접는 때를 체크포인트에 맞춰야 접힌 쪽이 씨앗과 같은 때에 적히고, 재기동 동치(`재개점 + 꼬리 == * 0부터 접기`)가 선다. 그래서 체크포인트를 쓰는 호스트가 부른다. 두 구동이 가진 커널이 다르다 — 미러는 `projector`(관측 모드 * 커널), 시뮬은 `kernel` 이다. 둘 중 그 구동의 것을 부르고, 접는 문이 없는 옛 커널이면 아무것도 하지 않는다. */ export function foldForCheckpoint(inst: { mode?: 'sim' | 'live'; projector?: any; kernel?: any } | undefined): number { const k = inst?.mode === 'live' ? inst.projector : inst?.kernel if (typeof k?.foldFinishedOrders !== 'function') return 0 return Number(k.foldFinishedOrders()) || 0 }