전 저장소 리팩터링과 SSOT 정비

This commit is contained in:
Yun Chan 2026-07-15 21:31:30 +09:00
parent 14ecbd4e7d
commit 3dfddcac6f
173 changed files with 19679 additions and 6952 deletions

View file

@ -10,7 +10,7 @@ DB(NAS Postgres)가 단일 SoR 이지만(db.py), Docker off 개발/시연에서
from __future__ import annotations
import time
from dataclasses import asdict, dataclass, field
from dataclasses import dataclass, field
from decimal import Decimal
from typing import Optional
from uuid import uuid4
@ -69,6 +69,7 @@ class InProcSession:
ended: bool = False
prev_rapport_credit: float = 0.0 # carry-over delta 계산용
learner_label: str | None = None
goal_stages: list[str] = field(default_factory=list) # 이번 회기 목표 단계(학습자 선택, 최대 4)
def turns_visible_to(self, role: str) -> list[TurnRecord]:
return [turn for turn in self.turns if turn.is_visible_to(role)]
@ -97,6 +98,7 @@ class SessionStore:
state: SessionState,
session_no: int = 1,
carry_rapport: float = 0.0,
goal_stages: list[str] | None = None,
) -> InProcSession:
session_id = uuid4().hex
case_id = uuid4().hex
@ -110,6 +112,7 @@ class SessionStore:
state=state,
session_no=session_no,
prev_rapport_credit=carry_rapport,
goal_stages=list(goal_stages or []),
)
self._sessions[session_id] = s
return s