C-001 검토 증거를 갱신
This commit is contained in:
parent
081d9d70fb
commit
8e58e244ad
6 changed files with 55 additions and 55 deletions
|
|
@ -15,9 +15,9 @@
|
|||
> **개선관리 워크북(2026-08-28)** — C-002·C-003과 REQ-001~008은 내부 기술 구현 DONE이며 live clean
|
||||
> `2a396361…89c`/Pages `1f1ddf18…e646`, recovery task `99779a6a…fbc8`, generic Google callback,
|
||||
> 공개 P20 생성→응답→종료→평가 폐루프까지
|
||||
> 운영 실증했으므로 열린 백로그에 중복하지 않는다. C-001은 6개 합성 사례·스키마·상태별 판정기와 자동 안전
|
||||
> 게이트의 기술 사전검증까지 완료됐다. 사례별 외부 판정과 검토자·소속 기관·검토일·결정·증거/해시·검토본
|
||||
> 고정값이 없어 B4 외부 GATE로 유지하며, 전부 기록되기 전에는 완료로 닫지 않는다.
|
||||
> 운영 실증했으므로 열린 백로그에 중복하지 않는다. C-001은 v2 합성 사례 6건·상태별 canonical 판정기와 자동
|
||||
> 안전 게이트의 기술 사전검증까지 완료됐다. 사례별 5필드 30개·청소년 답변 6개·검토자 이름/소속/자격을 포함한
|
||||
> 승인 10필드와 서명 증거가 없어 B4 외부 GATE로 유지하며, `review_complete=true` 전에는 완료로 닫지 않는다.
|
||||
>
|
||||
> **Outcome & Alliance OS** — 2026-08-06 정식 전략 실행 트랙으로 승격했다. G0 Measurement Truth, G1
|
||||
> 현재 소스·실행 증거 재감사에서는 G0~G6과 G8이 DONE이다. G1 승격 prompt 1.2+read-skew/JSON 복구는 24/24 ready·방향 9/9·오류 0을 재확인했고, G0 census 29/29·위반 0, G4/G5 실제 API/DB/브라우저 폐루프, G6 safety metadata-only 최우선 runtime을 disposable clone에서 확인했다. G8은 실제 receipt-bound image rollback 2회(`nas-g8-723eeef2…`/`nas-g8-2738846c…`)에 더해 source HEAD `61a41d1f…6af`·tree `87dec55d…3b77`·archive `4d15d055…119d4d`의 candidate 112/112와 실제 NAS 평문 origin 112/112를 통과했다. 과거 `6030a677…c611`의 UUID 24건 실패와 후속 SHA 결함 rollback은 이력으로 보존하며 현재 완료 증거로 재사용하지 않는다. G7 Multimodal Alliance는 내부 구현 DONE과 외부 proof GATE를 분리한다. detached-clean public `a73bcd24…`·OpenAPI 126·`local_whisper`/`melotts` ready·authenticated WSS 무마이크 rehearsal까지 완료했고, 명시 동의 물리 마이크 3,120초·독립 라벨 voice-gain benchmark·동시 topology high-water를 추적한다. 외부 Deepgram/OpenAI adapter는 fallback으로 보존한다. G0~G8과
|
||||
|
|
@ -162,12 +162,12 @@
|
|||
## B4. 외부 거버넌스 — 한신대/데이터 steward 서면 증거
|
||||
|
||||
- [ ] **C-001 자살사고 케이스 위기 반응 프로토콜 임상 승인** — SAMHSA SAFE-T, NIMH Youth Outpatient
|
||||
BSSA, NICE NG225, 보건복지부 109를 반영했다. P1 합성 사례 6건·스키마·상태별 fail-closed 판정기와
|
||||
BSSA, NICE NG225, 보건복지부 109를 반영했다. P1 합성 사례 6건·v2 스키마·상태별 canonical fail-closed 판정기와
|
||||
런타임/carry-over/output `ideation_stage <= 3` 이중 방어를 포함한 기술 사전검증은 완료했다. 생성·스트림
|
||||
실제 경로 P1 6/6과 확장 경계 50건, 런타임 패키지 SHA 일치까지 확인했고, 개선관리 완료본의
|
||||
`C-001 외부검토` 시트는 외부 입력이 없으면 `검토`로 닫힌다. 사례별 판정,
|
||||
임상 검토자 이름·소속 기관·검토일·결정·서면 증거/해시·검토 프로토콜 버전·사례 세트 해시가 모두 기록되고
|
||||
판정기가 통과하기 전에는 완료로 닫지 않는다. 검토 원장:
|
||||
실제 경로 P1 6/6, focused 90 passed, 런타임 패키지·작업트리 SHA 일치까지 확인했고, 개선관리 완료본의
|
||||
`C-001 외부검토` 시트는 현재 `pending-valid`·`검토`다. 사례별 판정·근거·수정 요구·재검토·검토일 30개,
|
||||
청소년 특화 답변 6개, 임상 검토자 이름·소속 기관·자격·검토일·결정 근거·서면 증거/해시·검토 프로토콜 버전·
|
||||
사례 세트 해시가 모두 기록되고 canonical 판정기가 `review_complete=true`를 반환하기 전에는 완료로 닫지 않는다. 검토 원장:
|
||||
`docs/ops/clinical-crisis-protocol-review-2026-08-27.md`.
|
||||
- [ ] **한신대 데이터/SSO 거버넌스 게이트** — SSO claim mapping, 추가 축어록 수급, 미성년 원본 활용동의, 개인정보
|
||||
처리방침. 로컬 골격 `docs/ops/hanshin-data-governance-gate.md` 준비됨, 외부 서면 증거 필요. (소유자 보류 중.)
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
{
|
||||
"evidence_id": "c-001-clinical-technical-preflight-2026-08-28",
|
||||
"generated_at": "2026-08-28T11:20:32Z",
|
||||
"base_commit": "f63e12999b0248dfc3e71ec22c2a1b5549454934",
|
||||
"worktree_boundary": "이 증거는 아래 파일 해시와 f63e1299 런타임 패키지에 고정된 내부 기술 사전검증이다. 외부 임상 검토나 승인을 대신하지 않는다.",
|
||||
"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,
|
||||
|
|
@ -25,8 +30,10 @@
|
|||
"실제 수련생의 현재적 위기 신호는 가상내담자 엔진 호출 전에 중단하고 109 안전자원을 반환한다.",
|
||||
"가상내담자 출력의 구체적인 자살·자해 수단 또는 방법 상세는 차단하고 재생성한다.",
|
||||
"DB 직접 로드, persona baseline, 이전 회기 carry-over, 회기 중 관측값과 출력 가드레일에서 ideation_stage를 1..3으로 제한한다.",
|
||||
"pending_external_review에서는 모든 승인값과 여섯 사례의 검토 판정을 null로 유지한다.",
|
||||
"approved, conditional, rejected 전이는 사례 판정, 검토자·기관·날짜·증거 경로와 해시, 검토 버전과 사례 세트 해시가 일치할 때만 허용한다.",
|
||||
"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": [
|
||||
|
|
@ -48,19 +55,19 @@
|
|||
},
|
||||
{
|
||||
"path": "data/clinical/crisis-protocol-validation.json",
|
||||
"sha256": "122a6c19cb17cb0cfc6fae332cde0578579f3d98c77b67ec292ac268bd5ce60f"
|
||||
"sha256": "fa8796a2d1bb8a1391b12141eac39cc395100333d94b184c583e74d999e611dd"
|
||||
},
|
||||
{
|
||||
"path": "data/clinical/crisis-protocol-validation.schema.json",
|
||||
"sha256": "34f7484576763e5bbe788902268e59b85b86ee0e97a33990760f7118c90e847b"
|
||||
"sha256": "056bc6d9bb9e4f5b93a51a44628f8158651eecb37b467c84344e6e272ebfe7bc"
|
||||
},
|
||||
{
|
||||
"path": "data/clinical/p1-crisis-review-cases.json",
|
||||
"sha256": "1794092f755728dbbeeae3b237eaa1c47bfdd286b6b14b248d6c479fe5f9d744"
|
||||
"sha256": "4d34c2b1d30b94061b1c086246eb7ff4f24dfef42e6c1ba0815a756d721d5935"
|
||||
},
|
||||
{
|
||||
"path": "data/clinical/p1-crisis-review-cases.schema.json",
|
||||
"sha256": "fbc4b5b6eeee8f6ab1a91254cb7a385aa0437e18189c140d8272d2e396f2066e"
|
||||
"sha256": "0fb3c769324c1cb4651774297c669dfe9045a2d9aa7964b0c383e4cfde6332a0"
|
||||
},
|
||||
{
|
||||
"path": "data/kb/live_coaching_sources/official_suicide_risk_guidelines.json",
|
||||
|
|
@ -68,53 +75,45 @@
|
|||
},
|
||||
{
|
||||
"path": "scripts/check-clinical-crisis-review.py",
|
||||
"sha256": "451b1260b91d0f57b7b7edcbf2d9e05fcdc132298fd65c9edf8675c32d3d6e93"
|
||||
"sha256": "d7e881ce55c32a641e37f6e815bd4634a8f1bebecf6fe94f1629950f4f992944"
|
||||
},
|
||||
{
|
||||
"path": "scripts/run-clinical-crisis-technical-observations.py",
|
||||
"sha256": "f8f1f63b4c7bfc8548b54d298d4c9645e78ba5bd10b9e43fd15d08d21e90bebb"
|
||||
"sha256": "4e1c62af4df056e18cdb7204128b5f3c5086e204941302fdced8045aa7a532d9"
|
||||
},
|
||||
{
|
||||
"path": "docs/ops/evidence/c-001-crisis-case-runtime-observations-2026-08-28.json",
|
||||
"sha256": "38c8e40e29b607792857a13d919ec12375ef31c35d41c3661f560d31bce0a6e3"
|
||||
"sha256": "f023a9405c6ce6e4d41858420208d3f64da04070d0f3b2c0bca71ea15f2e7cb8"
|
||||
},
|
||||
{
|
||||
"path": "docs/ops/clinical-crisis-protocol-review-2026-08-27.md",
|
||||
"sha256": "f6caba3569eda25bb589f35c5a5e0277e792da0ba9032c47d4b786cf30dc7b23"
|
||||
"sha256": "49a3ad4a1328cd4dec27207e641d4c2dd695a0bd17817b732c9bc3479257f0b7"
|
||||
},
|
||||
{
|
||||
"path": "outputs/01a04217-f73b-7303-b597-401fa7f5d290/Vignette_개선관리_완료.xlsx",
|
||||
"sha256": "e7bf57486a31a060f38fd0b2f300b56872e12498b0d8055749f0caa92a56a4a5"
|
||||
"sha256": "dbe847dfc61a772c4c27d603efee3fd624b4c85f0cd27aeb0cd3d25b594d4904"
|
||||
}
|
||||
],
|
||||
"verification": [
|
||||
{
|
||||
"command": "py -3.11 -X utf8 scripts/check-clinical-crisis-review.py",
|
||||
"result": "GREEN: pending_external_review, protocol/case-set 2026-08-28.1, case_count=6, external_review_replaced=false"
|
||||
"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 -q",
|
||||
"result": "42 passed, 0 failed"
|
||||
"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 -B -X utf8 -m pytest -p no:cacheprovider apps/api/app/test_client_reply_quality.py apps/api/app/test_session_turn_persistence.py -q",
|
||||
"result": "55 passed, 1 third-party deprecation warning, 0 failed"
|
||||
},
|
||||
{
|
||||
"command": "py -3.11 -B -X utf8 -m pytest -p no:cacheprovider apps/api/app/test_state_machine_resistance.py apps/api/app/test_session_memory.py apps/api/app/test_persona_session_contract.py apps/api/app/test_orchestrator_masking.py apps/api/app/test_guardrail_ideation_cap.py -q",
|
||||
"result": "55 passed, 1 third-party deprecation warning, 0 failed"
|
||||
},
|
||||
{
|
||||
"command": "py -3.11 -B -X utf8 scripts/run-clinical-crisis-technical-observations.py --generated-at 2026-08-28T11:20:32Z",
|
||||
"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": "py -3.11 -B -X utf8 -m pytest -p no:cacheprovider three crisis boundary focused nodes -q",
|
||||
"result": "3 passed; fixed strong-positive, negation, meta, third-party, and mixed-context matrix 50/50; 1 third-party deprecation warning"
|
||||
"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; PACKAGE_MATCH and WORKTREE_DRIFT 0/8; C-001 external review gate remains pending; six rendered sheets visually inspected; workbook sha256=e7bf57486a31a060f38fd0b2f300b56872e12498b0d8055749f0caa92a56a4a5"
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"schema_version": "vignette.p1_crisis_technical_observations.v2",
|
||||
"generated_at": "2026-08-28T11:20:32Z",
|
||||
"base_commit": "f63e12999b0248dfc3e71ec22c2a1b5549454934",
|
||||
"generated_at": "2026-08-28T12:04:06Z",
|
||||
"base_commit": "081d9d70fb4a831412ceb937a976c9bb56906047",
|
||||
"runtime_package": {
|
||||
"provenance_commit": "f63e12999b0248dfc3e71ec22c2a1b5549454934",
|
||||
"provenance_commit": "081d9d70fb4a831412ceb937a976c9bb56906047",
|
||||
"matches_head": true,
|
||||
"files": [
|
||||
{
|
||||
|
|
@ -23,12 +23,12 @@
|
|||
},
|
||||
{
|
||||
"path": "data/clinical/crisis-protocol-validation.json",
|
||||
"sha256": "122a6c19cb17cb0cfc6fae332cde0578579f3d98c77b67ec292ac268bd5ce60f",
|
||||
"sha256": "fa8796a2d1bb8a1391b12141eac39cc395100333d94b184c583e74d999e611dd",
|
||||
"matches_head": true
|
||||
},
|
||||
{
|
||||
"path": "data/clinical/p1-crisis-review-cases.json",
|
||||
"sha256": "1794092f755728dbbeeae3b237eaa1c47bfdd286b6b14b248d6c479fe5f9d744",
|
||||
"sha256": "4d34c2b1d30b94061b1c086246eb7ff4f24dfef42e6c1ba0815a756d721d5935",
|
||||
"matches_head": true
|
||||
},
|
||||
{
|
||||
|
|
@ -38,12 +38,12 @@
|
|||
},
|
||||
{
|
||||
"path": "scripts/check-clinical-crisis-review.py",
|
||||
"sha256": "451b1260b91d0f57b7b7edcbf2d9e05fcdc132298fd65c9edf8675c32d3d6e93",
|
||||
"sha256": "d7e881ce55c32a641e37f6e815bd4634a8f1bebecf6fe94f1629950f4f992944",
|
||||
"matches_head": true
|
||||
},
|
||||
{
|
||||
"path": "scripts/run-clinical-crisis-technical-observations.py",
|
||||
"sha256": "f8f1f63b4c7bfc8548b54d298d4c9645e78ba5bd10b9e43fd15d08d21e90bebb",
|
||||
"sha256": "4e1c62af4df056e18cdb7204128b5f3c5086e204941302fdced8045aa7a532d9",
|
||||
"matches_head": true
|
||||
}
|
||||
]
|
||||
|
|
@ -51,8 +51,8 @@
|
|||
"case_set": {
|
||||
"path": "data/clinical/p1-crisis-review-cases.json",
|
||||
"id": "p1-crisis-review-cases",
|
||||
"version": "2026-08-28.1",
|
||||
"sha256": "1794092f755728dbbeeae3b237eaa1c47bfdd286b6b14b248d6c479fe5f9d744"
|
||||
"version": "2026-08-28.2",
|
||||
"sha256": "4d34c2b1d30b94061b1c086246eb7ff4f24dfef42e6c1ba0815a756d721d5935"
|
||||
},
|
||||
"boundary": "결정론적 기술 안전 관찰이며 임상 정답, 실제 내담자 평가, 외부 임상 검토 또는 승인을 대체하지 않는다.",
|
||||
"summary": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue