세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터
- 누적 작업트리 커밋: 회기 평가 복구·durable 저장, 라이브 코치 이력/근거, 교수자 학생분석, 음성 비언어 메타, PII 마스킹, 운영 티켓/헬스 등 - 문서: 완료 기록 docs/archive/ 냉동 보관, docs/ 단일 인덱스(docs/README.md)+통합 TODO(docs/TODO.md)로 정리 - 리팩터(행위 보존): Stage enum SSOT(taxonomy 소유·state_machine re-export), store recent/masked_turns 중복 제거, speaker_ko_label 단일 헬퍼, _list_sessions N+1 제거(state/turns 배치 + 턴평가 하이드레이션 배치) - 검증: 백엔드 pytest 352 passed, _list_sessions E2E chromium-single-run 2 passed
This commit is contained in:
parent
7c41c3ce79
commit
778e8526d4
108 changed files with 6457 additions and 455 deletions
|
|
@ -2439,6 +2439,33 @@ export interface components {
|
|||
source_note: string;
|
||||
terms: components["schemas"]["LegalDocument"];
|
||||
};
|
||||
/**
|
||||
* LiveCoachCreditEvent
|
||||
* @description 코칭 기회 사용/충전 학습 기록.
|
||||
*/
|
||||
LiveCoachCreditEvent: {
|
||||
/** Balance */
|
||||
balance: number;
|
||||
/** Created At */
|
||||
created_at: string;
|
||||
/** Delta */
|
||||
delta: number;
|
||||
/** Event Id */
|
||||
event_id: string;
|
||||
/**
|
||||
* Event Type
|
||||
* @enum {string}
|
||||
*/
|
||||
event_type: "use" | "recharge";
|
||||
/** Reason */
|
||||
reason: string;
|
||||
/** Session Id */
|
||||
session_id: string;
|
||||
/** Stage */
|
||||
stage?: ("라포" | "탐색" | "개입" | "정리") | null;
|
||||
/** Turn Seq */
|
||||
turn_seq: number;
|
||||
};
|
||||
/**
|
||||
* LiveCoachEvent
|
||||
* @description 회기 중 실제로 전달된 라이브 코칭 이력.
|
||||
|
|
@ -2462,8 +2489,11 @@ export interface components {
|
|||
};
|
||||
/** LiveCoachHistoryResponse */
|
||||
LiveCoachHistoryResponse: {
|
||||
/** Credit Events */
|
||||
credit_events?: components["schemas"]["LiveCoachCreditEvent"][];
|
||||
/** Events */
|
||||
events?: components["schemas"]["LiveCoachEvent"][];
|
||||
quota?: components["schemas"]["LiveCoachQuota"];
|
||||
/**
|
||||
* Source
|
||||
* @default runtime
|
||||
|
|
@ -2471,6 +2501,16 @@ export interface components {
|
|||
*/
|
||||
source: "database" | "runtime";
|
||||
};
|
||||
/**
|
||||
* LiveCoachQuota
|
||||
* @description 회기 중 즉시 코칭 사용 가능 횟수.
|
||||
*/
|
||||
LiveCoachQuota: {
|
||||
/** Max */
|
||||
max: number;
|
||||
/** Remaining */
|
||||
remaining: number;
|
||||
};
|
||||
/** LiveCoachRequest */
|
||||
LiveCoachRequest: {
|
||||
/** Client Reply */
|
||||
|
|
@ -2544,6 +2584,8 @@ export interface components {
|
|||
* @description 프론트가 그대로 표시하는 턴 직후 코칭 카드.
|
||||
*/
|
||||
LiveCoachSuggestion: {
|
||||
/** Credit Events */
|
||||
credit_events?: components["schemas"]["LiveCoachCreditEvent"][];
|
||||
/**
|
||||
* Focus
|
||||
* @default exploration
|
||||
|
|
@ -2559,6 +2601,13 @@ export interface components {
|
|||
message: string;
|
||||
/** Next Utterance */
|
||||
next_utterance?: string | null;
|
||||
/**
|
||||
* Persistence Source
|
||||
* @default database
|
||||
* @enum {string}
|
||||
*/
|
||||
persistence_source: "database" | "runtime";
|
||||
quota?: components["schemas"]["LiveCoachQuota"] | null;
|
||||
/** Rationale */
|
||||
rationale?: string | null;
|
||||
/** Safety Note */
|
||||
|
|
@ -3784,6 +3833,14 @@ export interface components {
|
|||
client_turn_count: number;
|
||||
/** Ended At */
|
||||
ended_at?: string | null;
|
||||
/** Evaluation Error */
|
||||
evaluation_error?: string | null;
|
||||
/**
|
||||
* Evaluation Status
|
||||
* @default pending
|
||||
* @enum {string}
|
||||
*/
|
||||
evaluation_status: "pending" | "ready" | "error";
|
||||
/** Learner Id */
|
||||
learner_id: string;
|
||||
/** Learner Label */
|
||||
|
|
@ -3796,6 +3853,11 @@ export interface components {
|
|||
persona_name: string;
|
||||
/** Review Note */
|
||||
review_note?: string | null;
|
||||
/**
|
||||
* Review Ready
|
||||
* @default false
|
||||
*/
|
||||
review_ready: boolean;
|
||||
/**
|
||||
* Review Status
|
||||
* @default pending
|
||||
|
|
@ -3817,6 +3879,12 @@ export interface components {
|
|||
started_at: string;
|
||||
/** Status */
|
||||
status: string;
|
||||
/**
|
||||
* Supervisor State
|
||||
* @default 기록 대기
|
||||
* @enum {string}
|
||||
*/
|
||||
supervisor_state: "기록 대기" | "평가 대기" | "평가 완료" | "평가 실패";
|
||||
/** Turn Count */
|
||||
turn_count: number;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -201,8 +201,10 @@ export type SessionStartResponse = ApiSchema<"SessionStartResponse">;
|
|||
/** POST /sessions/{id}/turn — sessions.py TurnResponse */
|
||||
export type TurnResponse = ApiSchema<"TurnResponse">;
|
||||
export type LiveCoachRequest = ApiSchema<"LiveCoachRequest">;
|
||||
export type LiveCoachCreditEvent = ApiSchema<"LiveCoachCreditEvent">;
|
||||
export type LiveCoachEvent = ApiSchema<"LiveCoachEvent">;
|
||||
export type LiveCoachHistoryResponse = ApiSchema<"LiveCoachHistoryResponse">;
|
||||
export type LiveCoachQuota = ApiSchema<"LiveCoachQuota">;
|
||||
export type LiveCoachSuggestion = ApiSchema<"LiveCoachSuggestion">;
|
||||
export type LiveCoachSource = ApiSchema<"LiveCoachSource">;
|
||||
export type ReevaluateRequest = ApiSchema<"ReevaluateRequest">;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue