multi-turn 대화 영속화. session 단위로 turn 저장 / 조회. TUI 의 "이전 대화 이어가기", CLI --session <id> (p9-fb-18) 의 backing store.
Allowed dependencies
kebab-store-sqlite 기존 deps (rusqlite, refinery).
Public surface
마이그레이션 migrations/V004__chat_sessions.sql:
CREATETABLEchat_sessions(session_idTEXTPRIMARYKEY,-- 사용자 지정 또는 blake3 해시
created_atINTEGERNOTNULL,updated_atINTEGERNOTNULL,titleTEXT,-- 첫 question 의 첫 N 자
config_snapshot_jsonTEXTNOTNULL-- prompt_template_version, llm model 등
);CREATETABLEchat_turns(turn_idTEXTPRIMARYKEY,-- blake3(session_id || index)
session_idTEXTNOTNULLREFERENCESchat_sessions(session_id)ONDELETECASCADE,turn_indexINTEGERNOTNULL,questionTEXTNOTNULL,answerTEXTNOTNULL,citations_jsonTEXTNOTNULL,-- Vec<Citation> 직렬화
created_atINTEGERNOTNULL,UNIQUE(session_id,turn_index));CREATEINDEXidx_chat_turns_sessionONchat_turns(session_id,turn_index);