# Outcome OS G1·G4·G5·G7 자기주도 학습 통합 증거 — 2026-08-07 ## 판정 - G1 내부 제품 게이트는 종료했다. 첫 발화 전 수련생 기준을 fail-closed로 잠그고, 첫 대화 왕복 뒤에는 흐름을 막지 않는 30초 mid 점검을 제공한다. - G4/G5 처방 카드는 더 이상 URL 티켓에서 끝나지 않는다. 학습 홈이 처방 출처와 원본 내담자를 소비하고, 시작 전 화면과 새로 발급된 실제 세션 URL까지 동일 계약을 보존한다. - G7 원음 접근은 학습자·관리자만 인증 스트림으로 받을 수 있고, 교수자와 저장소 경로 노출을 차단한다. 동의 철회 시 플레이어와 원음 요청을 즉시 제거한다. - 물리 마이크·인증된 공개 WSS·실행된 50분 양방향 증거와 실제 공개 배포는 이 문서로 대체하지 않는다. ## G1 — 회기 전·중 자기점검 - `AllianceCheckpointPrompt`는 새 세션의 첫 발화 전에 goal/task/bond 3축을 모두 선택하고 append-only pre pulse를 잠글 때까지 텍스트·마이크 입력을 막는다. - 첫 왕복이 쌓인 뒤 mid 점검은 접힌 단일 배너로 나타나며 대화를 차단하지 않는다. 펼쳐 잠그거나 `대화 먼저 이어가기`로 닫을 수 있다. - 같은 payload 재전송은 같은 pulse ID의 멱등 응답, 변경 payload는 409, 타 학습자·타 cohort 접근은 404로 검증했다. - 데스크톱·모바일 focused E2E 2/2 통과. 캡처: - `evidence/g1-alliance-pre-chromium-desktop-2026-08-07.png` - `evidence/g1-alliance-mid-chromium-desktop-2026-08-07.png` - `evidence/g1-alliance-pre-chromium-mobile-2026-08-07.png` - `evidence/g1-alliance-mid-chromium-mobile-2026-08-07.png` - 실제 API/DB 근거: `evidence/alliance-pulse-live-hardening-2026-08-07.json`. ## G4/G5 — 처방에서 실제 회기까지 공통 실행 계약은 `launch`, `prescription`, `source_session`, `criterion`, `novelty`, `mode`를 보존한다. G5 transfer는 `suite`, `trial`을 추가하고 `novelty=unseen_transfer`를 강제한다. - G4: replay, branch, constrained response, voice retry, difficulty ladder 다섯 처방 모드가 학습자 전용 CTA를 만든다. - G5: 실패한 미지 transfer trial을 우선 선택하고 calibration 처방과 함께 넘긴다. - 학습 홈은 `source_session`의 내담자를 우선 선택하고, 연습 방식·장면 조건·성공 기준·원본 회기를 시작 전 한 장의 실행 브리핑으로 보여 준다. - Session은 같은 계약을 표시하고 `POST /sessions`가 발급한 새 session ID로 URL을 교체한 뒤에도 query를 보존한다. - 손상된 식별자·누락된 suite/trial·잘못된 novelty는 일반 연습으로 축약하지 않고 시작을 차단한다. - G4/G5 생산자 focused E2E 22/22, transfer 소비 2/2, 실제 session 생성 후 query 보존 2/2, G4/G5/G7/Session 통합 묶음 59/59를 통과했다. ## G7 — 역할 안전 원음과 재연습 - `GET /sessions/{session_id}/multimodal-alliance/raw-audio/{audio_asset_id}`는 private 저장소 root 아래 파일만 해석하고 경로 이탈·교수자 원음 접근을 차단한다. - raw-audio 목록 응답은 typed response로 `audio_ref`와 private 저장 경로를 직렬화하지 않는다. - 학습자 리뷰의 native audio player는 seek·stop·loading·error·스크린리더 상태를 제공하고, 동의 철회 즉시 unmount된다. - 선택 장면의 session/scene/type/start/end context가 학습 홈과 실제 Session까지 전달된다. 마이크는 사용자가 직접 켤 때만 시작한다. - backend raw-audio focused 12/12와 G7 Playwright desktop/mobile 14/14를 통과했다. ## 통합 회귀 - API: 767 passed, gateway: 45 passed. - OpenAPI TypeScript 재생성·동일성 검사, measurement contract, typecheck, production build 통과. - G4/G5/G7/Session desktop·mobile·single-run: 59/59. - 최신 코드 격리 API(`db=true`, `engine=true`)에 연결한 learner/session/layout visual gate: 37/37. - G1 pre/mid desktop·mobile focused: 2/2, 캡처 직접 검수 완료. - `git diff --check`와 clean-base release manifest 검사는 최종 릴리스 패치 재조립 단계에서 별도로 닫는다. ## 남은 외부 게이트 - G7: 물리 마이크, 인증된 공개 WSS, 실제 50분 양방향 장시간 실행, 운영 음성 보존·삭제 증명. - G8/AOS-011: owner secret 주입, 최신 release-only patch 실제 배포, public route/assets/API/auth/runtime 증명. - AOS-012: AOS-011이 끝난 뒤 최종 공개 증거를 SSOT에 반영하는 폐루프.