{ "$defs": { "AllianceAgentAssessment": { "$defs": { "AllianceDimensionAssessment": { "additionalProperties": false, "description": "한 관점의 한 동맹 축 평가와 transcript 근거.", "properties": { "confidence": { "maximum": 1.0, "minimum": 0.0, "title": "Confidence", "type": "number" }, "evidence_turn_indices": { "items": { "type": "integer" }, "maxItems": 12, "minItems": 1, "title": "Evidence Turn Indices", "type": "array" }, "rationale": { "maxLength": 1200, "minLength": 1, "title": "Rationale", "type": "string" }, "score": { "maximum": 1.0, "minimum": 0.0, "title": "Score", "type": "number" } }, "required": [ "score", "confidence", "evidence_turn_indices", "rationale" ], "title": "AllianceDimensionAssessment", "type": "object" } }, "additionalProperties": false, "description": "client-agent 또는 observer가 독립 실행으로 만든 3축 평가.", "properties": { "bond": { "$ref": "#/$defs/AllianceDimensionAssessment" }, "goal": { "$ref": "#/$defs/AllianceDimensionAssessment" }, "task": { "$ref": "#/$defs/AllianceDimensionAssessment" } }, "required": [ "goal", "task", "bond" ], "title": "AllianceAgentAssessment", "type": "object" }, "AllianceScores": { "additionalProperties": false, "description": "goal/task/bond를 서로 가리지 않는 독립 0..1 점수.", "properties": { "bond": { "maximum": 1.0, "minimum": 0.0, "title": "Bond", "type": "number" }, "goal": { "maximum": 1.0, "minimum": 0.0, "title": "Goal", "type": "number" }, "task": { "maximum": 1.0, "minimum": 0.0, "title": "Task", "type": "number" } }, "required": [ "goal", "task", "bond" ], "title": "AllianceScores", "type": "object" }, "BenchmarkCase": { "$defs": { "BenchmarkExpectation": { "additionalProperties": false, "properties": { "construct": { "enum": [ "working_alliance", "session_outcome", "rupture_repair", "counselor_skill", "self_calibration", "transfer", "simulation_progress" ], "title": "Construct", "type": "string" }, "dimension": { "minLength": 1, "title": "Dimension", "type": "string" }, "direction": { "enum": [ "low", "mid", "high", "drop", "rise", "detected", "not_detected" ], "title": "Direction", "type": "string" }, "evidence_turn_indices": { "items": { "type": "integer" }, "minItems": 1, "title": "Evidence Turn Indices", "type": "array" }, "perspective": { "enum": [ "client_agent_report", "learner_self_report", "independent_observer", "supervisor_human", "client_simulation", "runtime_observation" ], "title": "Perspective", "type": "string" }, "source_kind": { "enum": [ "simulated_state", "model_inferred", "agent_reported", "learner_reported", "human_rated", "observed_runtime" ], "title": "Source Kind", "type": "string" } }, "required": [ "construct", "dimension", "perspective", "source_kind", "direction", "evidence_turn_indices" ], "title": "BenchmarkExpectation", "type": "object" }, "BenchmarkTurn": { "additionalProperties": false, "properties": { "speaker": { "enum": [ "counselor", "client" ], "title": "Speaker", "type": "string" }, "text": { "minLength": 1, "title": "Text", "type": "string" } }, "required": [ "speaker", "text" ], "title": "BenchmarkTurn", "type": "object" } }, "additionalProperties": false, "properties": { "case_id": { "pattern": "^oas-g0-[0-9]{3}$", "title": "Case Id", "type": "string" }, "description_ko": { "minLength": 1, "title": "Description Ko", "type": "string" }, "expected": { "items": { "$ref": "#/$defs/BenchmarkExpectation" }, "minItems": 1, "title": "Expected", "type": "array" }, "forbidden_claims": { "items": { "type": "string" }, "minItems": 1, "title": "Forbidden Claims", "type": "array" }, "scene_type": { "enum": [ "goal_mismatch", "task_mismatch", "empathic_miss", "withdrawal", "confrontation", "successful_repair", "failed_repair", "warm_but_directionless" ], "title": "Scene Type", "type": "string" }, "tags": { "default": [], "items": { "type": "string" }, "title": "Tags", "type": "array" }, "title_ko": { "minLength": 1, "title": "Title Ko", "type": "string" }, "turns": { "items": { "$ref": "#/$defs/BenchmarkTurn" }, "minItems": 2, "title": "Turns", "type": "array" }, "version": { "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$", "title": "Version", "type": "string" } }, "required": [ "case_id", "version", "scene_type", "title_ko", "description_ko", "turns", "expected", "forbidden_claims" ], "title": "BenchmarkCase", "type": "object" }, "MeasurementEvent": { "additionalProperties": false, "description": "append-only 측정 이벤트.\n\n정정은 기존 행 변경이 아니라 새 이벤트의 ``supersedes_id``로 표현한다.", "properties": { "confidence": { "anyOf": [ { "maximum": 1.0, "minimum": 0.0, "type": "number" }, { "type": "null" } ], "default": null, "title": "Confidence" }, "construct": { "enum": [ "working_alliance", "session_outcome", "rupture_repair", "counselor_skill", "self_calibration", "transfer", "simulation_progress" ], "title": "Construct", "type": "string" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "dimension": { "maxLength": 120, "minLength": 1, "title": "Dimension", "type": "string" }, "error_code": { "anyOf": [ { "maxLength": 120, "type": "string" }, { "type": "null" } ], "default": null, "title": "Error Code" }, "evidence_turn_ids": { "default": [], "items": { "format": "uuid", "type": "string" }, "title": "Evidence Turn Ids", "type": "array" }, "instrument_id": { "maxLength": 120, "minLength": 1, "title": "Instrument Id", "type": "string" }, "instrument_version": { "maxLength": 40, "minLength": 1, "title": "Instrument Version", "type": "string" }, "measurement_id": { "format": "uuid", "title": "Measurement Id", "type": "string" }, "metadata": { "title": "Metadata", "type": "object" }, "model_run_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Model Run Id" }, "perspective": { "enum": [ "client_agent_report", "learner_self_report", "independent_observer", "supervisor_human", "client_simulation", "runtime_observation" ], "title": "Perspective", "type": "string" }, "pulse_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Pulse Id" }, "scale_max": { "title": "Scale Max", "type": "number" }, "scale_min": { "title": "Scale Min", "type": "number" }, "session_id": { "format": "uuid", "title": "Session Id", "type": "string" }, "source_kind": { "enum": [ "simulated_state", "model_inferred", "agent_reported", "learner_reported", "human_rated", "observed_runtime" ], "title": "Source Kind", "type": "string" }, "status": { "default": "ready", "enum": [ "ready", "degraded", "error", "rejected" ], "title": "Status", "type": "string" }, "supersedes_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Supersedes Id" }, "turn_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Turn Id" }, "value": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Value" }, "visible_to": { "default": [ "evaluator" ], "items": { "enum": [ "client", "counselor", "evaluator", "supervisor", "research" ], "type": "string" }, "title": "Visible To", "type": "array" } }, "required": [ "session_id", "construct", "dimension", "perspective", "source_kind", "instrument_id", "instrument_version", "scale_min", "scale_max" ], "title": "MeasurementEvent", "type": "object" }, "MeasurementInstrument": { "additionalProperties": false, "description": "척도·훈련지표·시뮬레이션 신호의 버전 고정 레지스트리.", "properties": { "construct": { "enum": [ "working_alliance", "session_outcome", "rupture_repair", "counselor_skill", "self_calibration", "transfer", "simulation_progress" ], "title": "Construct", "type": "string" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "instrument_id": { "maxLength": 120, "minLength": 1, "title": "Instrument Id", "type": "string" }, "instrument_kind": { "enum": [ "validated_measure", "training_metric", "simulation_signal", "runtime_metric" ], "title": "Instrument Kind", "type": "string" }, "instrument_version": { "maxLength": 40, "minLength": 1, "title": "Instrument Version", "type": "string" }, "language": { "default": "ko-KR", "maxLength": 35, "minLength": 2, "title": "Language", "type": "string" }, "license_id": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "License Id" }, "metadata": { "title": "Metadata", "type": "object" }, "name_ko": { "maxLength": 200, "minLength": 1, "title": "Name Ko", "type": "string" }, "scoring_schema": { "title": "Scoring Schema", "type": "object" }, "validation_basis": { "maxLength": 1000, "minLength": 1, "title": "Validation Basis", "type": "string" } }, "required": [ "instrument_id", "instrument_version", "name_ko", "instrument_kind", "construct", "validation_basis" ], "title": "MeasurementInstrument", "type": "object" }, "ModelRun": { "additionalProperties": false, "description": "측정을 만든 모델 실행의 재현·드리프트 감사 계약.", "properties": { "agent_role": { "enum": [ "client", "evaluator", "coach", "scenario", "research" ], "title": "Agent Role", "type": "string" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "error_code": { "anyOf": [ { "maxLength": 120, "type": "string" }, { "type": "null" } ], "default": null, "title": "Error Code" }, "input_evidence_hash": { "pattern": "^[a-f0-9]{64}$", "title": "Input Evidence Hash", "type": "string" }, "metadata": { "title": "Metadata", "type": "object" }, "model": { "maxLength": 160, "minLength": 1, "title": "Model", "type": "string" }, "model_run_id": { "format": "uuid", "title": "Model Run Id", "type": "string" }, "prompt_bundle_hash": { "pattern": "^[a-f0-9]{64}$", "title": "Prompt Bundle Hash", "type": "string" }, "prompt_bundle_id": { "maxLength": 160, "minLength": 1, "title": "Prompt Bundle Id", "type": "string" }, "prompt_bundle_version": { "maxLength": 40, "minLength": 1, "title": "Prompt Bundle Version", "type": "string" }, "provider": { "maxLength": 80, "minLength": 1, "title": "Provider", "type": "string" }, "session_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Session Id" }, "status": { "default": "ready", "enum": [ "ready", "degraded", "error" ], "title": "Status", "type": "string" }, "structured_schema_version": { "maxLength": 80, "minLength": 1, "title": "Structured Schema Version", "type": "string" }, "turn_id": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "default": null, "title": "Turn Id" } }, "required": [ "agent_role", "provider", "model", "prompt_bundle_id", "prompt_bundle_version", "prompt_bundle_hash", "structured_schema_version", "input_evidence_hash" ], "title": "ModelRun", "type": "object" } }, "$id": "https://vignette.local/contracts/measurement_contract.v1.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "enums": { "aiViews": [ "client", "counselor", "evaluator", "supervisor", "research" ], "allianceCheckpoints": [ "pre", "mid", "post" ], "allianceDimensions": [ "goal", "task", "bond" ], "constructs": [ "working_alliance", "session_outcome", "rupture_repair", "counselor_skill", "self_calibration", "transfer", "simulation_progress" ], "instrumentKinds": [ "validated_measure", "training_metric", "simulation_signal", "runtime_metric" ], "measurementStatuses": [ "ready", "degraded", "error", "rejected" ], "modelRunStatuses": [ "ready", "degraded", "error" ], "perspectives": [ "client_agent_report", "learner_self_report", "independent_observer", "supervisor_human", "client_simulation", "runtime_observation" ], "sourceKinds": [ "simulated_state", "model_inferred", "agent_reported", "learner_reported", "human_rated", "observed_runtime" ] }, "sourcePerspectiveCompatibility": { "agent_reported": [ "client_agent_report" ], "human_rated": [ "supervisor_human" ], "learner_reported": [ "learner_self_report" ], "model_inferred": [ "independent_observer" ], "observed_runtime": [ "runtime_observation" ], "simulated_state": [ "client_simulation" ] }, "title": "Vignette Outcome & Alliance Measurement Contract", "version": 1 }