# 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는 이 원장 위에 별도 이벤트로 적재한다.