ff9146cfeed48b66bb1fb9daf7af528b642196f5
🚀 서버 정책 (Server Policy)
서버 구동 시 반드시 아래 명령어를 사용한다:
uvicorn server:app --host 0.0.0.0 --port 8000 --reload
- Host:
0.0.0.0(외부 접속 허용) - Port:
8000 - Reload: 코드 수정 시 자동 재시작 활성화
🤖 메일시스템 AI판단가이드 (AI Reasoning Guide)
AI는 파일을 분류할 때 단순한 키워드 매칭이 아닌, 아래의 5단계 통합 추론 모델을 사용하여 '실무자처럼' 생각하고 판단한다.
1단계: 전수 데이터 수집 (Holistic Reading)
- 무제한 스캔: 페이지 수에 관계없이 문서 전체를 전수 조사한다.
- 무조건적 OCR: 디지털 텍스트 유무와 상관없이 모든 페이지에 고해상도(300 DPI) OCR을 실행하여 이미지 속 도장, 수기, 표 데이터까지 완벽히 수집한다.
2단계: 파일명 가중치 적용 (Title Steering)
- 파일명 = 보관 의도: 사용자가 지은 파일명은 분류의 가장 강력한 '방향타'이다.
- 최종 조율: 본문의 데이터가 다른 도메인에 쏠려 있더라도, 파일명에 명확한 업무 용어(
실정보고,하도급등)가 있다면 이를 최종 분류의 가장 큰 무게추로 삼는다.
3단계: 문서의 물리적 틀(Format) 분석
- 공문 골격 확인: 문서의 시작(
수신/발신)과 끝(직인/끝.)의 구조를 확인한다. - 껍데기 vs 알맹이:
- 공문 본체: 골격이 완벽하고 뒤따르는 기술 데이터가 적은 경우 → [공사관리 > 공문]
- 첨부 본체: 공문 뒤에 대량의 산출서, 계약서, 도면이 붙어 있는 경우 → [해당 기술 카테고리] (공문은 전달 수단으로만 간주)
4단계: 비즈니스 도메인 상식 결합 (Common Sense)
- 지명 교차 검증: 파일명과 본문의 지명(어천, 공주, 대술, 정안 등)을 대조하여 정확한 프로젝트를 선택한다. (임의 기본값 지정 금지)
- 실무 맥락 매칭: '임대료/연장'은 사업비 성격의 '기타'로, '비계'는 '구조물'로 연결하는 등 건설 실무 상식을 추론에 반영한다.
5단계: 최종 지도 매칭 (Hierarchy Mapping)
- 수집된 모든 정보를 종합하여 사용자가 정의한 표준 분류 체계(Tab > Category > Sub) 지도 위에서 가장 논리적이고 실무적인 위치를 최종 확정한다.
프로젝트 관리 규칙
- 언어 설정: 영어로 생각하되, 모든 답변은 한국어로 작성한다. (일본어, 중국어는 절대 사용하지 않는다.)
- 수정 권한 제한: 사용자가 명시적으로 지시한 사항 외에는 절대 절대 절대 코드를 임의로 수정하지 않는다.
- 로그 기록 철저: 모달 오픈 여부, 수집 성공/실패 여부 등 진행 상황을 실시간 로그에 상세히 표시한다.
- 선보고 후승인: 모든 기능 수정 및 코드 변경 전에는 예상 방안을 먼저 보고하고, 사용자가 **'진행시켜'**라고 명령한 경우에만 작업을 수행한다.
🎨 디자인 가이드 (Design System)
이 프로젝트는 tokens.json에 정의된 디자인 시스템을 준수합니다.
1. 컬러 시스템 (Colors)
- Primary:
#1E5149(primary-lv-6) - 브랜드 핵심 컬러 - Background:
#FFFFFF(Light Default) /#F9FAFB(Light Muted) - Point Colors:
- Blue:
#0D8DF2(Info) - Green:
#4DB251(Success) - Red:
#F21D0D(Error) - Yellow:
#FFBF00(Warning)
- Blue:
- Special:
ai_color(Purple-Blue Gradient) - AI 관련 요소 전용
2. 타이포그래피 (Typography)
- Font Family:
Pretendard,sans-serif - Scale:
- H1: 20px / ExtraBold (pretendard-0)
- H2: 16px / SemiBold (pretendard-1)
- H3/H4: 14px / SemiBold or Regular
- Body/P: 12px / Regular (pretendard-2)
3. 레이아웃 및 간격 (Dimensions)
- Spacing Unit: Base 4px (xs: 4px, sm: 8px, md: 16px, lg: 32px, xl: 64px)
- Border Radius: sm: 4px, lg: 8px, xl: 16px
- Shadow:
0 8px 24px rgba(0,0,0,0.16)(box__drop-shadow)
4. 컴포넌트 규칙
- Buttons:
borderRadius.lg (8px)적용, Primary 배경색 사용 - Cards:
borderRadius.lg (8px)적용, Subtle Shadow 활용 - Topbar: Height 36px,
headercolor그라데이션 적용 가능
Description
Languages
JavaScript
29.4%
Python
24.9%
HTML
22.9%
CSS
22.8%