8월 7일까지 워킹트리에만 남아 있던 미커밋 작업을 커밋한다. 여러 사본 폴더(worktree·clone)에 흩어져 있던 중간 스냅샷을 정리하기 전에 원본을 git 이력으로 고정하는 것이 목적이다. - contracts/routes/services: measurement, outcome_trajectory, rupture_repair, deliberate_practice, calibration_transfer, supervision_research, multimodal_alliance, continuous_improvement 계열 신규 모듈과 테스트 - infra/db/init: 07~16 마이그레이션(측정 기반~calibration transfer 실행) - apps/web: 세션 리뷰 카드·관리 화면·E2E 스펙 추가 - docs/ops: G0~G8 라이브 통합·배포·롤백 증거 문서와 evidence JSON/PNG - scripts: smoke·ledger·릴리스 에이전트·NAS 프리뷰 운영 스크립트 engine.public 로그 .bak과 apps/web/test-results 산출물은 커밋에서 제외했다.
4.7 KiB
4.7 KiB
Outcome & Alliance OS 측정 provenance inventory
범위: AOS-001. 현재 Vignette가 생산·표시하는 점수와 신호의 실제 의미를 고정한다.
판정 원칙: 기존 이름을 근거로 임상 구성개념으로 승격하지 않는다. 같은 화면에 비교 표시는 가능하지만, 출처와 관점이 다른 값을 하나의 평균·총점으로 합치지 않는다.
source_kind 계약
| source_kind | 의미 | 허용 관점 | 모델 실행 근거 |
|---|---|---|---|
simulated_state |
규칙·상태머신이 만든 가상내담자 진행 상태 | client_simulation |
불필요 |
model_inferred |
독립 평가 모델의 관찰 기반 추정 | independent_observer |
필수 |
agent_reported |
가상내담자 에이전트가 자기 관점으로 보고 | client_agent_report |
필수 |
learner_reported |
수련생 자기평가·설문 | learner_self_report |
불필요 |
human_rated |
교수자·인간 평가자 평정 | supervisor_human |
불필요 |
observed_runtime |
완료·지연·사용량·테스트처럼 시스템이 직접 관측 | runtime_observation |
불필요 |
현재 신호 source map
| 현재 신호 | 현재 생성 경로 | 새 출처·관점 | 새 구성개념·차원 | 허용 주장 | 금지 주장 |
|---|---|---|---|---|---|
session_state.rapport_credit |
state_machine.py 규칙 누적 |
simulated_state / client_simulation |
simulation_progress.rapport_credit |
시뮬레이션 개방 진행 | 내담자 보고 치료동맹, 실제 상담성과 |
effective_openness |
단계값 + rapport - resistance | simulated_state / client_simulation |
simulation_progress.effective_openness |
현재 페르소나 반응 가능성 | 내담자의 실제 기능·증상 변화 |
case_profile.alliance_level |
회기말 rapport EWMA | simulated_state / client_simulation |
simulation_progress.legacy_alliance_level |
종단 시뮬레이션 연속성 | Working Alliance 총점·goal/task/bond |
TurnEvaluation.appropriateness |
fast evaluator LLM | model_inferred / independent_observer |
counselor_skill.appropriateness |
모델 기반 훈련 피드백 | 인간 평가와 동등한 숙련도 |
TurnEvaluation.rapport_signal |
fast evaluator LLM | model_inferred / independent_observer |
counselor_skill.rapport_signal |
턴 단위 관계 방향 추정 | 내담자가 실제로 느낀 bond |
TurnEvaluation.techniques |
fast evaluator taxonomy 태그 | model_inferred / independent_observer |
counselor_skill.technique_occurrence |
기법 후보·빈도 | 기법의 효과, 숙련도, 치료성과 |
SessionEvaluation.distribution |
fast 태그 집계 + deep 평가 | model_inferred / independent_observer |
counselor_skill.technique_occurrence_count |
회기 내 모델 태그 분포 | 역량 mastery |
SessionEvaluation.strengths/improvements |
deep evaluator LLM | model_inferred / independent_observer |
정성 evidence, 수치 아님 | 근거 장면을 포함한 코칭 | 독립 척도 점수 |
clientFeedback |
마지막 내담자 반응 파생 | agent_reported 후보, 현재 미계측 |
현재 측정 원장 적재 금지 | 회기 말 내담자 반응 문장 | 성과 척도, 내담자 만족도 점수 |
session_metrics 성장값 |
위 fast/deep 값의 read model | 원천 이벤트의 provenance 상속 | 별도 원천 측정 아님 | 모델 평가 추이 | 임상역량의 검증된 성장률 |
| Phase 3 pre/post | 수련생 설문 원장 | learner_reported / learner_self_report |
self_calibration.* |
파일럿 자기보고 변화 | 임상 효과성(문항·분석 전) |
| Phase 3 κ/ICC | 인간 라벨 간 합치도 | human_rated / supervisor_human |
평가 신뢰도 메타측정 | 평가자 합치도 | 개인 수련생의 실력 |
| Phase 3 완주·SUS·환각률 | runtime/설문/인간 검수 혼합 | 지표별 분리 | 지표별 별도 dimension | 해당 지표 정의 범위 | 하나의 종합 품질점수 |
원장에 넣지 않는 것
strengths,improvements,clientFeedback같은 정성 텍스트를 임의 숫자로 변환하지 않는다.rapport_credit와alliance_level을working_alliance로 이름만 바꿔 저장하지 않는다.- 모델 confidence를 심리측정 신뢰도로 표시하지 않는다.
- 서로 다른
source_kind·perspective를 평균한 단일 총점을 만들지 않는다.
구현 연결
- Python 계약:
apps/api/app/contracts/measurement.py - legacy adapter:
apps/api/app/services/measurement_legacy.py - DB 원장:
infra/db/init/07_measurement_foundation.sql - benchmark pack:
apps/api/app/data/outcome_alliance_benchmark_g0.v1.json - 다음 단계: AOS-005의 goal/task/bond 3관점 schema는 이 원장 위에 별도 이벤트로 적재한다.