vignette/apps/api/app
Yun Chan bf5f7352ce 회기 종료 pinned_fact upsert를 AI evaluator 뷰로 실행
공개 /sessions/{id}/end 503(2026-08-18 실측): app.pinned_fact RLS는 learner 역할에
INSERT(소유 케이스)만 허용하고 SELECT/UPDATE는 AI 컨텍스트 또는 admin/instructor
전용이다. end_session이 learner 연결로 SELECT FOR UPDATE + INSERT ON CONFLICT
DO UPDATE 조합을 돌려 충돌 후보 행 가시성이 막히며 InsufficientPrivilegeError로
실패했고, fallback 차단이 503으로 노출됐다. 엔진이 건강해 deep 평가가 처음으로
pinned 팩트를 반환한 순간 발화한 잠복 결함이다.
- _upsert_pinned_fact_candidates_with_ai_view: 같은 learner uid 로
  acquire(ai_view='evaluator') 를 열어 INSERT/SELECT/UPDATE 정책을 모두 충족
- 검증: 공개 DB에서 롤백 재현 — learner 컨텍스트 upsert RLS 거부,
  ai_view evaluator 컨텍스트 동일 SQL 통과. app 924 passed·관련 62 passed
2026-08-18 18:36:04 +09:00
..
contracts 주기 실회기 검증과 G7 종료계약 보강 2026-08-09 23:37:19 +09:00
data G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
routes PII 표시 토큰 누출 보정 2026-08-09 21:04:29 +09:00
services 주기 실회기 검증과 G7 종료계약 보강 2026-08-09 23:37:19 +09:00
__init__.py feat(engine): claude -p 상주 멀티턴 엔진 게이트웨이 + 실동작 검증 2026-06-25 21:43:27 +09:00
auth_sessions.py feat: 운영 안정성과 세션 음성 경험 개선 2026-07-31 00:13:08 +09:00
auth_types.py 음성 재생과 운영 배포 정리 2026-06-28 12:18:20 +09:00
config.py G7 증명과 G8 clean-head 승격 준비 2026-08-09 18:22:03 +09:00
db.py feat: 운영 안정성과 세션 음성 경험 개선 2026-07-31 00:13:08 +09:00
deps.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
engine_client.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
main.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
paths.py 음성 재생과 운영 배포 정리 2026-06-28 12:18:20 +09:00
persona_generation_contract.py 런타임 계약과 학습자 흐름 보강 2026-06-29 08:12:14 +09:00
persona_read_model.py 페르소나 소스팩 동기화 정리 2026-06-28 20:12:35 +09:00
persona_repository.py 전수 E2E 순회·소유자 결정 6건 구현·디자인 감사 반영 2026-07-27 14:25:24 +09:00
runtime_policy.py Stabilize runtime auth and E2E coverage 2026-06-26 14:47:00 +09:00
runtime_schema.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
saml.py 현재 작업 전체 반영 2026-06-27 16:08:41 +09:00
session_evaluation_input.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
session_persistence.py 회기 종료 pinned_fact upsert를 AI evaluator 뷰로 실행 2026-08-18 18:36:04 +09:00
session_read_model.py G7 증명과 G8 clean-head 승격 준비 2026-08-09 18:22:03 +09:00
stage_contract.py 세션 계약과 메모리 경계 보강 2026-06-28 23:52:18 +09:00
store.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
taxonomy.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_admin_health_maintenance.py 운영 지표와 지원 요청 저장소 추가 2026-06-28 20:13:06 +09:00
test_admin_ops.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_alliance_calibration.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_alliance_measurement.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_auth_providers.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_calibration_transfer.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_calibration_transfer_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_case_worksheet_rubric.py 평가 및 화면 구조 정리 2026-06-28 21:50:21 +09:00
test_claude_usage_backfill.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_client_diagnostics.py 관리자 빈 화면 진단 로그 추가 2026-07-03 23:24:09 +09:00
test_client_reply_quality.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_continuous_improvement.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_continuous_improvement_agentic.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_continuous_improvement_producer.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_continuous_improvement_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_continuous_improvement_trigger.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_dataset_export.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_deliberate_practice.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_deliberate_practice_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_eval_routes.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
test_evaluation_persistence.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_evaluator_model_routing.py 평가 캐시와 개인정보 마스킹 보강 2026-06-28 20:12:20 +09:00
test_g7_voice_gain_evidence.py 주기 실회기 검증과 G7 종료계약 보강 2026-08-09 23:37:19 +09:00
test_learner_dashboard.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
test_live_coach_privacy.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_live_coach_sources.py 라이브코치 소스팩 새로고침 보강 2026-06-28 23:52:55 +09:00
test_llm_pricing.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_measurement_contract.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_measurement_routes.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_multimodal_alliance.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_multimodal_alliance_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_notifications.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
test_orchestrator_masking.py PII 표시 토큰 누출 보정 2026-08-09 21:04:29 +09:00
test_outcome_trajectory.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_outcome_trajectory_schema.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_outcome_trajectory_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_persona_generation_contract.py 런타임 계약과 학습자 흐름 보강 2026-06-29 08:12:14 +09:00
test_persona_review.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_phase3_artifact_checker.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
test_phase3_kpi_export.py Phase 3 KPI 계약 상수 분리 2026-06-29 00:01:24 +09:00
test_pii_masking_eval.py 세션 평가와 교수자 분석 보강 2026-07-01 12:10:52 +09:00
test_practice_runtime_observer.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_rbac_idor.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_review_summary_josa.py 전수 E2E 순회·소유자 결정 6건 구현·디자인 감사 반영 2026-07-27 14:25:24 +09:00
test_review_valence.py 전수 E2E 순회·소유자 결정 6건 구현·디자인 감사 반영 2026-07-27 14:25:24 +09:00
test_runtime_policy.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_runtime_schema_ssot.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_rupture_repair.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_rupture_repair_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_rupture_runtime.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_rupture_scenario_director.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_session_digest_worker.py 런타임 계약과 학습자 흐름 보강 2026-06-29 08:12:14 +09:00
test_session_learning_producer.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_session_memory.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_session_progress.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_session_read_model.py G7 증명과 G8 clean-head 승격 준비 2026-08-09 18:22:03 +09:00
test_session_share.py 세션 계약과 메모리 경계 보강 2026-06-28 23:52:18 +09:00
test_session_time_and_goals.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_session_turn_persistence.py PII 표시 토큰 누출 보정 2026-08-09 21:04:29 +09:00
test_stage_contract.py 세션 계약과 메모리 경계 보강 2026-06-28 23:52:18 +09:00
test_state_machine_resistance.py 대시보드 폴드아웃/드릴다운 정리 + 페르소나 역린·misconduct 반응 + 게이트웨이 격리·RAG 비차단 수정 2026-06-27 02:30:46 +09:00
test_supervision_research.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_supervision_research_producer.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_supervision_research_store.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_supervision_research_version_evaluator.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_tabular_ingest.py 전 저장소 리팩터링과 SSOT 정비 2026-07-15 21:31:30 +09:00
test_teacher_dashboard.py 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터 2026-07-02 02:50:36 +09:00
test_usage_report.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_user_onboarding_validation.py 전수 E2E 순회·소유자 결정 6건 구현·디자인 감사 반영 2026-07-27 14:25:24 +09:00
test_user_support_tickets.py 운영 지표와 지원 요청 저장소 추가 2026-06-28 20:13:06 +09:00
test_voice_runtime.py G0~G8 성과·동맹 측정 OS 작업 일괄 고정 2026-08-08 01:30:53 +09:00
test_voice_service.py G7 증명과 G8 clean-head 승격 준비 2026-08-09 18:22:03 +09:00
test_voice_ws.py PII 표시 토큰 누출 보정 2026-08-09 21:04:29 +09:00
turn_runtime.py PII 표시 토큰 누출 보정 2026-08-09 21:04:29 +09:00