Backend — result_shaping - xxriny/KNU-PROJECT GitHub Wiki

1. backend/result_shaping/init.py

라인 코드 설명
re-export shape_result, deep_sanitize

2. backend/result_shaping/result_shaper.py

라인 코드 설명
12–23 Pydantic 스키마 PMOverview, SAOverview, ProjectOverview — 정형화된 출력 모델
67–151 내부 빌더 _collect_skipped_phases(), _build_pm_overview(), _build_sa_overview(), _resolve_summary(), _build_priority_counts(), _build_layer_distribution(), _build_data_flags(), _compute_next_actions(), _build_project_overview()
189–231 shape_result() 파이프라인 원시 출력 → 프론트엔드 친화적 구조(pm_overview, sa_overview, project_overview)
232 deep_sanitize() to_serializable 호환 별칭

3. backend/result_shaping/sa_artifact_compiler.py

라인 코드 설명
14–31 compile_sa_artifacts() SA 페이즈 데이터 → 5종 산출물 컴파일(LLM 미사용)
32–56 _build_flowchart_spec() 위상 정렬 → 실행 단계 순서 그래프
57–123 _build_uml_component_spec() 레이어별 컴포넌트 + 인터페이스 + 관계
124–168 유틸 _data_quality(), _strip_module_prefix(), _match_container(), _normalize_layer_name()
169–319 _build_container_diagram_spec() container_config 기반 컴포넌트/외부시스템/연결 그래프
320–341 _build_interface_definition_doc() 인터페이스 계약 + 가드레일 문서
342–502 _build_decision_table() 역할·레이어·제한·액션 의사결정 테이블

4. backend/result_shaping/container_config.py

라인 코드 설명
3 LAYER_ORDER 레이어 순서 상수
6–69 CONTAINER_GROUPS 컨테이너 그룹 정의(Electron Shell, React UI, Python API 등)
70–95 CONTAINER_EDGES 컨테이너 간 연결(IPC, HTTP, process 등)
96–120 EXTERNAL_SYSTEM_SIGNALS 외부 시스템 시그널(Gemini API, ChromaDB, PyPI, File System)
121–148 LAYER_FALLBACK_CONTAINERS 레이어→기본 컨테이너 매핑