크라우니워드프로세서 기초도구 — 자동저장복구.한선
개요
크라우니워드프로세서 기초도구 시리즈(도구/ 디렉토리)의 "자동저장복구" 도메인을 완전 한선씨로 작성. 자기완결(임포트 없음), 자체시험 26/26 PASS.
무엇을 했는지
상태 직렬화 규약: "간격|경로|더티|마지막저장시각|이력카운트" (구분자 |, 필드분할/필드조인 내부 헬퍼로 처리)
시각은 전부 인자로 전달(체계 호출 없음) — 결정론적 테스트 보장
구현 함수(명세 15개 + 보조):
상태생성/직렬화/상태파싱+접근자 5종/상태갱신더티
저장필요판정(더티,경과,간격) — 더티=1 그리고 경과≥간격이면 참
자동저장실행(상태,내용,현재시각) — <경로>.autosave 저장 + 이력기록 + 갱신상태 반환
복구검출(경로,정상종료플래그) — autosave 존재 + 비정상종료면 참
복구실행/복구폐기 — autosave 읽기/비우기
백업순환(경로,현재내용) — .bak1←bak2←bak3 3세대 롤링
이력기록/이력포함확인 — <경로>.history에 시각|이벤트\n 덧쓰기
저장후재읽기검증 — 쓰기 후 재읽어 일치 확인
크라우니코드 이식: 문서파일.한선의 문서저장/문서열기(읽기+글자수0가드) 패턴을 안전읽기 헬퍼로, 줄분할/문단분할 관용구를 일반 구분자 필드분할로 일반화관련 파일
/Users/ef/crowny-word/도구/자동저장복구.한선 (본체)
- 컴파일:
/tmp/자동저장복구.toau (2>/tmp/자동저장복구.err)
- 참조 이식원:
/Users/ef/crowny-word/도구/문서파일.한선, /Users/ef/crowny-word/도구/텍스트버퍼.한선
크라우니코드
- lookup 사전조회 2회(자동저장/백업순환) — MISS(신규 도메인 확인,
충돌_파일_자동저장 1건만 유사 HIT이나 무관한 로직)
- learn add 4건:
자동저장복구_상태생성(별칭 자동저장복구 등록)·자동저장복구_저장필요판정·자동저장복구_복구검출·자동저장복구_백업순환
시험 결과
검사: PASS 26/26 (전부 통과, 최초 1회 컴파일+실행에서 통과 — 수정 불필요)
잔여 이슈
- 없음. VM 한계(파일삭제 함수 부재) 대응: "복구폐기"는
.autosave 파일을 빈 문자열로 덮어써 논리적 폐기 처리(실제 파일 unlink는 VM에 없음).