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 산출물은 커밋에서 제외했다.
3.3 KiB
3.3 KiB
G7 Multimodal Alliance 실제 통합 증거 — 2026-08-06
판정
로컬 실제 API(127.0.0.1:8014)와 개발 PostgreSQL에서 G7의 동의·오디오 시계·독립 측정·
보정 융합·역할 경계·철회·삭제 원장을 통과했다. 입력은 1.2초 synthetic WAV에서 계산한 메타데이터이며,
원음 바이트나 축어록 본문을 API 원장 또는 이 문서에 싣지 않았다.
- 실행기:
scripts/smoke-multimodal-alliance-api.py - 기계 판독 증거:
docs/ops/evidence/multimodal-alliance-live-api-2026-08-06.json - benchmark:
apps/api/app/data/multimodal_alliance_benchmark_g7.v1.json
실제 영속 식별자
- learner:
ed210cd6-b32f-4758-8ccf-6bc85fc07970 - session:
92631bf3-ebee-4c5b-aec0-d28ae498cb7a - consent snapshot:
d0d25930-42b7-4894-a5e4-9f0482074dbb - timeline:
74a76d59-0fc7-4efc-a26c-cfa62b2982af - audio asset metadata:
355ea278-aae3-4759-b608-8e710be609e2 - fusion records:
839c77ad-96ef-442d-8951-74c6989df86fc4dc7e0e-9588-4ba9-8f32-8239e825971fbe038390-cfd0-47b4-b9f4-3d3f869978c5
- withdrawal snapshot:
b40e5a0e-acf5-4ef8-935c-944a71da0972 - deletion requests:
- learner explicit:
64d742cc-6c17-46db-aa0b-a3a7dfe77924 - consent withdrawal:
dbed4464-ce58-5328-a336-064eebe37d6f
- learner explicit:
통과한 경계
- 내부 ingestion은 토큰 없음
401, 오토링 불일치403으로 DB acquire 전에 차단됐다. - 같은 submission 재시도는 동일 ID와
idempotent_replay=true, 내용 변경 재시도는409였다. - 한 오디오 시계에 word timestamp 2개와 silence/overlap/interruption/prosody 이벤트 4개가 정렬됐다.
- text와 voice 측정은 세 축에 각각 독립 원장으로 6개 저장됐다.
- benchmark의 음성 추가 이득 판정은
[true, false, false]였다. 이득이 없거나 음성이 오류인 경우 text-only로 보수적으로 내려갔다. - learner와 같은 cohort teacher는 안전 메타데이터를 읽었고, teacher 원음 접근은
403, 다른 cohort teacher의 세션 접근은404였다. - 응답에 raw transcript, utterance text, emotion label, diagnosis, total score가 없고
clinical_claim_allowed=false가 유지됐다. - 동의 철회 뒤 새 voice timeline ingestion은
409로 닫혔다. - learner 명시 삭제와 철회 연동 삭제를 모두 tombstone으로 완료했다. 이후 raw audio 목록은 비었고, word/event 및 voice measurement/fusion도 read model에서 제거됐다. transcript 보존 정책은 별도 유지됐다.
검증 명령
$token = 'g7-' + ('y' * 40)
C:\Users\encep\AppData\Local\Programs\Python\Python311\python.exe -X utf8 `
scripts\smoke-multimodal-alliance-api.py `
--api-base-url http://127.0.0.1:8014 `
--internal-token $token
실행 결과는 전 항목 통과였다. 별도 저장소 단위·DB 회귀는 G7 관련 97개 테스트를 통과했고,
scripts/smoke-multimodal-alliance-ledger.py도 실제 PostgreSQL에서 통과했다.
외부 환경 경계
이번 증거는 제품 원장과 HTTP 경계를 닫는 synthetic-audio 실증이다. 실제 Deepgram interim/final, 물리 마이크, 공개 WSS, 50분 양방향 장시간 운전은 기존 B2 음성 캐스케이드 외부 환경 게이트가 계속 소유한다. 이 항목을 로컬 synthetic 증거로 대체하거나 DONE으로 위장하지 않는다.