아키텍처 문서 페르소나 경계 반영

This commit is contained in:
Yun Chan 2026-06-28 20:15:15 +09:00
parent 2afb4f45c8
commit 7f1cd0b6fa

View file

@ -430,6 +430,9 @@ GET {ENGINE_URL}/ready|/health — readiness/liveness
### 2.12 페르소나 카탈로그 — `app/persona_repository.py`
DB `app.persona_card`가 승인 페르소나의 SoR. 이 모듈이 in-proc `PersonaCard`와 DB 행을 잇는 경계다.
브라우저-facing persona catalog/review/draft/source/evidence DTO와 deterministic mapper는
`app/persona_read_model.py`가 소유한다. `routes/personas.py`는 route/auth, teacher/admin gate,
DB repository 호출, RAG source 등록, LLM draft generation, HTTP error mapping을 유지한다.
- `load_file_personas()` / `built_in_personas()` — in-code P1~P3과 저장소 `data/personas/P4~P7.json`을 deterministic catalog로 합친다.
- `materialize_seed_personas()` — built-in P1~P7을 초기 승인 카탈로그로 누락분만 insert(admin 롤). `ON CONFLICT DO NOTHING`이므로 교수 편집본을 덮어쓰거나 `archived` 보관본을 재승인하지 않는다.