119 lines
6.4 KiB
JSON
119 lines
6.4 KiB
JSON
{
|
|
"evidence_id": "c-001-clinical-technical-preflight-2026-08-28",
|
|
"generated_at": "2026-08-28T12:04:06Z",
|
|
"base_commit": "081d9d70fb4a831412ceb937a976c9bb56906047",
|
|
"worktree_boundary": "이 증거는 아래 파일 해시와 081d9d70 런타임 패키지에 고정된 내부 기술 사전검증이다. 외부 임상 검토나 승인을 대신하지 않는다.",
|
|
"scope": "P1 합성 자살사고·자해 신호 훈련의 기계 판독 검토 패킷, 런타임 안전 상한, 공식 source pack",
|
|
"status": {
|
|
"technical": "verified",
|
|
"clinical": "pending_external_review",
|
|
"review_complete": false,
|
|
"case_count": 6,
|
|
"case_decisions_recorded": 0,
|
|
"case_assessment_fields_recorded": 0,
|
|
"youth_review_responses_recorded": 0,
|
|
"external_review_replaced": false
|
|
},
|
|
"clinical_approval": {
|
|
"reviewer": null,
|
|
"organization": null,
|
|
"reviewer_role_or_qualification": null,
|
|
"reviewed_at": null,
|
|
"decision": null,
|
|
"notes": null,
|
|
"evidence_ref": null,
|
|
"evidence_sha256": null,
|
|
"reviewed_protocol_version": null,
|
|
"reviewed_case_set_sha256": null
|
|
},
|
|
"verified_contracts": [
|
|
"실제 수련생의 현재적 위기 신호는 가상내담자 엔진 호출 전에 중단하고 109 안전자원을 반환한다.",
|
|
"가상내담자 출력의 구체적인 자살·자해 수단 또는 방법 상세는 차단하고 재생성한다.",
|
|
"DB 직접 로드, persona baseline, 이전 회기 carry-over, 회기 중 관측값과 출력 가드레일에서 ideation_stage를 1..3으로 제한한다.",
|
|
"pending_external_review에서는 열 개 승인값, 여섯 사례의 다섯 검토 필드, 청소년 특화 여섯 답변을 정확히 null로 유지한다.",
|
|
"approved, conditional, rejected 전이는 사례 판정·근거·수정 요구·재검토·검토일, 청소년 답변, 검토자·기관·자격·날짜·결정 근거, POSIX 증거 경로와 해시, 검토 버전과 사례 세트 해시가 일치할 때만 허용한다.",
|
|
"conditional 또는 fail 사례는 실제 수정 요구와 재검토 제출 조건 또는 일정을 기록해야 하며 수정 없음·재검토 불필요로 닫을 수 없다.",
|
|
"개선관리 워크북은 canonical checker 성공과 review_complete, 관찰 패키지 HEAD·작업트리 해시 일치를 함께 소비한다.",
|
|
"SAMHSA SAFE-T, NIMH Youth Outpatient BSSA, NICE NG225, 보건복지부 109의 source provenance를 고정한다."
|
|
],
|
|
"artifacts": [
|
|
{
|
|
"path": "apps/api/app/services/state_machine.py",
|
|
"sha256": "49e810eb98648ccb15acf6889d50b33009b713e3a49edd54043a83debb120cbe"
|
|
},
|
|
{
|
|
"path": "apps/api/app/services/guardrail.py",
|
|
"sha256": "b7c51c1084ee1b62b85b2ea25cb32cd381f9bdccabdd9b87d19f98588c7288ec"
|
|
},
|
|
{
|
|
"path": "apps/api/app/services/live_coach.py",
|
|
"sha256": "4af942f7b741e583aeabb22d878e3e63842ac920cdb1b85a72f9aeae82394756"
|
|
},
|
|
{
|
|
"path": "apps/api/app/services/orchestrator.py",
|
|
"sha256": "a5368e068e5eb7cb9b27ea06362ad16ae7cc66c1c8935b6ce04c8bec381c1692"
|
|
},
|
|
{
|
|
"path": "data/clinical/crisis-protocol-validation.json",
|
|
"sha256": "fa8796a2d1bb8a1391b12141eac39cc395100333d94b184c583e74d999e611dd"
|
|
},
|
|
{
|
|
"path": "data/clinical/crisis-protocol-validation.schema.json",
|
|
"sha256": "056bc6d9bb9e4f5b93a51a44628f8158651eecb37b467c84344e6e272ebfe7bc"
|
|
},
|
|
{
|
|
"path": "data/clinical/p1-crisis-review-cases.json",
|
|
"sha256": "4d34c2b1d30b94061b1c086246eb7ff4f24dfef42e6c1ba0815a756d721d5935"
|
|
},
|
|
{
|
|
"path": "data/clinical/p1-crisis-review-cases.schema.json",
|
|
"sha256": "0fb3c769324c1cb4651774297c669dfe9045a2d9aa7964b0c383e4cfde6332a0"
|
|
},
|
|
{
|
|
"path": "data/kb/live_coaching_sources/official_suicide_risk_guidelines.json",
|
|
"sha256": "d11ed587edfc26426dcb848d7dd55571dbb439eb65264490358a99128dd6ac5a"
|
|
},
|
|
{
|
|
"path": "scripts/check-clinical-crisis-review.py",
|
|
"sha256": "d7e881ce55c32a641e37f6e815bd4634a8f1bebecf6fe94f1629950f4f992944"
|
|
},
|
|
{
|
|
"path": "scripts/run-clinical-crisis-technical-observations.py",
|
|
"sha256": "4e1c62af4df056e18cdb7204128b5f3c5086e204941302fdced8045aa7a532d9"
|
|
},
|
|
{
|
|
"path": "docs/ops/evidence/c-001-crisis-case-runtime-observations-2026-08-28.json",
|
|
"sha256": "f023a9405c6ce6e4d41858420208d3f64da04070d0f3b2c0bca71ea15f2e7cb8"
|
|
},
|
|
{
|
|
"path": "docs/ops/clinical-crisis-protocol-review-2026-08-27.md",
|
|
"sha256": "49a3ad4a1328cd4dec27207e641d4c2dd695a0bd17817b732c9bc3479257f0b7"
|
|
},
|
|
{
|
|
"path": "outputs/01a04217-f73b-7303-b597-401fa7f5d290/Vignette_개선관리_완료.xlsx",
|
|
"sha256": "dbe847dfc61a772c4c27d603efee3fd624b4c85f0cd27aeb0cd3d25b594d4904"
|
|
}
|
|
],
|
|
"verification": [
|
|
{
|
|
"command": "py -3.11 -X utf8 scripts/check-clinical-crisis-review.py",
|
|
"result": "GREEN: pending_external_review, protocol 2026-08-28.1, case-set 2026-08-28.2, case_count=6, review_complete=false, external_review_replaced=false"
|
|
},
|
|
{
|
|
"command": "py -3.11 -B -X utf8 -m pytest -p no:cacheprovider scripts/test_check_clinical_crisis_review.py apps/api/app/test_client_reply_quality.py apps/api/app/test_live_coach_sources.py apps/api/app/test_state_machine_resistance.py apps/api/app/test_guardrail_ideation_cap.py apps/api/app/test_session_turn_persistence.py -q",
|
|
"result": "90 passed, 1 Starlette third-party deprecation warning, 0 failed"
|
|
},
|
|
{
|
|
"command": "py -3.11 -X utf8 scripts/run-clinical-crisis-technical-observations.py --generated-at 2026-08-28T12:04:06Z --output docs/ops/evidence/c-001-crisis-case-runtime-observations-2026-08-28.json",
|
|
"result": "6/6 technical pass; generate/stream event sequences pass; runtime package matches HEAD; external clinical decisions 0"
|
|
},
|
|
{
|
|
"command": "ruff check scripts/check-clinical-crisis-review.py scripts/test_check_clinical_crisis_review.py scripts/run-clinical-crisis-technical-observations.py apps/api/app/test_client_reply_quality.py",
|
|
"result": "All checks passed"
|
|
},
|
|
{
|
|
"command": "artifact-tool workbook rebuild, inspect, formula error scan, six-sheet render",
|
|
"result": "formula errors 0; summary complete=10, review=1, total=11; canonical gate pending-valid; PACKAGE_MATCH and WORKTREE_DRIFT 0/8; C-001 review_complete=false; six rendered sheets plus focused C-001 sections visually inspected; workbook sha256=dbe847dfc61a772c4c27d603efee3fd624b4c85f0cd27aeb0cd3d25b594d4904"
|
|
}
|
|
]
|
|
}
|