회기 집계와 기록 복귀 및 감독 근거 링크 수정
Some checks failed
API contract / OpenAPI type drift (push) Failing after 4m46s
Some checks failed
API contract / OpenAPI type drift (push) Failing after 4m46s
This commit is contained in:
parent
aa951c6c4a
commit
1306c524c1
20 changed files with 4631 additions and 60 deletions
|
|
@ -301,10 +301,15 @@ def dashboard_achievements(
|
|||
sessions: list[InProcSession],
|
||||
review_ready: dict[str, bool],
|
||||
) -> list[LearnerDashboardAchievement]:
|
||||
completed = sum(1 for sess in sessions if sess.ended)
|
||||
practice_sessions = [
|
||||
sess
|
||||
for sess in sessions
|
||||
if any(turn.speaker in ("counselor", "learner") for turn in sess.turns)
|
||||
]
|
||||
completed = sum(1 for sess in practice_sessions if sess.ended)
|
||||
active = sum(1 for sess in sessions if not sess.ended)
|
||||
review_count = sum(1 for ready in review_ready.values() if ready)
|
||||
by_persona = Counter(sess.persona_code for sess in sessions)
|
||||
by_persona = Counter(sess.persona_code for sess in practice_sessions)
|
||||
max_persona_sessions = max(by_persona.values(), default=0)
|
||||
persona_coverage = len(by_persona)
|
||||
return [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue