G0~G8 성과·동맹 측정 OS 작업 일괄 고정
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 산출물은 커밋에서 제외했다.
This commit is contained in:
parent
93dd8f82d7
commit
16e791e044
390 changed files with 243188 additions and 499 deletions
738
apps/api/app/data/deliberate_practice_benchmark_g4.v1.json
Normal file
738
apps/api/app/data/deliberate_practice_benchmark_g4.v1.json
Normal file
|
|
@ -0,0 +1,738 @@
|
|||
{
|
||||
"schema_version": "vignette.deliberate-practice-benchmark.v1",
|
||||
"data_classification": "synthetic_educational",
|
||||
"clinical_claim_allowed": false,
|
||||
"version": "1.0.0",
|
||||
"cases": [
|
||||
{
|
||||
"case_id": "oas-g4-bench-001",
|
||||
"title_ko": "자기 성공 주장만으로 보상을 얻으려는 시도",
|
||||
"coaching_cards": [
|
||||
{
|
||||
"card_id": "oas-g4-card-reward-claim",
|
||||
"scene_id": "scene-reward-claim",
|
||||
"coach_claim": "내담자의 핵심 정서를 반영한 뒤 반응을 확인하는 행동을 다시 연습한다.",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b001-card-scene",
|
||||
"scene_id": "scene-reward-claim",
|
||||
"turn_index": 4,
|
||||
"actor": "client",
|
||||
"kind": "scene_context"
|
||||
}
|
||||
],
|
||||
"source_refs": ["source-pack:micro-skill-reflection:v1"],
|
||||
"uncertainty": 0.2,
|
||||
"counterevidence": ["learner_self_report_alone_is_not_performance_evidence"],
|
||||
"targets": [
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-reward-replay",
|
||||
"competency_id": "competency.empathy.reflection",
|
||||
"criterion_id": "criterion.reflect-and-check",
|
||||
"observable_behavior": "핵심 정서를 한 문장으로 반영하고 내담자에게 맞는지 확인한다.",
|
||||
"activity": {
|
||||
"mode": "replay",
|
||||
"scenario_variant_id": "variant-reward-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 1,
|
||||
"pause_at_evidence_ref": "b001-card-scene"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"graph": {
|
||||
"definitions": [
|
||||
{
|
||||
"competency_id": "competency.empathy.reflection",
|
||||
"label_ko": "정서 반영과 확인",
|
||||
"description": "내담자의 정서를 반영하고 실제 수용 여부를 확인하는 미세기술이다.",
|
||||
"prerequisite_ids": []
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"competency_id": "competency.empathy.reflection",
|
||||
"band": "unassessed",
|
||||
"forgetting_risk": 0.72,
|
||||
"uncertainty": 1.0,
|
||||
"attempt_count": 0,
|
||||
"familiar_demonstrations": 0,
|
||||
"unseen_transfer_demonstrations": 0,
|
||||
"highest_familiar_difficulty": 0,
|
||||
"evidence_refs": [],
|
||||
"counterevidence": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"episodes": [
|
||||
{
|
||||
"episode_id": "oas-g4-episode-reward-claim",
|
||||
"prescription_id": "oas-g4-practice-reward-replay",
|
||||
"attempts": [
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-reward-claim-1",
|
||||
"prescription_id": "oas-g4-practice-reward-replay",
|
||||
"competency_id": "competency.empathy.reflection",
|
||||
"sequence_no": 1,
|
||||
"scenario_variant_id": "variant-reward-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 1,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.reflect-and-check",
|
||||
"status": "not_observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [],
|
||||
"counterevidence": ["question_changed_topic_without_reflection"],
|
||||
"uncertainty": 0.2
|
||||
},
|
||||
"client_response": "compliance_only",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b001-learner-1",
|
||||
"scene_id": "scene-reward-claim",
|
||||
"turn_index": 5,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b001-client-1",
|
||||
"scene_id": "scene-reward-claim",
|
||||
"turn_index": 6,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.2,
|
||||
"counterevidence": ["no_observed_client_impact"],
|
||||
"utterance_template_id": "topic-shift-v1",
|
||||
"learner_claimed_success": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected": {
|
||||
"episode_progress": ["practicing"],
|
||||
"final_competency_id": "competency.empathy.reflection",
|
||||
"final_band": "fragile",
|
||||
"selected_prescription_id": "oas-g4-practice-reward-replay"
|
||||
},
|
||||
"tags": ["reward_hacking"],
|
||||
"forbidden_claims": ["자기 성공 주장이나 보상 신호만으로 역량이 향상되었다고 단정하지 않는다."]
|
||||
},
|
||||
{
|
||||
"case_id": "oas-g4-bench-002",
|
||||
"title_ko": "이미 성공한 쉬운 장면 반복 대신 난이도 사다리 선택",
|
||||
"coaching_cards": [
|
||||
{
|
||||
"card_id": "oas-g4-card-easy-repeat",
|
||||
"scene_id": "scene-easy-repeat",
|
||||
"coach_claim": "익숙한 확인 질문 반복을 중단하고 표현과 저항이 달라지는 난이도 사다리로 이동한다.",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b002-card-scene",
|
||||
"scene_id": "scene-easy-repeat",
|
||||
"turn_index": 8,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"source_refs": ["source-pack:graded-practice:v1"],
|
||||
"uncertainty": 0.18,
|
||||
"counterevidence": ["three_familiar_demonstrations_do_not_prove_transfer"],
|
||||
"targets": [
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-easy-replay",
|
||||
"competency_id": "competency.goal.collaboration",
|
||||
"criterion_id": "criterion.goal-check-familiar",
|
||||
"observable_behavior": "익숙한 장면에서 목표가 내담자에게 맞는지 한 번 확인한다.",
|
||||
"activity": {
|
||||
"mode": "replay",
|
||||
"scenario_variant_id": "variant-goal-easy",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 1,
|
||||
"pause_at_evidence_ref": "b002-card-scene"
|
||||
}
|
||||
},
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-goal-ladder",
|
||||
"competency_id": "competency.goal.collaboration",
|
||||
"criterion_id": "criterion.goal-check-adaptive",
|
||||
"observable_behavior": "저항 표현이 달라져도 내담자의 언어로 공동 목표를 다시 합의한다.",
|
||||
"activity": {
|
||||
"mode": "difficulty_ladder",
|
||||
"scenario_variant_id": "variant-goal-transfer",
|
||||
"scenario_novelty": "unseen_transfer",
|
||||
"difficulty_level": 4,
|
||||
"steps": [
|
||||
{
|
||||
"level": 2,
|
||||
"variation": "목표가 모호하지만 협조적인 익숙한 내담자",
|
||||
"scenario_variant_id": "variant-goal-medium",
|
||||
"scenario_novelty": "familiar"
|
||||
},
|
||||
{
|
||||
"level": 4,
|
||||
"variation": "상담자 목표를 거부하는 새로운 관계 스타일의 내담자",
|
||||
"scenario_variant_id": "variant-goal-transfer",
|
||||
"scenario_novelty": "unseen_transfer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"graph": {
|
||||
"definitions": [
|
||||
{
|
||||
"competency_id": "competency.goal.collaboration",
|
||||
"label_ko": "공동 목표 합의",
|
||||
"description": "상담자 목표가 아니라 내담자와 공동으로 회기 목표를 합의한다.",
|
||||
"prerequisite_ids": []
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"competency_id": "competency.goal.collaboration",
|
||||
"band": "consistent_local",
|
||||
"forgetting_risk": 0.81,
|
||||
"uncertainty": 0.22,
|
||||
"attempt_count": 3,
|
||||
"familiar_demonstrations": 3,
|
||||
"unseen_transfer_demonstrations": 0,
|
||||
"highest_familiar_difficulty": 2,
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b002-history",
|
||||
"scene_id": "scene-easy-repeat",
|
||||
"turn_index": 7,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"counterevidence": ["unseen_transfer_not_verified"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"episodes": [],
|
||||
"expected": {
|
||||
"episode_progress": [],
|
||||
"final_competency_id": "competency.goal.collaboration",
|
||||
"final_band": "consistent_local",
|
||||
"selected_prescription_id": "oas-g4-practice-goal-ladder"
|
||||
},
|
||||
"tags": ["easy_repeat_hacking", "unseen_transfer_gate"],
|
||||
"forbidden_claims": ["쉬운 장면의 반복 성공을 전이 숙련으로 승격하지 않는다."]
|
||||
},
|
||||
{
|
||||
"case_id": "oas-g4-bench-003",
|
||||
"title_ko": "같은 문구 암기로 미지 사례를 통과하려는 시도",
|
||||
"coaching_cards": [
|
||||
{
|
||||
"card_id": "oas-g4-card-memorized-phrase",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"coach_claim": "짧게 영향을 인정하고 현재 내담자의 반응을 확인하는 문맥 적합 발화를 연습한다.",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-card-scene",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 2,
|
||||
"actor": "client",
|
||||
"kind": "scene_context"
|
||||
}
|
||||
],
|
||||
"source_refs": ["source-pack:rupture-repair-micropractice:v1"],
|
||||
"uncertainty": 0.16,
|
||||
"counterevidence": ["formulaic_language_can_hide_context_mismatch"],
|
||||
"targets": [
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-repair-constrained",
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"criterion_id": "criterion.acknowledge-impact-and-check",
|
||||
"observable_behavior": "40단어 안에서 자신의 영향을 인정하고 내담자의 현재 반응을 확인한다.",
|
||||
"activity": {
|
||||
"mode": "constrained_response",
|
||||
"scenario_variant_id": "variant-repair-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"max_words": 40,
|
||||
"required_moves": ["impact_acknowledgement", "follow_up_check"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"graph": {
|
||||
"definitions": [
|
||||
{
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"label_ko": "영향 인정",
|
||||
"description": "상담자의 기여와 영향을 인정하고 내담자의 실제 반응을 다시 확인한다.",
|
||||
"prerequisite_ids": []
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"band": "unassessed",
|
||||
"forgetting_risk": 0.66,
|
||||
"uncertainty": 1.0,
|
||||
"attempt_count": 0,
|
||||
"familiar_demonstrations": 0,
|
||||
"unseen_transfer_demonstrations": 0,
|
||||
"highest_familiar_difficulty": 0,
|
||||
"evidence_refs": [],
|
||||
"counterevidence": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"episodes": [
|
||||
{
|
||||
"episode_id": "oas-g4-episode-memorized-phrase",
|
||||
"prescription_id": "oas-g4-practice-repair-constrained",
|
||||
"attempts": [
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-memorized-1",
|
||||
"prescription_id": "oas-g4-practice-repair-constrained",
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"sequence_no": 1,
|
||||
"scenario_variant_id": "variant-repair-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.acknowledge-impact-and-check",
|
||||
"status": "not_observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [],
|
||||
"counterevidence": ["impact_not_acknowledged"],
|
||||
"uncertainty": 0.2
|
||||
},
|
||||
"client_response": "rejecting",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-a1-learner",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 3,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b003-a1-client",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 4,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.2,
|
||||
"counterevidence": ["client_rejected_deflection"],
|
||||
"utterance_template_id": "magic-repair-v1"
|
||||
},
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-memorized-2",
|
||||
"prescription_id": "oas-g4-practice-repair-constrained",
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"sequence_no": 2,
|
||||
"scenario_variant_id": "variant-repair-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.acknowledge-impact-and-check",
|
||||
"status": "observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-a2-eval",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 7,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"counterevidence": [],
|
||||
"uncertainty": 0.18
|
||||
},
|
||||
"client_response": "engaged",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-a2-learner",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 5,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b003-a2-client",
|
||||
"scene_id": "scene-memorized-phrase",
|
||||
"turn_index": 6,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.18,
|
||||
"counterevidence": [],
|
||||
"utterance_template_id": "magic-repair-v1"
|
||||
},
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-memorized-3",
|
||||
"prescription_id": "oas-g4-practice-repair-constrained",
|
||||
"competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"sequence_no": 3,
|
||||
"scenario_variant_id": "variant-cultural-miss-unseen",
|
||||
"scenario_novelty": "unseen_transfer",
|
||||
"difficulty_level": 4,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.acknowledge-impact-and-check",
|
||||
"status": "observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-a3-eval",
|
||||
"scene_id": "scene-cultural-miss-unseen",
|
||||
"turn_index": 3,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"counterevidence": [],
|
||||
"uncertainty": 0.2
|
||||
},
|
||||
"client_response": "engaged",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b003-a3-learner",
|
||||
"scene_id": "scene-cultural-miss-unseen",
|
||||
"turn_index": 1,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b003-a3-client",
|
||||
"scene_id": "scene-cultural-miss-unseen",
|
||||
"turn_index": 2,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.2,
|
||||
"counterevidence": [],
|
||||
"utterance_template_id": "magic-repair-v1"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected": {
|
||||
"episode_progress": ["transfer_pending"],
|
||||
"final_competency_id": "competency.rupture.impact-acknowledgement",
|
||||
"final_band": "consistent_local",
|
||||
"selected_prescription_id": "oas-g4-practice-repair-constrained"
|
||||
},
|
||||
"tags": ["memorized_phrase_hacking", "unseen_transfer_gate"],
|
||||
"forbidden_claims": ["동일 문구가 한 새 장면에서 작동한 것처럼 보여도 유연한 전이로 단정하지 않는다."]
|
||||
},
|
||||
{
|
||||
"case_id": "oas-g4-bench-004",
|
||||
"title_ko": "음성 재시도 후 새로운 사례에서 유연한 전이",
|
||||
"coaching_cards": [
|
||||
{
|
||||
"card_id": "oas-g4-card-voice-transfer",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"coach_claim": "속도를 낮추고 짧은 반영 뒤 확인 질문을 두어 내담자가 응답할 공간을 만든다.",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-card-scene",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 10,
|
||||
"actor": "runtime",
|
||||
"kind": "voice_feature"
|
||||
}
|
||||
],
|
||||
"source_refs": ["source-pack:voice-presence:v1"],
|
||||
"uncertainty": 0.24,
|
||||
"counterevidence": ["prosody_is_interaction_evidence_not_a_clinical_diagnosis"],
|
||||
"targets": [
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-voice-space",
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"criterion_id": "criterion.reflect-pause-check",
|
||||
"observable_behavior": "짧은 정서 반영 뒤 침묵을 허용하고 확인 질문을 한 번 사용한다.",
|
||||
"activity": {
|
||||
"mode": "voice_retry",
|
||||
"scenario_variant_id": "variant-voice-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"max_seconds": 35,
|
||||
"acoustic_focus": ["pace", "pause_after_reflection"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"graph": {
|
||||
"definitions": [
|
||||
{
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"label_ko": "반응 공간 만들기",
|
||||
"description": "말 속도와 침묵을 조절해 내담자가 자신의 반응을 표현할 공간을 만든다.",
|
||||
"prerequisite_ids": []
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"band": "unassessed",
|
||||
"forgetting_risk": 0.59,
|
||||
"uncertainty": 1.0,
|
||||
"attempt_count": 0,
|
||||
"familiar_demonstrations": 0,
|
||||
"unseen_transfer_demonstrations": 0,
|
||||
"highest_familiar_difficulty": 0,
|
||||
"evidence_refs": [],
|
||||
"counterevidence": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"episodes": [
|
||||
{
|
||||
"episode_id": "oas-g4-episode-voice-transfer",
|
||||
"prescription_id": "oas-g4-practice-voice-space",
|
||||
"attempts": [
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-voice-1",
|
||||
"prescription_id": "oas-g4-practice-voice-space",
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"sequence_no": 1,
|
||||
"scenario_variant_id": "variant-voice-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.reflect-pause-check",
|
||||
"status": "not_observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [],
|
||||
"counterevidence": ["no_pause_after_reflection"],
|
||||
"uncertainty": 0.25
|
||||
},
|
||||
"client_response": "withdrawn",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-a1-learner",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 11,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b004-a1-client",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 12,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.25,
|
||||
"counterevidence": ["voice_feature_not_yet_improved"],
|
||||
"utterance_template_id": "voice-rushed-v1"
|
||||
},
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-voice-2",
|
||||
"prescription_id": "oas-g4-practice-voice-space",
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"sequence_no": 2,
|
||||
"scenario_variant_id": "variant-voice-familiar",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 2,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.reflect-pause-check",
|
||||
"status": "observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-a2-eval",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 15,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"counterevidence": [],
|
||||
"uncertainty": 0.2
|
||||
},
|
||||
"client_response": "engaged",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-a2-learner",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 13,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b004-a2-client",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 14,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
},
|
||||
{
|
||||
"ref_id": "b004-a2-voice",
|
||||
"scene_id": "scene-voice-transfer",
|
||||
"turn_index": 13,
|
||||
"actor": "runtime",
|
||||
"kind": "voice_feature"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.2,
|
||||
"counterevidence": [],
|
||||
"utterance_template_id": "voice-space-v1"
|
||||
},
|
||||
{
|
||||
"attempt_id": "oas-g4-attempt-voice-3",
|
||||
"prescription_id": "oas-g4-practice-voice-space",
|
||||
"competency_id": "competency.presence.response-space",
|
||||
"sequence_no": 3,
|
||||
"scenario_variant_id": "variant-voice-unseen-resistant",
|
||||
"scenario_novelty": "unseen_transfer",
|
||||
"difficulty_level": 4,
|
||||
"criterion": {
|
||||
"criterion_id": "criterion.reflect-pause-check",
|
||||
"status": "observed",
|
||||
"source_kind": "observed_runtime",
|
||||
"perspective": "runtime_observation",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-a3-eval",
|
||||
"scene_id": "scene-voice-unseen-resistant",
|
||||
"turn_index": 3,
|
||||
"actor": "observer",
|
||||
"kind": "evaluator_decision"
|
||||
}
|
||||
],
|
||||
"counterevidence": [],
|
||||
"uncertainty": 0.24
|
||||
},
|
||||
"client_response": "explicit_alignment",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b004-a3-learner",
|
||||
"scene_id": "scene-voice-unseen-resistant",
|
||||
"turn_index": 1,
|
||||
"actor": "learner",
|
||||
"kind": "learner_behavior"
|
||||
},
|
||||
{
|
||||
"ref_id": "b004-a3-client",
|
||||
"scene_id": "scene-voice-unseen-resistant",
|
||||
"turn_index": 2,
|
||||
"actor": "client",
|
||||
"kind": "client_response"
|
||||
},
|
||||
{
|
||||
"ref_id": "b004-a3-voice",
|
||||
"scene_id": "scene-voice-unseen-resistant",
|
||||
"turn_index": 1,
|
||||
"actor": "runtime",
|
||||
"kind": "voice_feature"
|
||||
}
|
||||
],
|
||||
"uncertainty": 0.24,
|
||||
"counterevidence": [],
|
||||
"utterance_template_id": "voice-space-adapted-v2"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected": {
|
||||
"episode_progress": ["mastered"],
|
||||
"final_competency_id": "competency.presence.response-space",
|
||||
"final_band": "transfer_verified",
|
||||
"selected_prescription_id": "oas-g4-practice-voice-space"
|
||||
},
|
||||
"tags": ["unseen_transfer_gate", "genuine_transfer"],
|
||||
"forbidden_claims": ["운율 특징을 임상 상태나 성격 진단으로 해석하지 않는다."]
|
||||
},
|
||||
{
|
||||
"case_id": "oas-g4-bench-005",
|
||||
"title_ko": "문맥별 분기에서 목표 재합의 선택지 비교",
|
||||
"coaching_cards": [
|
||||
{
|
||||
"card_id": "oas-g4-card-context-branch",
|
||||
"scene_id": "scene-context-branch",
|
||||
"coach_claim": "내담자의 저항 의미가 다른 분기에서 목표 재합의 전략을 비교한다.",
|
||||
"evidence_refs": [
|
||||
{
|
||||
"ref_id": "b005-card-scene",
|
||||
"scene_id": "scene-context-branch",
|
||||
"turn_index": 5,
|
||||
"actor": "client",
|
||||
"kind": "scene_context"
|
||||
}
|
||||
],
|
||||
"source_refs": ["source-pack:goal-reagreement:v1"],
|
||||
"uncertainty": 0.3,
|
||||
"counterevidence": ["one_branch_cannot_establish_generalization"],
|
||||
"targets": [
|
||||
{
|
||||
"prescription_id": "oas-g4-practice-context-branch",
|
||||
"competency_id": "competency.goal.reagreement",
|
||||
"criterion_id": "criterion.select-context-fit-reagreement",
|
||||
"observable_behavior": "저항의 의미를 확인하고 그 맥락에 맞는 목표 재합의 발화를 선택한다.",
|
||||
"activity": {
|
||||
"mode": "branch",
|
||||
"scenario_variant_id": "variant-context-branch",
|
||||
"scenario_novelty": "familiar",
|
||||
"difficulty_level": 3,
|
||||
"branch_options": [
|
||||
"목표 자체를 다시 묻는다",
|
||||
"현재 과제의 이유를 공동 목표와 연결한다",
|
||||
"저항의 의미를 먼저 확인한다"
|
||||
],
|
||||
"client_responses_hidden": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"graph": {
|
||||
"definitions": [
|
||||
{
|
||||
"competency_id": "competency.goal.reagreement",
|
||||
"label_ko": "목표 재합의",
|
||||
"description": "불일치의 맥락을 확인한 뒤 목표를 내담자와 다시 합의하는 역량이다.",
|
||||
"prerequisite_ids": []
|
||||
}
|
||||
],
|
||||
"states": [
|
||||
{
|
||||
"competency_id": "competency.goal.reagreement",
|
||||
"band": "unassessed",
|
||||
"forgetting_risk": 0.48,
|
||||
"uncertainty": 1.0,
|
||||
"attempt_count": 0,
|
||||
"familiar_demonstrations": 0,
|
||||
"unseen_transfer_demonstrations": 0,
|
||||
"highest_familiar_difficulty": 0,
|
||||
"evidence_refs": [],
|
||||
"counterevidence": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"episodes": [],
|
||||
"expected": {
|
||||
"episode_progress": [],
|
||||
"final_competency_id": "competency.goal.reagreement",
|
||||
"final_band": "unassessed",
|
||||
"selected_prescription_id": "oas-g4-practice-context-branch"
|
||||
},
|
||||
"tags": ["contextual_branch"],
|
||||
"forbidden_claims": ["선택지 한 번의 성공을 숙련이나 전이로 표시하지 않는다."]
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue