"하루 한 번, 아무도 안 깬 사이, stronghold 가 자기 정직한 스냅샷을 뜨고 fresh 백업을 철해. 못 하면, 그렇다고 말해 — 조용히."
06:31 에 뭐가 도나
매일 06:31 Asia/Seoul 에 단일 프로세스가 일일 loop 를 돌려. 한 번에: strict-primary quote 와 FX refresh(fallback 없음 — Track 4 의 무인 경로)를 하고, 두 Markdown export 를 재생성하고, writable owner 당 portfolio_value_history row 하나를 append 하고(스냅샷에 시간축을 줘), SQLite-consistent 백업을 rotate 하며 최신 14개를 유지해. live 스냅샷 시스템을 durable 하고 날짜 붙은 이력과 최근 백업의 안전망을 가진 것으로 바꾸는 심박이야 — 아무도 안 건드리고.
strict-primary, 아무도 안 보니까
refresh 가 strict-primary 인 걸 봐: primary provider 만 쓰고 절대 fallback 안 해. 이건 provider-boundaries 트랙의 무인 규칙이 자기 자연스러운 집에 나타난 거야. 06:31 엔 provider 대체를 확인할 사람이 없으니, loop 는 대체를 거부해 — 깨끗한 primary 데이터를 얻거나 정직한 실패를 기록해. 일일 스냅샷은 durable 하고 canonical 이야; 가장 원치 않는 건 조용히 swap 된 fallback source 가 아무도 모르게 영구히 쓰이는 거야.
실패가 크래시 아니라 보이는 chip 이 돼
loop 가 완료 못 할 때 — provider 다운, 네트워크 끊김 — 프로세스를 크래시하거나 조용히 건너뛰지 않아. 실패를 정직하게 기록하고(ok:false 마커와 상세), 그게 UI 에 stale chip 으로 떠올라: 마지막 refresh 가 성공 못 했고 보는 데이터가 마땅한 것보다 오래됐다는 차분하고 보이는 표시. 옛 observation 은 온전히 남고; 아무것도 파괴 안 돼. Keep 이 다른 모든 종류 staleness 를 다루는 같은 low-trigger, 라벨된 방식으로 진실('이건 stale, refresh 실패')을 알아.