Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
5814e7a
feat(C1): Playwright 15 섹션 풀페이지 스크린샷 자동화
Knockcha Apr 22, 2026
785888b
feat(auth): JWT 발급·검증 모듈 + axios Bearer 자동 주입 scaffolding
Knockcha Apr 22, 2026
6cb0a2e
feat(C1): simulation_history 저장·필터·삭제 + Document ID 정식 발행번호
Knockcha Apr 22, 2026
6bd15d2
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 22, 2026
0304ba8
fix: 인구통계 unknown·경쟁업체 핀 범위·랭킹 경쟁 가중치 3건 수정
yezin013 Apr 22, 2026
a2e0156
fix: 포화도 임계값 교정·캐시 버전업·상세테이블 멀티동 적용
yezin013 Apr 22, 2026
edba6e5
IM3-241: ABM v12 + DB 정리 (simulation_history / customers / seoul_adst…
bat1120 Apr 22, 2026
2bcca7c
IM3-B2: SHAP 자연어 요약 + 폐업위험도 fc버그 수정 및 재학습
soooojinn-prog Apr 22, 2026
32e6745
Merge branch 'dev' into IM3-241-abm-simulation-and-db-cleanup
bat1120 Apr 22, 2026
ccf0de6
fix: 경쟁업체 핀 멀티동 수집 — asyncio.to_thread 전환 및 top_3 state 직접 읽기
yezin013 Apr 22, 2026
589157f
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 22, 2026
91c5d13
feat(abm): 공실 스팟 클릭 → ABM 시뮬 → 결과 오버레이 UX 복원
bat1120 Apr 22, 2026
0e7396d
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 22, 2026
a6fc829
Merge IM3-241: ABM 공실 스팟 클릭 UX 복원 + DB 정리
bat1120 Apr 22, 2026
25910b1
merge: origin/dev 충돌 해결 — ABM 공실 UX + 경쟁업체 멀티동 핀 통합
yezin013 Apr 22, 2026
35827eb
chore: TCN 34피처 스케일러 가중치 파일 추가
yezin013 Apr 22, 2026
c3958e1
Merge pull request #83 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 22, 2026
d3df57c
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 22, 2026
c489321
fix(alembic): Windows 한국어 로케일에서 psycopg2 DSN UnicodeDecodeError 회피
Knockcha Apr 22, 2026
0888f57
fix(api): /simulate 전용 axios timeout 10분으로 증가
Knockcha Apr 22, 2026
094c129
IM3-A2: RAG v3 — 파서 버그 수정, 커넥션 풀 확장, 벤치마크 리포트
bongbong-90 Apr 22, 2026
d4d8be7
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 22, 2026
0b284bf
fix: /simulate 응답 래퍼 언래핑 + DB pool 증액 (Redis 없을 때 안정성)
Knockcha Apr 22, 2026
12def36
fix(backend): .env 로딩 경로 명시 — cwd 불문 repo root .env 사용
Knockcha Apr 22, 2026
fa90b0f
IM3-B2: P1-C customer_revenue 개선 — 업종별 identified_ratio 딕셔너리 + 연도 피처
soooojinn-prog Apr 22, 2026
7990ff5
Merge branch 'feature_sj2' into dev — P1-C customer_revenue 개선
soooojinn-prog Apr 22, 2026
104741a
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 22, 2026
55822cf
IM3-A2: 법률 UI 한글화 + KPI 안전도 개선
bongbong-90 Apr 22, 2026
d29b9ee
Merge pull request #84 from Himidea-AI/bongbong2
bongbong-90 Apr 22, 2026
d04d6b1
fix(ui): 네비게이션 복귀 시 결과 유실 버그 + state 관리 규칙 R1~R5 적용
Knockcha Apr 22, 2026
5ece7ee
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 22, 2026
0958809
feat(C1): customer_revenue P1-C — 타겟 고객 프로필 입력 + §11.5 결과 섹션
Knockcha Apr 22, 2026
2c823e2
fix(C1): /simulate 실패 시 smart mock 제거 — 명시적 에러 토스트 + 입력 패널 복귀
Knockcha Apr 22, 2026
851eea9
feat(C1): "내 이력" 진입 경로 재설계 — /simulator 버튼 삭제, 상단 User 아이콘 + /hq 사이드바 탭
Knockcha Apr 22, 2026
4937f6c
Merge pull request #85 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
135a527
IM3-A2: 법률 등급 필수이행/확인필요/참고사항 통일 + 의무법률 danger 강제
bongbong-90 Apr 22, 2026
4d8ba0b
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 22, 2026
8d427ac
feat(C1): 동 선택 1~4개 제한 — 파이프라인 성능 + 차트 가독성
Knockcha Apr 22, 2026
6b0eae2
refactor(C1): dashboard mock 데이터 전면 제거 + "구현 예정" empty state 도입
Knockcha Apr 22, 2026
f990e49
IM3-A2: 법률 리스크 카드에 조문·체크리스트 표시 + 불필요 문서 삭제
bongbong-90 Apr 22, 2026
0dd258a
IM3-242, IM3-243: 매핑 및 API prefix 버그 수정 + brand_name 프론트 연결
bat1120 Apr 22, 2026
b1f69d0
IM3-241: ABM trajectory 인메모리 수집 + 프론트 맵 시각화 개선
bat1120 Apr 22, 2026
57fd008
Merge pull request #86 from Himidea-AI/IM3-242-bugfix-dong-code-and-a…
bat1120 Apr 22, 2026
9b3751c
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 22, 2026
c501b52
Merge pull request #88 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
beb5eda
fix: district_ranking winner 버그 수정 + IntegratedReport UI 개선
yezin013 Apr 22, 2026
63806b0
style(C1): 컬러 팔레트 통일 — amber→indigo, zinc→stone + HistoryFilter 커스텀 드롭다운
Knockcha Apr 22, 2026
acc8344
Merge pull request #89 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
bae7365
style(C1): 컬러 팔레트 치환 마무리 — App.tsx + pages 전체 잔여 amber/zinc 제거
Knockcha Apr 22, 2026
efcef50
Merge pull request #90 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
5ec5eea
revert+keep(C1): pages/ amber 복원, zinc→stone은 유지 — 메인 컬러 컨벤션 재정리
Knockcha Apr 22, 2026
b17c99d
style(C1): MetricCharts 경고 아이콘 색상 amber 복원
Knockcha Apr 22, 2026
0490836
Merge pull request #91 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
d96e489
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 22, 2026
c30d8ef
fix(C1): HeadlineBlock narrative/winner_district 불일치 감지 + mismatch 경고
Knockcha Apr 22, 2026
c1b5b62
fix(C1): IndicatorGrid 0/누락 값 시각 구분 — 점선 바 + "—" + amber ⚠ 경고
Knockcha Apr 22, 2026
29a622d
feat(backend): customer_revenue P1-C 통합 + 에러 fallback 스키마 일관성
Knockcha Apr 22, 2026
9efd4e2
fix(synthesis): narrative 기준동을 winner_district 로 — target_district 혼선 제거
Knockcha Apr 22, 2026
c9f495a
fix(district_ranking): min-max 정규화 floor 10 — "유동인구 0" 결측 혼선 제거
Knockcha Apr 22, 2026
e4ca117
Merge pull request #92 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
2d87911
feat(C1): IndicatorGrid 폐업률 추가 + PDF 5페이지 CustomerSegment
Knockcha Apr 22, 2026
815fa33
Merge pull request #93 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
72eed1f
Revert "fix(synthesis): narrative 기준동을 winner_district 로 — target_dis…
Knockcha Apr 22, 2026
3bb12b2
Merge pull request #94 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
4061daf
refactor(C1): PDF stats/insights 실데이터 기반 — 하드코딩 fallback 제거
Knockcha Apr 22, 2026
8f0d756
Merge pull request #95 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
3863759
Merge origin/dev into IM3-242-bugfix-dong-code-and-api-prefix
bat1120 Apr 22, 2026
9da50b9
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 22, 2026
50a1abf
feat(A1): 2-phase LangGraph 실행 + 사용자 선택 동 기반 winner 선정
yezin013 Apr 22, 2026
990134e
Merge pull request #96 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 22, 2026
70fee47
fix(A1): top_3_candidates도 사용자 선택 동 내로 제한 + 캐시 키 v6
yezin013 Apr 22, 2026
ffe2604
chore(C1): PR #96 후속 cleanup — dead code 제거 + unused var 정리 + History…
Knockcha Apr 22, 2026
c95f135
Merge pull request #97 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 22, 2026
4970687
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 22, 2026
db98eac
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 23, 2026
7be3eec
Merge pull request #98 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 23, 2026
de9b27d
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 23, 2026
8483424
Merge branch 'dev' of https://github.com/Himidea-AI/Final_Project int…
bat1120 Apr 23, 2026
ea69b37
feat(frontend): CommandBar에 사용자 선택 동 목록 표시
yezin013 Apr 23, 2026
2e0eb4e
fix(A1): main.py winner_district 강제 동기화 코드 완전 제거
yezin013 Apr 23, 2026
4768a1d
fix(A1): 응답에 target_districts 누락 추가 — CommandBar 선택 동 배지 표시
yezin013 Apr 23, 2026
162bd2f
fix(A1): district_rankings 정렬 — winner → 선택 동 → 미선택 동 순
yezin013 Apr 23, 2026
9c172d3
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 23, 2026
1fe8bef
Merge pull request #99 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 23, 2026
f661b31
refactor(frontend): Agent Attribution 섹션 제거 — 각 섹션에 에이전트 카드 분산
yezin013 Apr 23, 2026
74613fa
fix(frontend): AgentCard size compact → full — 각 섹션에 에이전트 상세설명 표시
yezin013 Apr 23, 2026
9f23d87
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 23, 2026
0708982
Merge pull request #100 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 23, 2026
d829730
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 23, 2026
f42b69f
fix(A1): TCN/SHAP 모델을 target_district 대신 winner_district 기준으로 실행
yezin013 Apr 23, 2026
ad5e5fc
fix(A1): customer_predict도 winner_district 기준으로 실행
yezin013 Apr 23, 2026
de33dc3
Merge branch 'dev' of https://github.com/Himidea-AI/Final_Project int…
bat1120 Apr 23, 2026
d2809de
Merge remote-tracking branch 'origin/dev' into IM3-202-프론트엔드-연동-최종-정합…
yezin013 Apr 23, 2026
9663cab
Merge pull request #101 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 23, 2026
643ab59
fix(C1): IntegratedReport 섹션 id 재매김 — 중복 section-12 해소 + Playwright 배…
Knockcha Apr 23, 2026
dffc5c9
Merge pull request #102 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 23, 2026
ed83cc2
feat(A1): TCN → synthesis 통합 — ML 실측 수치를 LLM 최종 리포트에 주입
yezin013 Apr 23, 2026
ed94c71
feat: synthesis 프롬프트 고도화 + customer_predict 제거 + SHAP Phase 2.5 통합
yezin013 Apr 23, 2026
65b34a9
merge: origin/dev 머지 + IntegratedReport 충돌 해결
yezin013 Apr 23, 2026
13bc9ce
Merge pull request #103 from Himidea-AI/IM3-202-프론트엔드-연동-최종-정합성-리테스트
yezin013 Apr 23, 2026
9eb7f69
feat(legal): RAG 벤치마크 v4 — F1-score 도입, semantic chunking, 벌칙 매핑
bongbong-90 Apr 23, 2026
144dca2
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 23, 2026
82700aa
fix(legal): 벌칙 매핑 함수 추출 + 캐시 경로 적용 + main.py 최종 변환 적용
bongbong-90 Apr 23, 2026
86f5ce9
Merge pull request #104 from Himidea-AI/bongbong2
bongbong-90 Apr 23, 2026
26a4c3c
Merge remote-tracking branch 'origin/dev' into IM3-242-bugfix-dong-co…
bat1120 Apr 23, 2026
ab6790b
IM3-242: seoul_district_sales 137 결측 역추적 복원 + docs 재구성
bat1120 Apr 23, 2026
f652ddb
Merge pull request #105 from Himidea-AI/IM3-242-bugfix-dong-code-and-…
bat1120 Apr 23, 2026
39105b5
docs(spec): 대시보드 시각화 가이드 적용 — 11종 차트 매핑 설계
Knockcha Apr 24, 2026
736524d
docs(plan): 시각화 가이드 11종 차트 구현 계획 (17 task)
Knockcha Apr 24, 2026
c08062d
feat(dashboard): TabbedDashboard v4.2 마이그레이션 — 15섹션 → 4탭 리디자인
Knockcha Apr 24, 2026
5cada67
feat(dashboard): WaterfallChart PoC — Recharts only SHAP 시각화
Knockcha Apr 24, 2026
2e214b7
feat(legal): 체크리스트 14개 법률 전체 커버 + Redis 리소스 정리 + checklist 응답 누락 수정
bongbong-90 Apr 24, 2026
581cc27
feat(dashboard): Sparkline 컴포넌트 (#4) — KPI 카드 미니 라인
Knockcha Apr 24, 2026
f5cc4d4
feat(dashboard): BulletChart 컴포넌트 (#3 #9) — 목표-실측 범위 시각화
Knockcha Apr 24, 2026
64986da
feat(dashboard): KpiMiniGrid에 Sparkline + Bullet slot 추가
Knockcha Apr 24, 2026
34911b4
feat(dashboard): EntrySignalLight (#10) — market_entry_signal 신호등
Knockcha Apr 24, 2026
541ef55
IM3-FIX: 팀장/매니저 시뮬레이션 저장 FK 제약 조건 위반 수정
qkdgur4 Apr 24, 2026
0c0d35b
feat(dashboard): CoreDemographicDonut (#5) — 주요 소비 연령대 share
Knockcha Apr 24, 2026
581999a
feat(dashboard): WeekdayWeekendBar (#6) — 주중/주말 비율 side-by-side
Knockcha Apr 24, 2026
d9ce325
Merge pull request #108 from Himidea-AI/feature/c2_bh
qkdgur4 Apr 24, 2026
eb11eac
feat(dashboard): StackedAgeBar (#2) — top_3_age_groups stacked H-bar
Knockcha Apr 24, 2026
9284508
feat(dashboard): AgentConfidenceRadar (#7) — 8 에이전트 신뢰도 Radar
Knockcha Apr 24, 2026
47e6890
feat(dashboard): FlowVsRevenueScatter (#8) — 16동 유동인구 vs 매출 산점도
Knockcha Apr 24, 2026
9b82fde
feat(dashboard): LegalDistributionBar (#11) — 법률 리스크 등급 분포
Knockcha Apr 24, 2026
b643eea
test(dashboard): WaterfallChart buildRows 단위 테스트 + buildRows export
Knockcha Apr 24, 2026
e265e29
feat(dashboard): ForecastTab SHAP → Waterfall 교체 + Closure Bullet 추가
Knockcha Apr 24, 2026
6344848
feat(dashboard): SummaryTab EntrySignalLight + 인구 구성 Collapsible + KP…
Knockcha Apr 24, 2026
6a0b66a
feat(dashboard): MarketTab Scatter + LegalDistributionBar 통합
Knockcha Apr 24, 2026
60ed6bc
feat(dashboard): InsightTab AgentConfidenceRadar overview 추가
Knockcha Apr 24, 2026
d234819
feat(dashboard): Track B #106 #107 forward-compat 분기 (자동 활성화)
Knockcha Apr 24, 2026
4deb7de
fix(auth): zombie 로그인 상태 제거 — production SPA 표준 플로우
Knockcha Apr 24, 2026
20fb541
feat(hq): 브랜드 설정 탭 2분할 — 프로필(작동) + AI 튜닝(Phase 2 로드맵)
Knockcha Apr 24, 2026
61e478b
IM3-CI: CI/CD 자동 배포 파이프라인 추가
qkdgur4 Apr 24, 2026
ed37f0d
IM3-242: Phase A+B 서울 전체 + SOTA/Tuning/Transfer Learning 종합 실험
bat1120 Apr 24, 2026
79335d9
Merge remote-tracking branch 'origin/dev' into IM3-242-bugfix-dong-co…
bat1120 Apr 24, 2026
2c14f10
Merge pull request #110 from Himidea-AI/feature/c2_bh
qkdgur4 Apr 24, 2026
774738b
feat(history): 시뮬 비교 트레이 — 최대 4건 side-by-side + PDF export
Knockcha Apr 24, 2026
a346895
IM3-CI: docker-compose 명령어 수정 (Amazon Linux 호환)
qkdgur4 Apr 24, 2026
b0c2063
Merge pull request #111 from Himidea-AI/feature/c2_bh
qkdgur4 Apr 24, 2026
60ca837
feat(history): 매니저 개인 활동성 대시보드 — 시뮬 이력 상단 요약 strip
Knockcha Apr 24, 2026
6bcb45b
feat(hq): LLM 토큰 번레이트 섹션 — LangSmith 실데이터 연동 준비 (#7)
Knockcha Apr 24, 2026
08aad99
IM3-252: operational_fit_scorer 도입 — Hansen + E2SFCA 기반 교통·집객 접근성 점수
bongbong-90 Apr 24, 2026
dca2ad3
feat(history): 이력 단건 PDF wiring — HiddenPDFTemplate 재활용 (5-page 풀리포트)
Knockcha Apr 24, 2026
d275227
feat(compare): 비교 PDF 품질 업그레이드 — A4 landscape hidden 템플릿
Knockcha Apr 24, 2026
e987a60
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 24, 2026
9b28b55
Merge branch 'IM3-252-a2-operational-fit-scorer' into bongbong2
bongbong-90 Apr 24, 2026
0667c35
feat(dashboard): Phase 1 헤더 디테일 정립 — cyan 포인트 컬러 도입
Knockcha Apr 24, 2026
907925f
feat(dashboard): Phase 2 DecisionCard 디테일 — italic 제목 + cyan 강조 다이아 +…
Knockcha Apr 24, 2026
2886f79
feat(dashboard): Phase 3 전역 텍스쳐 + KPI hover — 정보 밀도 감 상승
Knockcha Apr 24, 2026
70c1410
fix(dashboard): DecisionCard "근거" footer 클릭 시 설명 모달 오픈
Knockcha Apr 24, 2026
6402b75
merge: origin/dev 반영 — 팀원 커밋 3건 (C2 혁 인프라/백엔드 FK 수정)
Knockcha Apr 24, 2026
c9c97e1
IM3-252: operational_fit_scorer 에이전트 승격 — LangGraph 7번째 노드로 독립화
bongbong-90 Apr 24, 2026
b035e89
fix(insights): InsightsGrid 위험도 색띠 — tr border-l-4 → 첫 td 3px strip
Knockcha Apr 24, 2026
8717af0
feat(dashboard): 탭 4개 → 7개 구조 재편 (인구·고객 / 재무·수익성 / 법률·규제 신설)
Knockcha Apr 24, 2026
a67c760
feat(dashboard): Phase C Ultra-wide + 조종석 디테일 (대시보드 한정)
Knockcha Apr 24, 2026
babc0d8
fix(demographic): gender 영어 표시 → 한국어 매핑 (male→남성, female→여성)
Knockcha Apr 24, 2026
a6170c0
feat(dashboard): ABM 탭 신설 — v4.2 마이그레이션 때 누락된 기능 복원
Knockcha Apr 24, 2026
badd062
feat(forecast): PoC A — TCN 차트 시각 고도화 (레퍼런스 5종 통합)
Knockcha Apr 24, 2026
b7adc4a
feat(demographic): PoC B — StackedAgeBar hover dim 인터랙션
Knockcha Apr 24, 2026
9709b74
fix(financial): 폐업 위험도 바가 보이지 않던 문제 — risk_score 스케일 정규화
Knockcha Apr 24, 2026
65be300
fix(dashboard): mock/하드코딩 fallback 5종 일괄 제거 — 실데이터 원칙 준수
Knockcha Apr 24, 2026
7b757f9
fix(dashboard): 거짓 판정 5종 제거 — 데이터 부재 시 중립색/null/부분 명시
Knockcha Apr 24, 2026
59955d9
fix(B2): BEP 계산 사용자 입력값 연결 및 월매출 단위 수정
soooojinn-prog Apr 24, 2026
6b12c33
fix(B2): BEP 계산 사용자 입력값 연결 및 월매출 단위 수정
soooojinn-prog Apr 24, 2026
02c7dc0
IM3-FIX: 팀장/매니저 시뮬레이션 저장 FK 제약 조건 위반 수정
qkdgur4 Apr 24, 2026
8c27126
IM3-CI: CI/CD 자동 배포 파이프라인 추가
qkdgur4 Apr 24, 2026
1f37229
IM3-CI: docker-compose 명령어 수정 (Amazon Linux 호환)
qkdgur4 Apr 24, 2026
c70c51b
IM3-242: 그룹 A 4개 테이블 dong_code FK 추가 + 진단 도구
bat1120 Apr 25, 2026
3b7e967
Merge pull request #114 from Himidea-AI/IM3-242-bugfix-dong-code-and-…
bat1120 Apr 25, 2026
19161bf
IM3-243: B-2 그룹 dong_code FK 추가 (living_population_grid + seoul_adstr…
bat1120 Apr 25, 2026
3e42f9c
IM3-243: B-1 그룹 dong_code cleanup + FK (golmok_rent, mapo_resident_pop)
bat1120 Apr 25, 2026
8fe0621
docs(spec): TCN imputed vs original 매출 비교 학습 design 추가
bat1120 Apr 25, 2026
84fcc74
IM3-243: B-3 그룹 dong_code 마스터 + FK (서울 425동 + 법정동 399)
bat1120 Apr 25, 2026
5efce1e
feat(B2): BEP 월 단위 → 분기 단위 전면 전환 및 N분기 시뮬레이션 적용
soooojinn-prog Apr 25, 2026
575cbd3
feat(B2): BEP 월 단위 → 분기 단위 전면 전환 및 N분기 시뮬레이션 적용
soooojinn-prog Apr 25, 2026
5bba165
feat(B2): SHAP 리뷰 및 폐업위험도 TCN SHAP 추가
soooojinn-prog Apr 25, 2026
dea30ec
Merge branch 'feature_sj3' into dev
soooojinn-prog Apr 25, 2026
8a47cff
fix(A1): ABM 누락 모듈 복원 — archetypes + memory_seeder
bat1120 Apr 25, 2026
d79c092
feat(A1): ABM에 OFS dong score boost 인터페이스 추가 (Option E role-based)
bat1120 Apr 25, 2026
414c840
feat(A1): 공실 → ABM 가상 매장 주입 모듈 + 문서
bat1120 Apr 25, 2026
919bbb6
Merge remote-tracking branch 'origin/dev' into IM3-243-dong-fk-followup
bat1120 Apr 25, 2026
3c0b72b
Merge pull request #115 from Himidea-AI/IM3-243-dong-fk-followup
bat1120 Apr 25, 2026
4b00a6a
chore(A1): ABM validation 스크립트 정식 추가 (worktree 복사)
bat1120 Apr 25, 2026
c0fb8ca
IM3-252: 접근성 점수 버그 수정 + 회원 탈퇴 구현 + DB 감사 문서
bongbong-90 Apr 26, 2026
776ef87
feat(A1): ABM에 Nemotron 페르소나 + seoul_adstrd_flpop boost 통합
bat1120 Apr 26, 2026
da622d4
feat(A1): seoul_realtime_hotspots 실시간 적재 인프라 (cron)
bat1120 Apr 26, 2026
6567d62
docs(A1): ABM 모드별 테스트 매트릭스 + PSE N=5 검증 결과
bat1120 Apr 26, 2026
a6cadcc
feat(A1): Operational Fit Score (OFS) scorer + ABM 자동 주입
bat1120 Apr 26, 2026
04bb6c8
docs(A1): sim-mode-matrix Harness Engineering Phase 0~4 + OFS PSE 결과
bat1120 Apr 26, 2026
170df1e
feat(A1): vacancy_inject 카니발리제이션 + 동 평균 비교 + default boost
bat1120 Apr 26, 2026
3a7650c
docs(A1): vacancy-injection.md — cannibal/dong_compare API + sample s…
bat1120 Apr 26, 2026
7f1fd81
feat(A1): vacancy_pse — vacancy 평가에 PSE N=5 통합 (단일 seed noise 해결)
bat1120 Apr 26, 2026
d405501
docs(A1): 2026-04-26 회고 — ABM Product Iteration + Harness Engineering
bat1120 Apr 26, 2026
ee054b1
feat(A1): vacancy_evaluation_service — LangGraph state → ABM PSE 평가 + 순위
bat1120 Apr 26, 2026
4d74136
docs(A1): 카니발 PSE N=10 측정 결과 + retrospective 업데이트
bat1120 Apr 26, 2026
9d58d03
feat(A1): 동 단위 카니발 측정 + REST API 엔드포인트 (vacancy 평가 product화)
bat1120 Apr 26, 2026
ba589b1
fix(A1): vacancy_evaluation API mock 강제 + popularity_boost None 처리
bat1120 Apr 26, 2026
47de6ba
docs(A1): 회고 + vacancy-injection.md 문서화 완성 (누락 3건 보완)
bat1120 Apr 26, 2026
575e7cd
docs(A1): Phase 5/7 천장 push 시도 — 모두 실패, 진짜 baseline 갱신
bat1120 Apr 26, 2026
55509cd
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 27, 2026
a72b223
docs(A1): 1주 ABM 천장 push sprint 계획
bat1120 Apr 27, 2026
e8cd727
feat(dashboard): 백엔드 BEP 계산식 변경 + closure_risk lgbm/tcn 분리 반영
Knockcha Apr 27, 2026
7d11bae
Merge remote-tracking branch 'origin/dev' into feature_sj3
soooojinn-prog Apr 27, 2026
69e4465
merge: origin/dev 반영 — B2 BEP 분기 전환 + closure_risk TCN SHAP + IM3-242…
Knockcha Apr 27, 2026
df3efda
docs: CLAUDE.md에 DB 테이블 네이밍 규칙 추가
bongbong-90 Apr 27, 2026
98c91e2
Merge pull request #124 from Himidea-AI/bongbong2
bongbong-90 Apr 27, 2026
025f087
docs(api): 프론트 기준 API contract 입력 문서 (C2 협의용)
Knockcha Apr 27, 2026
a93b382
fix(api): market_report·comparison 폴백 거짓 양성 제거
Knockcha Apr 27, 2026
5ba9111
feat(dashboard): UI 디자인 4종 — KPI score / agent 색상 / Market 2:1
Knockcha Apr 27, 2026
88034ce
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 27, 2026
f1e88cc
Merge pull request #125 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 27, 2026
e8f69fc
refactor(viewmodel): SimResult ViewModel을 App.tsx에서 viewmodels/simRes…
Knockcha Apr 27, 2026
b5bce9f
perf(bundle): vendor chunk 분리 + dead deps 제거 (Phase B)
Knockcha Apr 27, 2026
dc30174
IM3-252: 프론트 API 계약 반영 및 응답 null 정책 정리
qkdgur4 Apr 27, 2026
ce99c79
Merge pull request #126 from Himidea-AI/feature/c2_bh
qkdgur4 Apr 27, 2026
20ab06e
refactor(landing): 마케팅 페이지 5개 추출 + React.lazy (Phase C Round 1)
Knockcha Apr 27, 2026
4d9f077
feat(A1): vacancy_pse 분기/연 단위 출력 추가 + 1주 sprint 결과 정리
bat1120 Apr 27, 2026
61ada58
refactor(components): PDF 묶음 + DashboardPanelView 묶음 추출 (Phase C Roun…
Knockcha Apr 27, 2026
f07e2d8
docs(A1): 1주 sprint 종합 정리 — Phase A/B/C/G 결과 + Product Pivot
bat1120 Apr 27, 2026
c2d4b82
refactor(components): 5개 보조 컴포넌트 + TransitionContext 추출 (Phase C Roun…
Knockcha Apr 27, 2026
2a08668
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 27, 2026
3af5360
fix+cleanup: code review 7건 — sticky gap / nullable / deps / lazy mou…
Knockcha Apr 27, 2026
9183e6e
fix(dashboard): sticky header 레이어 누수 차단 — solid bg + z-50
Knockcha Apr 27, 2026
f00a047
Merge branch 'dev' of https://github.com/Himidea-AI/Final_Project int…
soooojinn-prog Apr 27, 2026
651871a
fix(css): fadeSlideIn keyframe to-state translateY(0) → none
Knockcha Apr 27, 2026
44f85c0
docs(agents): AGENTS.md를 LSTM→TCN 전환 + 폐업위험도/BEP/인터페이스로 갱신
bat1120 Apr 27, 2026
9a54825
feat(B2): ExcludedComboError 차단 + is_mock 플래그 통일
soooojinn-prog Apr 27, 2026
3ee616e
IM3-243: TCN imputed vs original 매출 비교 학습 + 결과 리포트
bat1120 Apr 27, 2026
9863189
IM3-243: ABM 시뮬레이션 sprint + 마포 인구 이동 분석
bat1120 Apr 27, 2026
86ee62a
refactor(simulator): 입력 화면 12-grid cockpit 레이아웃 + ADVANCED 토글 제거
Knockcha Apr 27, 2026
2af25d9
Merge remote-tracking branch 'origin/dev' into IM3-243-dong-fk-followup
bat1120 Apr 27, 2026
44493da
Merge pull request #127 from Himidea-AI/IM3-243-dong-fk-followup
bat1120 Apr 27, 2026
d738a3a
fix(simulator): ADVANCED column 검은 박스 wrapper 제거 — 좌우 column 시각 균형
Knockcha Apr 27, 2026
a29345d
fix(simulator): 타겟 고객 프로필을 col-span-2 full-width row로 분리 (Step 2)
Knockcha Apr 27, 2026
d90cbe2
fix(simulator): 유동인구 가중치 토글 — 별도 박스로 시각 분리
Knockcha Apr 27, 2026
991c7c9
feat(simulator): 옵션 패널 UI/UX 개선 — Plan A+B 적용
Knockcha Apr 27, 2026
8630e59
docs(spec): Plan C 서브에이전트 분할 위임 design
Knockcha Apr 27, 2026
fbddf99
feat(simulator): Plan C 일괄 적용 — P1 + P2+P3 + 한국어 톤
Knockcha Apr 27, 2026
9f08806
fix(dashboard): DetailModal portal로 글로벌 header z-index 충돌 해결
Knockcha Apr 27, 2026
83b7e27
feat(api): closure_rate dict를 simulation 응답에 노출
Knockcha Apr 27, 2026
638a1b2
feat(dashboard): 11종 미구현 데이터 시각화 일괄 추가
Knockcha Apr 27, 2026
de53c43
Merge remote-tracking branch 'origin/dev' into feature/demographic-de…
Knockcha Apr 27, 2026
705f780
Merge pull request #128 from Himidea-AI/feature/demographic-depth-agent
Knockcha Apr 27, 2026
8aff8d1
feat(B2): C2 API 계약 반영 — simulation_quarters 통일 + BEP 40분기 + is_mock/…
soooojinn-prog Apr 27, 2026
3bd2b0b
IM3-252: 법률 RAG F1 0.272→0.660 고도화 + HyDE 하이브리드 + 정답지 v3
bongbong-90 Apr 27, 2026
7350e29
Merge pull request #130 from Himidea-AI/bongbong2
bongbong-90 Apr 27, 2026
7ce7ae2
feat(history): 팀장이 소속 매니저 시뮬레이션 이력 조회/삭제 가능
bongbong-90 Apr 28, 2026
bef7e85
Merge remote-tracking branch 'origin/dev' into bongbong2
bongbong-90 Apr 28, 2026
086433e
fix(B2): TCN 예측 매출 점포 1개 기준으로 환산 (store_count 나누기)
soooojinn-prog Apr 28, 2026
849ae17
fix(B2): closure_risk 스케일러 필수화 및 is_mock 로깅 분기 추가
soooojinn-prog Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,9 @@ LANGCHAIN_PROJECT=mapo-franchise-simulator
DEBUG=false
DEMO_MODE=false
EMBEDDING_MODE=openai

# === JWT ===
# 운영에선 반드시 강력한 랜덤 secret으로 교체 (예: `openssl rand -hex 32`)
JWT_SECRET_KEY=dev-only-not-secret-replace-in-prod
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=1440
193 changes: 193 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
name: "🚀 Deploy to Lightsail"

on:
# dev 브랜치 push 시 자동 배포
push:
branches: [dev]
paths-ignore:
- "docs/**"
- "*.md"
- ".github/workflows/auto-pr-title.yml"
- "notebooks/**"
- "tests/**"

# 수동 배포 트리거 (긴급 배포 또는 전체 재빌드)
workflow_dispatch:
inputs:
full_rebuild:
description: "전체 재빌드 (기본: 변경된 서비스만 빌드)"
required: false
default: "false"
type: choice
options:
- "false"
- "true"

# 동시 배포 방지 — 이전 배포가 진행 중이면 취소하고 최신 버전만 배포
concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: true

jobs:
deploy:
name: "🚢 Deploy to Production"
runs-on: ubuntu-latest
timeout-minutes: 20

steps:
# ──────────────────────────────────────────
# Step 1: 코드 체크아웃 (변경 감지용)
# ──────────────────────────────────────────
- name: "📋 Checkout"
uses: actions/checkout@v4
with:
fetch-depth: 2

# ──────────────────────────────────────────
# Step 2: 변경된 서비스 감지
# ──────────────────────────────────────────
- name: "🔍 Detect changes"
id: changes
run: |
# 첫 번째 커밋이거나 fetch-depth 문제 시 전체 빌드로 fallback
CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "all")
echo "--- 변경 파일 목록 ---"
echo "$CHANGED"
echo "----------------------"

# 수동 트리거 전체 재빌드 플래그
FULL="${{ github.event.inputs.full_rebuild }}"
if [ "$FULL" = "true" ] || [ "$CHANGED" = "all" ]; then
echo "frontend_changed=true" >> $GITHUB_OUTPUT
echo "backend_changed=true" >> $GITHUB_OUTPUT
echo "infra_changed=true" >> $GITHUB_OUTPUT
exit 0
fi

# 프론트엔드 변경 감지
if echo "$CHANGED" | grep -qE "^frontend/"; then
echo "frontend_changed=true" >> $GITHUB_OUTPUT
else
echo "frontend_changed=false" >> $GITHUB_OUTPUT
fi

# 백엔드/모델/데이터 변경 감지
if echo "$CHANGED" | grep -qE "^(backend/|models/|data/|validation/)"; then
echo "backend_changed=true" >> $GITHUB_OUTPUT
else
echo "backend_changed=false" >> $GITHUB_OUTPUT
fi

# 인프라(docker-compose) 변경 감지
if echo "$CHANGED" | grep -qE "^docker-compose"; then
echo "infra_changed=true" >> $GITHUB_OUTPUT
else
echo "infra_changed=false" >> $GITHUB_OUTPUT
fi

# ──────────────────────────────────────────
# Step 3: SSH로 Lightsail 배포
# ──────────────────────────────────────────
- name: "🚀 Deploy via SSH"
uses: appleboy/ssh-action@v1
env:
FRONTEND_CHANGED: ${{ steps.changes.outputs.frontend_changed }}
BACKEND_CHANGED: ${{ steps.changes.outputs.backend_changed }}
INFRA_CHANGED: ${{ steps.changes.outputs.infra_changed }}
with:
host: ${{ secrets.LIGHTSAIL_HOST }}
username: ${{ secrets.LIGHTSAIL_USER }}
key: ${{ secrets.LIGHTSAIL_SSH_KEY }}
envs: FRONTEND_CHANGED,BACKEND_CHANGED,INFRA_CHANGED
script_stop: true
command_timeout: 15m
script: |
set -e
cd ${{ secrets.DEPLOY_PATH }}

echo "📥 최신 코드 가져오기 (dev 브랜치)..."
git fetch origin dev
git reset --hard origin/dev

echo "🧹 Docker 미사용 리소스 정리..."
docker system prune -f --volumes=false

# ── 빌드 대상 결정 ──────────────────────
if [ "$INFRA_CHANGED" = "true" ]; then
echo "🏗️ 인프라 변경 감지 → 전체 재빌드"
docker-compose -f docker-compose.prod.yml up --build -d

elif [ "$FRONTEND_CHANGED" = "true" ] && [ "$BACKEND_CHANGED" = "true" ]; then
echo "🏗️ Frontend + Backend 변경 → 둘 다 재빌드"
docker-compose -f docker-compose.prod.yml up --build -d frontend backend

elif [ "$FRONTEND_CHANGED" = "true" ]; then
echo "🏗️ Frontend 변경 → Frontend만 재빌드"
docker-compose -f docker-compose.prod.yml up --build -d frontend

elif [ "$BACKEND_CHANGED" = "true" ]; then
echo "🏗️ Backend 변경 → Backend만 재빌드"
docker-compose -f docker-compose.prod.yml up --build -d backend

else
echo "⏭️ 배포 대상 없음 (docs/tests 변경만). 스킵."
exit 0
fi

# ── 헬스체크 ────────────────────────────
echo "⏳ 컨테이너 기동 대기 (20초)..."
sleep 20

echo "🔍 컨테이너 상태:"
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

echo "🏥 Backend /health 체크..."
SUCCESS=false
for i in 1 2 3 4 5; do
if curl -sf http://localhost:8000/health > /dev/null 2>&1; then
echo "✅ Backend 정상!"
SUCCESS=true
break
fi
echo " ⏳ 재시도 $i/5 (5초 후)..."
sleep 5
done

if [ "$SUCCESS" = "false" ]; then
echo "❌ Backend 헬스체크 실패! 최근 로그:"
docker logs mapo_backend_prod --tail 50
exit 1
fi

echo "🏥 Frontend 체크..."
if curl -sf http://localhost > /dev/null 2>&1; then
echo "✅ Frontend 정상!"
else
echo "⚠️ Frontend 응답 없음. 로그:"
docker logs mapo_frontend_prod --tail 20
fi

echo ""
echo "🎉 배포 완료! $(date '+%Y-%m-%d %H:%M:%S KST')"

# ──────────────────────────────────────────
# Step 4: 배포 요약 (Actions Summary 탭)
# ──────────────────────────────────────────
- name: "📊 Deployment Summary"
if: always()
run: |
STATUS="${{ job.status }}"
ICON="✅"
[ "$STATUS" != "success" ] && ICON="❌"

echo "## ${ICON} Deployment Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| 항목 | 값 |" >> $GITHUB_STEP_SUMMARY
echo "|------|-----|" >> $GITHUB_STEP_SUMMARY
echo "| 브랜치 | \`${{ github.ref_name }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| 커밋 | \`${{ github.sha }}\` |" >> $GITHUB_STEP_SUMMARY
echo "| 작성자 | ${{ github.actor }} |" >> $GITHUB_STEP_SUMMARY
echo "| 결과 | **$STATUS** |" >> $GITHUB_STEP_SUMMARY
echo "| Frontend 변경 | ${{ steps.changes.outputs.frontend_changed }} |" >> $GITHUB_STEP_SUMMARY
echo "| Backend 변경 | ${{ steps.changes.outputs.backend_changed }} |" >> $GITHUB_STEP_SUMMARY
echo "| 인프라 변경 | ${{ steps.changes.outputs.infra_changed }} |" >> $GITHUB_STEP_SUMMARY
57 changes: 57 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Git worktrees (평행 작업 디렉토리)
.worktrees/

# Python
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -68,3 +71,57 @@ scripts/jira_update.py

# Docker
*.log

# 검증 스크립트 임시 출력
backend/scripts/_*.txt
backend/scripts/verify/_*.txt

# ABM 시뮬 결과물 (재현 가능, 용량 큼 — 77MB+)
data/processed/sim_policy_*.json
data/processed/policy_cache_*.json
validation/results/imputed_seoul_sales_63ind.csv
validation/results/imputed_seoul_sales_63ind_v4.csv

# Phase B v4 미완성 산출물
validation/phase_b_v4.py
validation/results/phase_b_v4_metrics.json

# 대용량 imputed 매출 (GitHub 100MB 제한 초과)
data/processed/sales_imp_seoul.csv
data/processed/seoul_migration_mapo_202601.csv

# 대용량 데이터/임시 산출물 (push 거부 또는 repo 비대화 방지)
data/processed/processed.zip
data/processed/*.parquet
data/processed/seoul_realtime_hotspots_*.csv
data/processed/kakao_store_*.csv
data/processed/naver_vacancy_*.csv
data/processed/naver_trend_industry.csv
data/processed/seoul_district_sales_v3imputed.csv
data/processed/dong_subway_access.csv

# ABM 시뮬레이션 결과물 (재생성 가능, 용량 큼)
data/processed/sim_*.json
data/processed/sim_*.png
data/processed/sim_*.csv

catboost_info/
audit_result.txt

# 임시 디버깅/검증 파일 (repo에 들어가면 안 됨)
tmp_*.py
tmp_*.json
tmp_*.txt
tmp_*.png

# 모델 학습 산출물 (재현 가능, 용량 큼)
models/**/weights/*.pkl
validation/results/*.db
validation/results/imputed_mapo_*.csv

# Claude Code 로컬 설정 (frontend 하위)
frontend/.claude/

# 출처/용도 불명 디렉토리 (검토 후 commit 결정)
data/seoul_card/
test_frontend/
Loading