마지막 업데이트 2026-07-22
PPI 모노레포의 주요 기능을 코드레벨 동작 흐름 관점에서 문서화하기 위한 마스터 백로그이자 진행 트래커. 신규 합류 개발자가 특정 서브시스템의 "어디서 시작해 무엇을 호출하는지"를 빠르게 파악하는 것이 목표.
n / 28)도 같이 갱신.
미작성 문서 없음 진행중 작성 중 완료 코드레벨 문서 존재 부분 관련 문서는 있으나 코드레벨 흐름 보강 필요
features/·architecture/에 이미 존재. 신규 작업 시 제외하거나 링크만 연결한다.
| 기능 | 문서 | 비고 |
|---|---|---|
| 아바타 RMS 립싱크 | features/아바타-RMS-립싱크-canvas-코드레벨-동작흐름.html 외 | 완료 |
| 오디오 분석 에이전트 | features/오디오-분석-에이전트-코드레벨-동작흐름.html 외 2편 | 완료 |
| MFCC 튜닝 / 기계음 영어 발화 감지 | features/MFCC-튜닝-변천사.html, 기계음 영어 발화 감지 로직 분석.html | 완료 |
| 리소스 다운로드 (Range·재시도) | features/리소스-다운로드-HTTP-Range-이어받기.html 외 | 완료 (다운로드 한정) |
| 아동 알림 프리셋 | features/아동-알림-프리셋-생성관리..., architecture/아동-알림-프리셋-동작-흐름.html | 완료 |
| 첫 발화 한국어 유도 / 회기 보고서 | features/첫 발화..., 회기-보고서-....html | 완료 |
| Redis 인프라 | architecture/PPI-879-redis-migration..., redis-troubleshooting-guide.html | 부분 이관·트러블슈팅. routerManager 소유권 흐름은 미커버(#5) |
| 카드뷰 세션 | features/카드뷰-세션-변천사.html | 부분 변천사(history). 코드레벨 아키텍처는 미커버(#13) |
| # | 기능 | 주요 파일 | 상태 |
|---|---|---|---|
| 1 | OpenAI Realtime 세션 매니저 client / audio | apps/web/hooks/use-session-manager.ts (~1,300L) | 완료 |
| 2 | Socket.io + mediasoup SFU 서버 (peer/room 라이프사이클) server | apps/socket/src/server.ts, sfu-socket/signalingHandler.ts | 완료 |
| 3 | 녹음 파이프라인 (mediasoup→ffmpeg→OGG→S3) server | apps/socket/src/recording/recordingManager.ts (1,653L) | 완료 |
| 4 | STT 배치 + 화자분리 + dedup/환각감지 (Go) stt | apps/stt/internal/{handler/websocket.go, stt/batch.go, diarization/speaker.go, stt/dedup.go} | 완료 |
| 5 | Router 매니저 / 크로스인스턴스 소유권 · router-sync server / redis | apps/socket/src/mediasoup/routerManager.ts, redis/room-store.ts | 완료 |
| # | 기능 | 주요 파일 | 상태 |
|---|---|---|---|
| 6 | 게스트/호스트 세션 릴레이 (핑퐁이 음성 guest→host) client / server | hooks/use-guest-session-relay.ts, use-host-session-relay.ts, socket session-handlers.ts | 완료 |
| 7 | 오디오 처리 체인 (Gate→EQ→Comp→Limiter DSP) client / audio | hooks/use-audio-processing-chain.ts | 완료 |
| 8 | AI 오디오 노이즈 가드 (버징/정적 CV·ZCR·PLC) client / audio | hooks/use-ai-audio-noise-guard.ts | 완료 |
| 9 | External STT 클라이언트 (WS 프로토콜·prebuffer·diarization 수신) client / stt | entities/guest-session/lib/external-stt-observer.ts, hooks/use-external-stt.ts | 완료 |
| 10 | mediasoup 클라이언트 producer/consumer + simulcast/layer client / webrtc | hooks/mediasoup/use-mediasoup-{producer,consumer}.ts, use-video-expansion.ts | 완료 |
| 11 | V1 레거시 P2P WebRTC (ICE restart·candidate buffering·reconnect) client / webrtc | hooks/use-web-rtc.ts, use-{guest,host}-media-manager.ts | 완료 |
| 12 | Activity 시스템 (템플릿·step 시퀀싱·jumpConfig·auto-finish) app | hooks/use-activity-templates.ts, lib/activity-utils.ts | 완료 |
| 13 | Monitor 대시보드 아키텍처 (카드/포커스/통합 코드레벨) app | app/monitor-dashboard/, stores/use-monitor-data-store.ts | 완료 |
| 14 | 세션 로그 시스템 (stt_dedup/verified·MFCC·캡션) app | components/pages/session-log.tsx, types/db/session-log.types.ts | 완료 |
| 15 | Meet/룸 + 호스트 세션 라이프사이클 + 입장 승인 app / server | components/pages/host.tsx, lib/lesson-session.*, socketSfu.ts | 완료 |
| 16 | Redis 인프라 (heartbeat·leader election·reaper) server / redis | apps/socket/src/redis/{reaper,reaper-scheduler,peer-store}.ts | 완료 |
| # | 기능 | 주요 파일 | 상태 |
|---|---|---|---|
| 17 | 볼륨 증폭기 (마이크 auto-gain) client / audio | hooks/use-volume-amplifier.ts | 완료 |
| 18 | STT 폴백 (Web Speech API) client / stt | hooks/use-stt-fallback.ts | 완료 |
| 19 | WebRTC 모니터링/통계 (getStats 해석) client | hooks/use-webrtc-monitoring.ts | 완료 |
| 20 | 호스트 모니터링 claim / 그룹 모니터링 server | apps/socket/.../monitoring-handlers.ts | 완료 |
| 21 | 화면 공유 (host→guest) client | hooks/use-screen-share.ts | 완료 |
| 22 | 리소스 캐싱/프리캐시/SW 전체 시스템 app | hooks/use-resource-cache.ts, use-resource-processing.ts | 완료 |
| 23 | Auth/세션/TURN·ICE 발급 app / server | app/api/{members,users}/auth, api/ice-servers, lib/auth-refresh.ts | 완료 |
| 24 | 언어 가드 설정 스토어 (draft/save·STT·MFCC·early-interrupt) app | stores/use-language-guard-settings-store.ts | 완료 |
| 25 | 게스트 입장 플로우 (디바이스·네트워크 품질·can-enter) app | components/pages/guest-entry.tsx, use-device-manager.ts | 완료 |
| 26 | STT 오디오 처리/세션 (Go: VAD·필터·turn history) stt | apps/stt/internal/{audio,session} | 완료 |
| 27 | 클래스 관리/스케줄링 app | app/main/class-mgmt, lib/class-group-utils.ts | 완료 |
| 28 | Shared 상수/타입 (이벤트·mediasoup config) shared | packages/shared/src/{utils,types} | 완료 |
features/아바타-RMS-립싱크-canvas-코드레벨-동작흐름.html·오디오-분석-에이전트-코드레벨-동작흐름.html 구조를 따른다 (증상/개요 → 진입점 → 코드 흐름 → 파일·라인 표 → 함정/주의).features/, 인프라/아키텍처는 architecture/.copy-for-claude.js + share-link.js 스크립트 포함, index.html 해당 카테고리에 등록 + count 갱신.