From 790da099b134645bbeb54ff09ad024f3049e6bef Mon Sep 17 00:00:00 2001 From: Claude-51124 Date: Sun, 23 Nov 2025 19:32:41 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Phase=202=20Step=203-4=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C=20=EC=83=81=ED=83=9C=20=EC=97=85=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Step 3: 폴더 구조 정리 완료 (brain/llm/memory/skills → services/) - Step 4: DB 접근 정리 완료 (SessionLocal 제거, repository 패턴 적용) - TDD 테스트 작성 및 통과 확인 --- ...b8001_계층_분리_리팩토링_계획.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/journey/plans/251123_rb8001_계층_분리_리팩토링_계획.md b/journey/plans/251123_rb8001_계층_분리_리팩토링_계획.md index 6a73eec..1af4795 100644 --- a/journey/plans/251123_rb8001_계층_분리_리팩토링_계획.md +++ b/journey/plans/251123_rb8001_계층_분리_리팩토링_계획.md @@ -91,6 +91,37 @@ rb8001의 중복 대화 저장 문제를 해결하고, FastAPI 구조 원칙(311 - 중복 저장 문제 해결 (services 레이어에서 한 번만 저장) - router.py 크기 927줄 → 366줄로 축소 +### Phase 2 Step 3: 폴더 구조 정리 (완료) + +**수정 완료:** +- app/brain/ → app/services/brain/ 이동 +- app/llm/ → app/services/llm/ 이동 +- app/memory/ → app/services/memory/ 이동 +- app/skills/ → app/services/skills/ 이동 +- 모든 import 경로 수정 (28개 파일) +- main.py의 skills import 경로 수정 + +**결과:** +- 서비스 레이어 통합 완료 +- import 경로 일관성 확보 + +### Phase 2 Step 4: DB 접근 정리 (완료) + +**수정 완료:** +- feedback_handler.py: SessionLocal 제거, repository 사용 + - handle_chat_feedback를 async로 변경 + - update_or_create_feedback를 async로 변경 (내부 Session 관리) + - get_conversation_by_id 추가 +- slack_handler.py: SessionLocal 제거, slack_repository 사용 + - get_team_uuid_by_slack_team_id 추가 + - 3곳의 SessionLocal 직접 호출 제거 +- intent_review_endpoint.py: FastAPI Depends 패턴 유지 (허용) + +**결과:** +- router/services에서 SessionLocal 직접 사용 제거 +- repository 패턴으로 통일 +- TDD 테스트 작성 및 통과 확인 + ### Phase 2: 계층 분리 리팩토링 (대규모) #### Step 1: 엔드포인트 분리