Skip to content

feat: ABM 시뮬 UX 개선 + 가맹사업법 후보지 영업구역 평가 연계#186

Merged
bat1120 merged 1 commit into
devfrom
feat/abm-legal-spot-evaluations
May 4, 2026
Merged

feat: ABM 시뮬 UX 개선 + 가맹사업법 후보지 영업구역 평가 연계#186
bat1120 merged 1 commit into
devfrom
feat/abm-legal-spot-evaluations

Conversation

@bat1120

@bat1120 bat1120 commented May 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • ABM 시뮬 UX 다수 개선 (preview 300, agent drift 5배, action 시각 강화, competitor popup, vacancy_spots 동기화)
  • 가맹사업법 후보지 4곳 영업구역 침해 평가 (rank/level/summary) backend ↔ frontend end-to-end 연결
  • ABM Redis 캐시 TTL 1h→24h (재시뮬 비용 절감)
  • /dashboard/abm 라우트 차단 제거, sessionStorage→localStorage (결과 보존)

주요 변경

backend

  • nodes/legal.py: vacancy_spot_analysesspot_evaluations 가공, franchise_law risk 에 attach
  • legal/specialists.py: 사용자 정의 territory_radius_m 동적 반영
  • nodes/competitor_intel.py: winner 매물 좌표 기준 카니발 분석 + 캐시 v3→v4
  • main.py / abm_simulation_service.py: ABM 캐시 TTL 1h→24h, 로그 메시지 동기화

frontend

  • types/index.ts: LegalSpotEvaluation 타입 + LegalRisk.spot_evaluations 필드
  • InsightsGrid.tsx: 후보지 영업구역 침해 점검 카드 4개 (1등/2등/3등/4등 + danger/caution/safe)
  • AbmPersonaMap.tsx: preview 100→300, agent drift 5배, click hit-test 18px, 디버그 log 3개 제거
  • AgentMapVisualizer.tsx: competitor 라벨 → 클릭 popup + 비교반경원
  • AbmTab.tsx: vacancy_spots 상권분석 동기화, same_brand_locations 자사 매장 별도 marker
  • AbmFloatingWidget.tsx: /dashboard/abm 라우트 차단 제거
  • abmStore.ts: sessionStorage→localStorage

chore

  • .gitignore: _embedding_cache.pkl 추가
  • 세션 retrospective 로그

Test plan

  • dev 머지 후 cd backend && uvicorn src.main:app --reload 시작
  • cd frontend && npm run dev 시작
  • 시뮬 실행 → InsightsGrid 법률 탭에서 "후보지 영업구역 침해 점검" 카드 4개 표시 확인
  • franchise_law risk 클릭 시 LegalDrawer 정상 동작
  • ABM 시뮬 실행 → preview 300 페르소나 + Tier S dot click 시 PersonaCard 모달
  • 같은 spot 재시뮬 시 24h cache hit (응답 즉시 반환)
  • sessionStorage 클리어 후 localStorage 결과 유지 확인

🤖 Generated with Claude Code

backend:
- legal node: vacancy_spot_analyses → spot_evaluations (rank/level/summary) 가공,
  franchise_law risk 에 attach
- legal specialists: territory_radius_m 사용자 정의값 동적 반영
- competitor_intel: winner 매물 좌표 기준 카니발 분석 + 캐시 v3→v4
- main.py / abm_simulation_service: ABM Redis 캐시 TTL 1h→24h (재시뮬 비용 절감)
- main.py: cache SET 로그 메시지 ttl=86400s 동기화

frontend:
- types: LegalSpotEvaluation 타입 추가, LegalRisk.spot_evaluations 옵셔널 필드
- InsightsGrid: 후보지 영업구역 침해 점검 카드 4개 (rank/dong/level/summary) 추가
- AbmPersonaMap: preview 100→300, agent wandering drift 5배, action 별 시각 강화,
  click hit-test 18px, 디버그 console.log 3개 제거
- AgentMapVisualizer: competitor 라벨 숨김 → 클릭 popup + 비교반경원
- AbmTab: vacancy_spots 상권분석과 동기화 (winner 동만 score top4),
  same_brand_locations 자사 매장 별도 marker
- AbmFloatingWidget: /dashboard/abm 라우트 차단 제거 (시뮬 진행 중 widget 유지)
- abmStore: sessionStorage→localStorage (탭 닫음 후 결과 보존)

chore:
- .gitignore: backend/data/legal/processed/_embedding_cache.pkl 추가
- docs/retrospective/2026-05-04.md: 세션 로그

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bat1120 bat1120 merged commit 9f81395 into dev May 4, 2026
1 check passed
@bat1120 bat1120 deleted the feat/abm-legal-spot-evaluations branch May 4, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant