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 |
레이어→기본 컨테이너 매핑 |