review(p9-fb-18): 회차 1 nit 반영

- `App::build_retriever(mode) -> Result<Arc<dyn Retriever>>` 추출.
  `ask` 와 `ask_with_session` 모두 사용. 35+ 줄 retriever stack 중복
  제거 — 미래 retriever 변경이 한 곳만.
- V005 migration `chat_sessions.sql` 의 `citations_json` doc 수정:
  `Vec<Citation>` → `Vec<AnswerCitation>` (실제 stored type 과 일치).
  AnswerCitation 가 marker + Citation 등 포함하므로 deserialize 시
  type mismatch 회피.

15 app lib + 9 store chat_sessions + clippy 통과.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 06:25:13 +00:00
parent 4f96b1b01d
commit 6ca089286c
2 changed files with 22 additions and 50 deletions

View File

@@ -25,9 +25,10 @@
-- max_context_tokens that produced the session so a retroactive
-- answer-quality regression can be re-traced.
--
-- * `citations_json` carries `Vec<Citation>` so the answer can be
-- redisplayed with the same citation markers a future session
-- sees on resume.
-- * `citations_json` carries `Vec<AnswerCitation>` (per p9-fb-18) —
-- each AnswerCitation holds a `Citation` plus `marker`, so the
-- answer can be redisplayed with the same citation markers a
-- future session sees on resume.
--
-- * `INTEGER` timestamps (unix epoch seconds) — same convention the
-- rest of the schema uses (P1-7 baselines this).