코드레벨 문서화 로드맵 — 기능별 백로그 / 진행 트래커 계획트래커

마지막 업데이트 2026-07-22

작성일: 2026-06-14 상태: ✅ 전체 완료 (28 / 28) · P0·P1·P2 모두 작성 완료 대상: 개발자 — 특정 기능의 코드레벨 동작 흐름 파악

목적

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)

P0  핵심 · 복잡 · 문서 부재 최우선

#기능주요 파일상태
1OpenAI Realtime 세션 매니저
client / audio
apps/web/hooks/use-session-manager.ts (~1,300L)완료
2Socket.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)완료
4STT 배치 + 화자분리 + dedup/환각감지 (Go)
stt
apps/stt/internal/{handler/websocket.go, stt/batch.go, diarization/speaker.go, stt/dedup.go}완료
5Router 매니저 / 크로스인스턴스 소유권 · router-sync
server / redis
apps/socket/src/mediasoup/routerManager.ts, redis/room-store.ts완료

P1  주요 서브시스템

#기능주요 파일상태
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완료
8AI 오디오 노이즈 가드 (버징/정적 CV·ZCR·PLC)
client / audio
hooks/use-ai-audio-noise-guard.ts완료
9External STT 클라이언트 (WS 프로토콜·prebuffer·diarization 수신)
client / stt
entities/guest-session/lib/external-stt-observer.ts, hooks/use-external-stt.ts완료
10mediasoup 클라이언트 producer/consumer + simulcast/layer
client / webrtc
hooks/mediasoup/use-mediasoup-{producer,consumer}.ts, use-video-expansion.ts완료
11V1 레거시 P2P WebRTC (ICE restart·candidate buffering·reconnect)
client / webrtc
hooks/use-web-rtc.ts, use-{guest,host}-media-manager.ts완료
12Activity 시스템 (템플릿·step 시퀀싱·jumpConfig·auto-finish)
app
hooks/use-activity-templates.ts, lib/activity-utils.ts완료
13Monitor 대시보드 아키텍처 (카드/포커스/통합 코드레벨)
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완료
15Meet/룸 + 호스트 세션 라이프사이클 + 입장 승인
app / server
components/pages/host.tsx, lib/lesson-session.*, socketSfu.ts완료
16Redis 인프라 (heartbeat·leader election·reaper)
server / redis
apps/socket/src/redis/{reaper,reaper-scheduler,peer-store}.ts완료

P2  보조 · 소규모

#기능주요 파일상태
17볼륨 증폭기 (마이크 auto-gain) client / audiohooks/use-volume-amplifier.ts완료
18STT 폴백 (Web Speech API) client / stthooks/use-stt-fallback.ts완료
19WebRTC 모니터링/통계 (getStats 해석) clienthooks/use-webrtc-monitoring.ts완료
20호스트 모니터링 claim / 그룹 모니터링 serverapps/socket/.../monitoring-handlers.ts완료
21화면 공유 (host→guest) clienthooks/use-screen-share.ts완료
22리소스 캐싱/프리캐시/SW 전체 시스템 apphooks/use-resource-cache.ts, use-resource-processing.ts완료
23Auth/세션/TURN·ICE 발급 app / serverapp/api/{members,users}/auth, api/ice-servers, lib/auth-refresh.ts완료
24언어 가드 설정 스토어 (draft/save·STT·MFCC·early-interrupt) appstores/use-language-guard-settings-store.ts완료
25게스트 입장 플로우 (디바이스·네트워크 품질·can-enter) appcomponents/pages/guest-entry.tsx, use-device-manager.ts완료
26STT 오디오 처리/세션 (Go: VAD·필터·turn history) sttapps/stt/internal/{audio,session}완료
27클래스 관리/스케줄링 appapp/main/class-mgmt, lib/class-group-utils.ts완료
28Shared 상수/타입 (이벤트·mediasoup config) sharedpackages/shared/src/{utils,types}완료

작성 가이드

✅ 로드맵 전체 완료 (28/28): 🟥 P0(#1~5) · 🟧 P1(#6~16) · 🟨 P2(#17~28) 모두 코드레벨 문서 작성됨. 이후 코드 변경 시 해당 문서를 갱신하고, 새 기능은 이 표에 항목을 추가해 관리한다.

관련 문서